Compare commits

..

893 Commits

Author SHA1 Message Date
0849e03d1b Merge pull request #1490 from akohlmey/next_version
Step version number for stable release
2019-06-04 15:23:13 -04:00
045c312c49 Merge pull request #1489 from akohlmey/cmake-2.8-compatibility
Change test for OpenMP default setting to be compatible with CMake 2.8.x
2019-06-04 11:03:22 -04:00
47c6cd86f2 Merge pull request #1477 from jrgissing/bond/react-reaction_topology_overflow
Implement fix bond/react reaction topology overflow checks
2019-06-04 11:02:57 -04:00
27cd78b96d Merge pull request #1488 from akohlmey/doc-removed-features
Document removed features
2019-06-03 22:58:20 -04:00
dd97a7540e Merge pull request #1486 from sstrong99/patch-1
Fix error in E3B documentation
2019-06-03 22:58:02 -04:00
272c536326 use 3 letters for month only 2019-06-03 22:52:40 -04:00
0b13fbe733 step version number for stable release 2019-06-03 22:47:44 -04:00
021f0c1fc6 use consistent variable evaluation in if() 2019-06-03 19:50:48 -04:00
5d96ecff25 fix typo 2019-06-03 19:44:40 -04:00
c76b79f021 chance test for OpenMP default setting to be compatible with CMake 2.8.x 2019-06-03 19:36:28 -04:00
a981626948 mention restart2data as removed feature as well 2019-06-03 09:01:22 -04:00
5f79a9ef80 mention dummy commands with error messages that have been added instead of removed commands 2019-06-02 21:51:06 -04:00
674e3975a8 add section to the Commands chapter listing and explaining removed packages and styles 2019-06-02 21:47:29 -04:00
d0286b3de1 remove mention of USER-CUDA package and fix typo 2019-06-02 20:19:17 -04:00
983f3adbb4 bond/react doc final touches 2019-06-02 12:35:38 -06:00
58a88dff95 bond/react doc correction 2019-06-02 12:10:43 -06:00
0ba38aa072 bond/react doc tweak 2019-06-02 12:05:01 -06:00
2e63280f87 Update fix_bond_react.txt 2019-06-02 11:54:31 -06:00
68eab23cf8 bond/react: doc clarification 2019-06-01 16:24:37 -06:00
6175f2dce8 Fix error in E3B documentation 2019-05-31 15:03:04 -05:00
dc1e31506e Merge pull request #1480 from akohlmey/next_version
Step version string for next release
2019-05-31 14:40:13 -04:00
68d69955d0 fix off-by-one error 2019-05-31 14:38:12 -04:00
5f657b9184 step version string for next release 2019-05-31 14:37:31 -04:00
3e4fd3dade Merge pull request #1484 from akohlmey/reneighbor-64-bit-restart-fix
Restart updates for fixes atom/swap, deposit, and gcmc
2019-05-31 13:05:53 -04:00
3e05b983c1 Merge pull request #1483 from akohlmey/cmake-workaround-for-gcc-9
Do not enable OpenMP by default for gcc 9.x with CMake
2019-05-31 13:05:37 -04:00
d8a30a9697 Merge pull request #1475 from akohlmey/collected-small-changes
Collected small changes for stable release
2019-05-31 13:05:21 -04:00
972a7a5c4d add false positive for spell checking 2019-05-31 05:58:47 -04:00
311aebf7ff Update Errors_warnings.txt 2019-05-30 23:30:35 -06:00
16a254f6bd Update Errors_messages.txt 2019-05-30 23:29:43 -06:00
80d906d445 bond/react: update error messages 2019-05-30 23:27:23 -06:00
8b169d97f5 update documentation for updates to fix restarting 2019-05-31 00:58:10 -04:00
f73c848ee4 detect and error out when timestep was reset when restarting fixes atom/swap, gcmc, or deposit 2019-05-31 00:31:36 -04:00
4243af30d7 properly store 64-bit integers for next_reneighbor into double type buffers for restarts of fixes
also store number of attemps and number of successes in restart and retrieve those from it
2019-05-31 00:23:12 -04:00
9d51ee17b0 change the default for gcc 9.x and beyond to not enable OpenMP by default even if it is found to be supported
this is so that using CMake by default will compile LAMMPS, since gcc 9.x
expects different sharing semantics for constants than previous versions.
2019-05-30 22:23:50 -04:00
c903a110fe fix typo 2019-05-30 18:36:09 -04:00
02e7dd5716 also allow %e in format variables of suffix 2019-05-30 14:52:26 -04:00
1a5c3c6dcb add check that allows only %f and %g conversions in variable format strings 2019-05-30 14:46:07 -04:00
daac3f7102 Merge pull request #1419 from akohlmey/report-uninstalled-pkg-style
Improved error messages when a style is not found
2019-05-30 06:34:56 -04:00
3bf0a4ba63 Merge pull request #1474 from stanmoore1/nl_mem
Don't reallocate views every time in neigh_bond_kokkos
2019-05-30 06:30:54 -04:00
9cc16c4f33 Merge pull request #1479 from akohlmey/fixup_pair_quip
Correctly and fully support pair style hybrid and hybrid/overlay for pair style quip
2019-05-30 06:30:10 -04:00
8dcd6fc48c provide alternative to gettimeofday() for MSVC compilation 2019-05-29 20:13:26 -04:00
a48f1cbf00 fix spelling error 2019-05-29 20:07:00 -04:00
d3cbccff35 whitespace cleanup 2019-05-29 14:42:18 -04:00
29d36ffec0 error out when not using metal units with QUIP 2019-05-29 14:40:09 -04:00
fec2f8f69b update docs for fully supporting hybrid styles 2019-05-29 14:39:45 -04:00
c0cfceb95c fix off-by-one errors 2019-05-29 14:03:00 -04:00
12fcf5f5ef properly set up pair style quip for hybrid and hybrid/overlay 2019-05-29 14:00:33 -04:00
cb8d89855d remove limitation to hybrid/overlay 2019-05-29 13:59:51 -04:00
c8d50c04a4 avoid memory leak and initialize class member pointers 2019-05-29 10:12:24 -04:00
e3e5a962b0 bond/react memory: correctly delete internal groups
internally-created groups should be deleted when unfixing bond/react
groups should not be deleted when LAMMPS exits (because they already have been)
2019-05-28 21:40:01 -06:00
e133c60ff5 bond/react docs: better English 2019-05-26 20:28:28 -06:00
97be57be7b additional topology overflow check for reactions 2019-05-26 15:53:49 -06:00
5523c9e7f6 Merge pull request #48 from lammps/master
rebase
2019-05-26 15:42:13 -06:00
e82e1c695a correct links in package documentation 2019-05-24 19:45:48 -04:00
2ee02cfadd Don't reallocate views every time in neigh_bond_kokkos 2019-05-24 11:27:09 -06:00
cfad0634ac Merge pull request #1465 from akohlmey/collected-minor-changes
Collected small changes and bugfixes
2019-05-21 16:55:19 -04:00
bd05228c71 Merge pull request #1464 from akohlmey/group-group-coord-num
Add option to restrict coordination number by group
2019-05-21 16:55:05 -04:00
0f1e4b0504 Merge pull request #1467 from stanmoore1/eam_kk
Fix bug in pair_style eam/alloy/kk and pair_style eam/fs/kk
2019-05-21 16:54:51 -04:00
d0c6484fb0 add false positive 2019-05-20 15:15:51 -04:00
0349e9fee9 update/correct list of example folders 2019-05-20 15:08:33 -04:00
55116db8fb avoid segfault and print more meaningful error message with empty lines in coeff sections 2019-05-20 14:15:04 -04:00
1041934568 Fix bug in pair_eam_alloy_kokkos and pair_eam_fs_kokkos 2019-05-20 10:01:40 -06:00
50082c287d sphinxcontrib-spelling has been updated for Sphinx 2.x. remove enforcing to use old version 2019-05-18 15:41:38 -04:00
e3823a521c remove leftover references to removed MEAM package 2019-05-18 15:36:13 -04:00
35bb2ac2a3 fix typo 2019-05-18 09:25:20 -04:00
c7eb9a8626 there really isn't a problem with calling this compute multiple times 2019-05-17 15:26:35 -04:00
fb8d31422d fix typo 2019-05-16 09:06:17 -04:00
27a2d0cbd4 add option to restrict coordination number by group 2019-05-16 08:55:03 -04:00
7b264d35fa remove dead code 2019-05-15 14:53:51 -04:00
267782d689 Merge pull request #1459 from akohlmey/next-patch-release
Step version string for next patch release
2019-05-14 21:30:28 -04:00
f2b293d93b Merge pull request #1460 from akohlmey/collected-small-changes
Some more small changes
2019-05-14 17:55:36 -04:00
6e842ba84a fix typo 2019-05-14 17:36:26 -04:00
30dc7f70b5 correct repeated words in docs 2019-05-14 17:13:46 -04:00
98702cc0b9 Merge pull request #1461 from lammps/doc-tweak-hyper
add missing formatting info
2019-05-14 17:10:23 -04:00
67532684f9 add missing formatting info 2019-05-14 14:02:54 -06:00
2c51511325 update logfiles for SPIN package with cubic anisotropy 2019-05-14 15:49:41 -04:00
1d5ada136a should set one_coeff flag to 1 in potentials requiring 'pair_coeff * *' 2019-05-14 15:24:37 -04:00
4a4dcef7b7 whitespace cleanup in pair style e3b 2019-05-14 15:24:37 -04:00
4dc90b367e Merge pull request #1458 from wmbrownIntel/user-intel-bigbig
USER-INTEL: Changes to support LAMMPS_BIGBIG in USER-INTEL + fixed check for per-atom virials + fixed check for exclusion with offload.
2019-05-14 15:09:06 -04:00
091dbfa265 Merge pull request #1457 from julient31/fix_cubic_aniso
Adding a cubic anisotropy in the SPIN package, documentation corrections
2019-05-14 15:08:21 -04:00
a26dc1b356 allow using -DLAMMPS_BIGBIG also with CMake 2019-05-14 14:35:41 -04:00
d8fb17e2cb Step version string for next patch release 2019-05-14 10:01:43 -04:00
322c244bec Merge pull request #1456 from akohlmey/fix-mapping-for-KC-etc
Fix element mapping and a few other issues for interlayer potentials
2019-05-13 21:12:58 -04:00
60f6c3f3dc Merge pull request #1428 from sstrong99/e3b
add E3B water model to USER-MISC package
2019-05-13 21:12:26 -04:00
c911a44298 Merge pull request #1450 from akohlmey/cmake-latte-pass-cmake-settings
Pass more cmake settings to LATTE downloaded library build
2019-05-13 21:11:24 -04:00
52e3aeab33 revert incorrect changes in commands_list.txt 2019-05-13 21:05:26 -04:00
3a8b3a119f Merge pull request #1451 from rbberger/atom_vec_bond_kokkos_fix
Add missing molecule_flag=1 in atom_vec_bond_kokkos
2019-05-13 20:59:51 -04:00
8e18f2bf7e Commit2 JT 051319
- corrected doc issues
2019-05-13 17:32:44 -06:00
11f223416c Commit JT 051319
- added a cubic anisotropy in fix_precession_spin
- added associated doc and examples
- corrected neb/spin commands in doc/src/
- added tools/spin/ description
2019-05-13 16:59:39 -06:00
d3d4b420ba USER-INTEL: Changes to support LAMMPS_BIGBIG in USER-INTEL + fixed check for per-atom virials + fixed check for exclusion with offload. 2019-05-13 05:02:46 -07:00
805cc18b2d Merge branch 'master' into e3b 2019-05-12 22:22:31 -05:00
e228555aed more consistency changes for interlayer potentials 2019-05-11 17:05:27 -04:00
8eeb92b82b restore original coeff() code with one modification. now setflag is only set for pairs of types that both are mapped to elements (and thus not NULL) 2019-05-11 17:04:57 -04:00
c581e9349a update interlayer potential examples for now requiring CH.rebo potential file with rebo pair style 2019-05-11 16:46:21 -04:00
b2942cbafa correctly handle coeff statement for ilp/graphene/hbn 2019-05-10 21:07:54 -04:00
c86359966c error out when offset flag is unset via "pair_modify shift no" 2019-05-10 21:07:05 -04:00
a7c9560dc1 Merge pull request #1453 from mjwen/pair_drip
add pair style drip
2019-05-10 20:44:28 -04:00
03505a6c48 Merge pull request #1455 from lammps/doc-tweak
mis-labeling of some rigid fixes
2019-05-10 20:42:39 -04:00
238382e0ca fix handline of setflag and coeffs to correctly work with system, that have extra atom types. 2019-05-10 10:26:33 -04:00
2bc089db27 mis-labeling of some rigid fixes 2019-05-10 07:42:11 -06:00
799f4061f4 Merge pull request #3 from akohlmey/pair_drip
Update to master with refactored REBO pair style and adjusted examples
2019-05-09 12:18:11 -05:00
2f580380a4 adjust drip potential example for new requirements for pair style rebo. recreate log files 2019-05-09 12:29:38 -04:00
47cf17e5c8 Merge branch 'master' into pair_drip 2019-05-09 12:19:41 -04:00
928600a878 Merge pull request #1452 from akohlmey/github-rebo-bugfix
Resubmission of REBO bugfix for easier review
2019-05-09 12:18:05 -04:00
7b2d526f86 Merge pull request #1448 from akohlmey/collected-small-changes
Collected small changes and bugfixes
2019-05-09 12:17:19 -04:00
0034473e66 update legacy pdf manual input config 2019-05-08 10:19:21 -04:00
da75fc3eaa incorporate compute_pe_e3b into compute_pair 2019-05-08 09:05:09 -05:00
711cd4122f corrections to documentation and implementation of pair styles lj/mdf, buck/mdf, and lennard/mdf 2019-05-07 19:52:00 -04:00
45e6ed018e correct formula for lennard/mdf potential 2019-05-07 19:45:13 -04:00
8c193b8c42 add support for write_data/write_coeff to pair style lj/mdf 2019-05-07 19:28:19 -04:00
12f8834b80 correction of the incomplete implementation warning in write_coeff 2019-05-07 19:26:57 -04:00
6c3cae8823 remove unused vars 2019-05-07 15:37:45 -05:00
1d1611ce44 init del3 to silence valgrind errors 2019-05-07 15:35:37 -05:00
a87d8e124f Merge pull request #1449 from akohlmey/fix-print-w-variable-step
Support using a variable instead of a constant interval for fix print
2019-05-06 12:10:42 -04:00
cc30688137 Merge pull request #1364 from stanmoore1/kk_binsize
Change defaults for KOKKOS package
2019-05-06 12:10:08 -04:00
b3f4e2055e Merge pull request #1438 from giacomofiorin/colvars-update
Update Colvars library to version 2019-04-26
2019-05-06 12:08:50 -04:00
8212dca609 Merge pull request #1447 from ohenrich/user-cgdna
Homogenised label of relative hbond and stk strength to conform with oxDNA literature
2019-05-06 12:07:41 -04:00
319ed5dd48 Merge pull request #2 from akohlmey/pair_drip
Silence warnings about unused variables and parameters, minor tweaks
2019-05-05 09:29:00 -05:00
bac8b267df make sure fix deform related variables are always initialized to avoid issues with the DomainOMP class. 2019-05-05 10:26:27 -04:00
da6e576ffd silence warnings about unused variables and parameters, minor tweaks 2019-05-05 10:17:45 -04:00
f163d7dc9b typo fix 2019-05-05 08:56:15 -05:00
a354b52e3c Merge pull request #1 from akohlmey/pair_drip
Pair drip updates required for merging into LAMMPS upstream
2019-05-05 08:41:51 -05:00
0a4b0cf019 add pair style drip to .gitignore 2019-05-05 09:20:10 -04:00
4d4219ca3e integrate drip pair style more closely into manual 2019-05-05 08:59:03 -04:00
d86a7b95de fix spelling issues 2019-05-05 08:48:27 -04:00
db54b03751 Force line length to 80 2019-05-04 22:55:22 -05:00
24e41bc085 Update doc and examples due to the change of parameters 2019-05-04 22:24:05 -05:00
c28cf9f742 set variant flag in USER-INTEL (AI)REBO(-M) styles 2019-05-04 20:53:43 -04:00
fd3eade6d2 update reference date and examples for changes in REBO 2019-05-04 20:42:36 -04:00
1214e6ea79 align USER-INTEL versions of REBO/AIREBO with MANYBODY implementation 2019-05-04 20:08:34 -04:00
c2b2be5d6f Merge branch 'master' into github-rebo-bugfix 2019-05-04 19:09:52 -04:00
81d3fa77bb Add missing molecule_flag=1 in atom_vec_bond_kokkos 2019-05-04 17:42:21 -04:00
a7226bd93d remove unused variables 2019-05-04 15:12:31 -04:00
66f7f2a5ef pass more cmake settings to LATTE downloaded library build 2019-05-04 15:11:53 -04:00
a70f9c4f95 support using a variable instead of a constant interval for fix print 2019-05-04 13:47:57 -04:00
3baf15ed6f apply bugfix from PR #1446 to allow switching from variable thermo output back to evenly spaced 2019-05-04 11:35:18 -04:00
d7dd78126c Homogenised label of relative hbond and stk strength to conform with oxDNA literature 2019-05-02 16:48:41 +01:00
97ce76e759 Merge pull request #1444 from akohlmey/fix-intel-lrt-bug
CMake update for verlet/lrt/intel
2019-05-01 16:19:37 -04:00
d7da1db745 teach CMake that verlet/lrt/intel depends on KSPACE 2019-05-01 08:20:24 -04:00
4f3c87f8c4 Merge pull request #1423 from akohlmey/next-patch-release
Step version string for next patch release
2019-04-30 19:52:35 -04:00
02d5f17a18 Merge pull request #1437 from lammps/gpu_cmake_bugfix
Fix GenerateOpenCLHeader CMake utilitiy to avoid uncompilable CL code
2019-04-30 19:05:59 -04:00
7e00acce53 Update Colvars library to version 2019-04-26
The following is list of relevant issues fixed and improvements:

Fix forces and missing output of runtime histogram for histogramRestraint
https://github.com/Colvars/colvars/pull/246

Use fix_modify to add configuration to Colvars:
https://github.com/Colvars/colvars/pull/216

Fix componentCoeff and name not working with orientationAngle components:
https://github.com/Colvars/colvars/issues/213

Fix 1-timestep offset with extendedLagrangian:
https://github.com/Colvars/colvars/pull/210

Changes to improve compiler support:
https://github.com/Colvars/colvars/pull/203

Fix ignored anisotropic cutoff3 for groupCoordNum:
https://github.com/Colvars/colvars/pull/202

New dipoleMagnitude variable:
https://github.com/Colvars/colvars/pull/198

Parser improvements:
https://github.com/Colvars/colvars/pull/196
2019-04-30 13:46:37 -04:00
7fbd409f5b Fix GenerateOpenCLHeader CMake utilitiy to avoid uncompilable CL code 2019-04-30 12:59:27 -04:00
faa0da9976 Merge pull request #1434 from ellio167/reaxc-multi-instance-fix
Reaxc multi instance fix
2019-04-30 12:03:43 -04:00
e08080cae5 Merge pull request #1436 from rbberger/gpu_opencl_bugfixes
GPU package bugfixes
2019-04-30 12:02:52 -04:00
7b7f405d2c Merge remote-tracking branch 'origin/master' into gpu_opencl_bugfixes 2019-04-30 01:39:19 -04:00
66d94572e0 Add missing includes to OpenCL CMake builds of re_squared and tersoff kernels 2019-04-30 01:37:27 -04:00
8145c5028d Fix OpenCL compilation errors due to bad comments in macros 2019-04-30 00:44:12 -04:00
0005ee3e93 Merge pull request #1435 from akohlmey/collected-small-changes
Collected small changes for next patch release
2019-04-29 20:19:50 -04:00
8d9697dbf6 Merge pull request #1420 from dsbolin/gran_mods
Updates and bugfixes to GRANULAR package
2019-04-29 14:16:25 -04:00
f052509015 Merge pull request #1421 from julient31/gneb_spin
Adding a GNEB implementation in the SPIN package
2019-04-29 14:14:58 -04:00
97baee4931 Commit2 JT 042919
- modified energy/torque tolerance for faster convergence in
examples/SPIN/gneb/skyrmion/in.gneb.skyrmion
2019-04-29 08:23:57 -06:00
96e51d11ad equilibrium angle must be converted to radians in angle style table 2019-04-29 10:09:33 -04:00
0bb2e004ab Commit JT 042919
- corrections Axel 1
2019-04-29 08:08:56 -06:00
98daf8f825 optimize granular examples and include logs 2019-04-29 09:48:57 -04:00
af8a71b1ad while space and source formatting cleanup 2019-04-29 09:17:29 -04:00
0fac0e18d1 no need for libm or GSL to compile the interpolate code 2019-04-27 17:50:12 -04:00
8102fdcf24 make sure r3inv is initialized when lj and coul cutoff are different 2019-04-27 14:51:37 -04:00
5d9e85d840 make sure r6inv is initialized and not computed multiple times 2019-04-27 14:43:13 -04:00
d190b76075 remove unused custom constructor 2019-04-27 13:22:14 -04:00
930748f6f2 change neb/spin class names to better match the conventions used in the rest of LAMMPS 2019-04-27 13:16:37 -04:00
6fc2bda01c some whitespace cleanup 2019-04-27 07:52:25 -04:00
8c6e1e2448 fix python package issue updating the time stamp on the wrong file 2019-04-26 15:52:56 -04:00
809bd3d1bb update .gitignore for recent additions 2019-04-26 15:52:16 -04:00
d9fc4a152b simplify handling of fix id for fix reaxc. remove shadowed variable. 2019-04-26 14:25:57 -04:00
d3327ffd16 add new optional styles to .gitignore 2019-04-25 19:03:00 -04:00
795cdf456f simplify example and skip the system generation step, so it gives consistent results in serial and parallel 2019-04-25 19:02:35 -04:00
e481c5f35b Merge branch 'e3b' of github.com:sstrong99/lammps into e3b 2019-04-25 17:49:50 -05:00
5df8a42e24 dont set manybody_flag 2019-04-25 17:49:38 -05:00
21d0a16b6f minor tweak 2019-04-25 18:06:09 -04:00
a9388e86e3 add one more false positive 2019-04-25 18:00:27 -04:00
80af0281d1 replace non-ASCII characters 2019-04-25 17:54:27 -04:00
0e7d647aeb Switch to sprintf() instead of std::string etc. 2019-04-25 16:50:17 -05:00
8882436078 add e3b styles to legacy documentation build 2019-04-25 17:49:35 -04:00
ceff147fc0 Merge pull request #1427 from e-kwsm/fix-typo
Fix typo [skip ci]
2019-04-25 17:01:17 -04:00
8d9a44a837 set april 30th for next patch release 2019-04-25 16:55:46 -04:00
e3d7b52b80 Merge pull request #1431 from Adrian-Diaz/print-error-messages
flushing screen and logfile stdio buffers to see more error messages for error->one calls
2019-04-25 16:51:37 -04:00
c55174ac1d Merge pull request #1424 from julient31/setforce_spin
Adding a fix setforce/spin to the SPIN package
2019-04-25 16:37:41 -04:00
b93d9e6f7f reaxc: Fixes to allow multiple object instances
Move LR into system structure
Make fix_reaxc have unique id for each instance

closes #1432
2019-04-25 10:44:08 -05:00
16fd5904ed Commit2 JT 042519
- slight correction in doc/src/command_list.txt
2019-04-25 09:31:57 -06:00
7c3f619e13 Commit JT 042519
- moved examples/SPIN/gneb/interpolate/ toward
tools/spin/interpolate/gneb
- added gneb in the command files in doc/src
- modified the error messages in neb_spin.h/cpp
2019-04-25 09:18:33 -06:00
47d4aa6803 add new false positives 2019-04-24 17:35:17 -05:00
f548e2717e add new false positives 2019-04-24 17:31:44 -05:00
6088f2a6a2 One more bug in pair_granular.cpp, where JKR cutoff was incorrectly computed. Thanks to Ishan Srivastava for finding this one 2019-04-23 22:58:42 -06:00
0673f6f2b9 Fixes a bug in pair granular that caused JKR cutoffs to be set incorrectly when multiple types with multiple cohesion values are used 2019-04-23 15:52:32 -06:00
4c19eab64c Bugfix no 3 nearest neighbors for ghost atoms near boundary 2019-04-23 14:39:47 -05:00
c6d0f7ca87 Update equations 2019-04-19 14:27:03 -05:00
ba7882c1ff Add parameter file and example 2019-04-19 14:17:57 -05:00
d3c5d7e423 Add documentation 2019-04-19 13:56:26 -05:00
dec1ad19b5 added e3b.jpg 2019-04-19 10:33:51 -05:00
37d84de09c flushing buffer to see more messages for error->one calls 2019-04-18 15:55:21 -06:00
941281e9e9 fixed isnan error 2019-04-18 10:11:00 -05:00
e700ccd4df Update header 2019-04-17 22:11:24 -05:00
4621af4b9d Modify to accept NULL for pair_coeff 2019-04-17 21:34:55 -05:00
f27ed871f9 Uncrustify code 2019-04-17 18:11:31 -05:00
16bb8a1439 Clean up comments 2019-04-17 16:58:18 -05:00
d6f3a95599 Remove unused variables and methods 2019-04-17 10:53:45 -05:00
cb30414820 Add contribution to virial and atom virial 2019-04-17 10:05:05 -05:00
ebee2b588c Merge branch 'gran_mods' of github.com:dsbolin/lammps into gran_mods 2019-04-16 17:00:10 -06:00
4b2388339e Fixes bug in calculation of relative tangential velocity for granular wall particle interactions.
Thanks to Andrew Santos for providing a test case that reveals this.
2019-04-16 16:59:21 -06:00
1d4372c24d Fixes bug in calculation of relative tangential velocity for granular wall particle interactions 2019-04-16 16:40:41 -06:00
82a87322ed Get the same forces as KIM implementation 2019-04-16 16:54:17 -05:00
5fb164d586 Get total energy correct 2019-04-16 15:04:16 -05:00
4c565db9af update contrib authors 2019-04-16 11:50:33 -05:00
0eebb31903 update contact info 2019-04-16 11:48:45 -05:00
69e7a2a237 add e3b water model 2019-04-16 11:32:47 -05:00
835fce7a5e Copy all function from KIM implementation to PairDRIP 2019-04-16 10:51:20 -05:00
fdaa3f48e9 Modify all methods other than compute 2019-04-15 22:38:51 -05:00
2bdd9b7544 Remove single 2019-04-15 20:14:10 -05:00
100f17077c Create pair_drip by copying KC files 2019-04-15 19:27:41 -05:00
0b24a3d830 Added a 'mass_velocity' damping option to the new granular pair styles and granular wall interaction.
This is to more closely match the old style pair gran/hooke/* damping behavior.
Updated doc page accordingly, as well as adding some examples on how to match old pair gran/* styles.
2019-04-15 16:14:02 -06:00
2e9404acdf Fix typo [skip ci] 2019-04-15 16:06:36 +09:00
80431612c7 Merge pull request #47 from lammps/master
rebase
2019-04-14 20:11:37 -06:00
d0826f2838 Added granular example input scripts 2019-04-13 23:52:30 -06:00
d33a30806a Minor code clean up in pair_granular.cpp 2019-04-13 23:37:46 -06:00
14d3d09de3 Fixed several errors in granular doc pages, particularly coefficients in examples 2019-04-13 23:36:40 -06:00
5e3929de56 Commit2 JT 041019
- correct spelling in Howto_spin.txt
2019-04-10 13:35:58 -06:00
70c816aa02 Commit JT 041019
- corrected setforce/spin
- added an example
- added the documentation (in setforce)
- updated the Howto_spin documentation
2019-04-10 13:18:33 -06:00
3d7b387786 Commit JT 040919
- first working version of setforce
- modified fix nve/spin to account for it
2019-04-09 16:57:27 -06:00
4af22a723d Fixes several bugs in fix wall/gran, wall/gran/region:
1. Radius of curvature for curved regions was incorrectly used to compute wall-particle overlaps
2. Uninitialized values of rolling and twisting history could produce crashes in
cases that don't initialize these to 0 by default. These are now initialized to 0.
3. Fixed a bug with the use of 'NULL' for specification of the tangential stiffness for
wall/gran and wall/gran/region
2019-04-09 16:40:49 -06:00
915c3a6001 step version number for next patch release 2019-04-09 03:06:04 -04:00
8ec231a8e5 Commit JT 040819
- corrected bug in fix nve/spin (init tables with grow)
- start work for fix setforce/spin
2019-04-08 16:54:25 -06:00
c11b1edc1f Avoid spell checker error 2019-04-08 16:35:36 -06:00
db74f14f33 Merge branch 'master' into report-uninstalled-pkg-style
# Conflicts:
#	cmake/CMakeLists.txt
2019-04-08 17:16:30 -04:00
69c1a7954a correct test for leftovers from conventional builds 2019-04-08 17:14:59 -04:00
b8ae466999 Commit4 JT 040819
- added unknown names/acronyms in doc/utils/sphinx-config/false_positives.txt
2019-04-08 14:00:49 -06:00
fbda72891c Fix spelling error 2019-04-08 13:41:33 -06:00
ece46dbfa5 Small tweak to Kokkos docs 2019-04-08 13:12:21 -06:00
2bb69773d3 Update Kokkos docs 2019-04-08 13:07:29 -06:00
77d80c84c9 Change defaults for KOKKOS package 2019-04-08 12:37:49 -06:00
aa336c2bb4 Merge branch 'master' into kk_binsize 2019-04-08 12:07:58 -06:00
814b9b9378 Merge branch 'clean-master2' of github.com:julient31/lammps into gneb_spin 2019-04-08 11:26:48 -06:00
1501e9ba8a Commit3 JT 040819
- README and interpolate.c for in examples/SPIN/gneb/interpolate/
2019-04-08 11:22:02 -06:00
57247142d2 Commit2 JT 040819
- finished doc (compiled and spell check)
- compiled with -Wall -Wextra, unused var. removed
2019-04-08 11:08:06 -06:00
1e07ef6f87 Added example for pouring of particles on flat wall with new granular pair style 2019-04-08 09:13:22 -06:00
898860328b Merge pull request #1416 from akohlmey/collected-small-changes
More collected small changes and bug fixes for next patch release
2019-04-08 10:42:10 -04:00
fcb4b75589 Commit JT 040819
- improved documentation neb/spin
2019-04-08 07:24:18 -06:00
f2113ab04a update manual and headers for updated error message 2019-04-08 07:16:22 -04:00
dc40886d23 improve comments and formatting 2019-04-08 06:40:39 -04:00
6ee002d6cf add cmake support for enhanced missing style error reports 2019-04-07 22:32:31 -04:00
d640c712f8 apply new utility function to most places creating new styles 2019-04-07 21:18:20 -04:00
9166001041 add code to allow reporting which styles are part of what package 2019-04-07 20:55:00 -04:00
2fbf86a58d add support for creating packages_*.h files in conventional make 2019-04-07 20:52:15 -04:00
cb559659f8 write a full-fledged LAMMPS manpage. 2019-04-07 10:35:00 -04:00
5c5b57be5a minor tweaks 2019-04-07 10:34:25 -04:00
8c4a497af4 set default to automatically download scafacos lib if not found 2019-04-07 06:10:39 -04:00
e57c4c60bd fix spelling issue 2019-04-07 05:59:28 -04:00
13cf357f66 document in README, that msi2lmp is now build alongside LAMMPS 2019-04-07 00:47:10 -04:00
6f7b3643ef document clang/clang++ preset with settings for MPI and OpenMP 2019-04-07 00:46:43 -04:00
e57e4a730b more packages with default-to-download-if-lib-not-found 2019-04-07 00:45:57 -04:00
b40c4d1641 update version number and some reformatting of the LAMMPS manpage 2019-04-06 23:45:01 -04:00
1dd21e6e0c make downloaded LATTE library use the same BLAS/LAPACK as LAMMPS 2019-04-06 23:44:27 -04:00
a6c9a782a4 add manpage for msi2lmp 2019-04-06 23:41:48 -04:00
3b43fc3ea7 install msi2lmp force field files and set environment variable, so they can be found automatically 2019-04-06 20:41:00 -04:00
0d8d8dc0da Merge branch 'master' into collected-small-changes 2019-04-06 19:52:39 -04:00
ce1040a103 Merge pull request #1414 from oywg11/github-tutorial-update
fix two bugs in potential #839
2019-04-06 19:44:11 -04:00
b25657c67b trigger download by default if not found for LATTE package/library 2019-04-06 17:49:56 -04:00
494e76da7d add false positive 2019-04-06 17:29:04 -04:00
cb398bd026 silence some more compiler warnings 2019-04-06 17:23:37 -04:00
72b69783de add download-default-if-not-found logic to voro++ library for VORONOI package 2019-04-06 17:17:17 -04:00
8c02ce7302 silence some compiler warnings 2019-04-06 17:03:40 -04:00
f98aed419c document the 'maxelt' define in pair style meam/c and how to change it 2019-04-06 17:03:24 -04:00
86f4080b71 some dead code removal in pair style kim. 2019-04-06 16:48:29 -04:00
59a4d42231 make default CMake setting for DOWNLOAD_KIM depend on whether the KIM API is found or not 2019-04-06 16:47:48 -04:00
e8289b0024 Merge branch 'find-kim-fix' of https://github.com/ellio167/lammps into collected-small-changes 2019-04-06 16:28:48 -04:00
3070a11041 guard against extracting too many elements from the MEAM library into the statically sized arrays
this will abort with a meaningful error message and people can fix up their LAMMPS binary as needed.
2019-04-06 16:23:10 -04:00
47b7437976 Have FindKIM-API.cmake work in QUIET mode 2019-04-06 15:08:15 -05:00
6643a4ec92 Fixup FindKIM-API.cmake and clean up some v2 remnants 2019-04-06 14:20:21 -05:00
cb27d03c79 stop with error message when computing per-atom stress for reax/c/omp 2019-04-06 11:27:04 -04:00
8683e1ebf8 revert ineffective changes 2019-04-06 11:24:59 -04:00
d6a12f6c3e roll back ineffective changes and add zeroing of allocated storage 2019-04-06 11:22:22 -04:00
efa8c8d58b sanitize file pointer access handling 2019-04-06 11:21:43 -04:00
bcb6e1be4f disable fdotr for virial also for regular pair style reax/c 2019-04-06 09:45:19 -04:00
bca7364ba3 disallow using fdotr for computing virial contributions with reax/c/omp 2019-04-06 09:21:50 -04:00
9334c72c04 clang can be installed supporting OpenMP without having omp.h installed: add check 2019-04-06 08:59:06 -04:00
e629733d0b change error-all to error-one 2019-04-06 10:26:56 +03:00
f10534a721 add code to build msi2lmp with CMake 2019-04-05 23:56:23 -04:00
de0938da39 avoid segfault when catching command line flag errors with EXCEPTIONS enabled 2019-04-05 23:24:43 -04:00
f8018a8bba Commit2 JT 040519
- added angle in doc
- improved doc neb/spin
2019-04-05 16:44:23 -06:00
3d7a4fb945 silence compiler warnings, remove dead code 2019-04-05 17:04:07 -04:00
d17553d8d2 add preset to make it easier to use clang with OpenMP and MPI 2019-04-05 16:52:28 -04:00
e56d69a267 silence compiler warnings 2019-04-05 16:52:03 -04:00
67f8c83661 Merge pull request #1415 from stanmoore1/kk_nh
Fix bug in fix_nh_kokkos
2019-04-05 16:50:08 -04:00
542d8aaf07 Fix bug in fix_nh_kokkos 2019-04-05 14:16:25 -06:00
6e6d350572 correct the spelling 2019-04-05 23:01:28 +03:00
4f459a59a1 correct the spelling 2019-04-05 22:55:40 +03:00
ac7312caf1 Merge pull request #1409 from akohlmey/collected-small-changes
Collected small changes and bugfixes for the next patch release
2019-04-05 15:39:16 -04:00
ed90596849 Merge pull request #1399 from rtoijala/fix-elstop
Add fix electron/stopping to USER-MISC
2019-04-05 15:34:41 -04:00
7f040a3676 Merge pull request #1404 from akohlmey/compute-local-bugfix
Fix bug reported in Issue #1401
2019-04-05 15:34:10 -04:00
da16a7e50b Commit JT 040519
- initial rotation with Rodrigues' formula + exception
- worked on neb_spin documentation
- removed pair/spin warning for neb/spin
2019-04-05 13:22:46 -06:00
815ad4dab2 fix a bug in ILP 2019-04-05 22:04:45 +03:00
05993a79b8 Merge branch 'pair_kim_fix' of https://github.com/ellio167/lammps into collected-small-changes 2019-04-05 11:39:19 -04:00
175f3ee648 Fix pointer assignment in pair_kim
Bug only affects cases where neighbor list needs to be stripped.
Thanks to Mingjian Wen (@mjwen) for finding and reporting this.
2019-04-05 10:14:45 -05:00
2e1da2958d resolve toctree and paper anchor issues 2019-04-05 11:04:11 -04:00
2757e4e6e6 two more false positives 2019-04-05 10:53:41 -04:00
85a0461a48 reword and reformat text in Howto_bioFF.txt a little bit. add warnings about msi2lmp's age and lack of maintenance 2019-04-05 10:53:23 -04:00
20cbe1edff Merge branch 'patch-1' of https://github.com/evoyiatzis/lammps into collected-small-changes 2019-04-05 10:36:53 -04:00
cb272159ba Merge branch 'master' of github.com:lammps/lammps into gran_mods 2019-04-05 07:53:51 -06:00
73b2e1f47c Merge conflict in doc page (newline issue) 2019-04-05 07:53:32 -06:00
5d3801cb12 Include info for COMPASS in the Howto section 2019-04-05 15:50:58 +02:00
383e206cc2 the GCC folks did it again. :-( 2019-04-05 08:00:04 -04:00
8b2a8ad08b fix stupid typo 2019-04-05 06:32:59 -04:00
42e8a7613e stop with error or print a warning when the system or atom ids get to large for reax/c pair styles 2019-04-05 06:29:38 -04:00
4f026b9b38 remove trailing whitespace 2019-04-05 06:14:10 -04:00
76dfcc1dfd Merge branch 'mc-bigbig-fix' of https://github.com/rtoijala/lammps into collected-small-changes 2019-04-05 06:07:54 -04:00
9543335613 Merge branch 'master' into collected-small-changes 2019-04-05 06:05:22 -04:00
f4159ff592 implement different -DLAMMPS_BIGBIG workaround without breaking format 2019-04-05 05:53:19 -04:00
e359e80118 fix bug reported in issue #1410 2019-04-04 22:39:58 -04:00
dbbf198edb more accurate matching of styles using utils::strmatch() 2019-04-04 17:10:27 -04:00
df94e80bb1 silence compiler warnings 2019-04-04 16:52:08 -04:00
4003387fb1 dead code removal 2019-04-04 16:51:59 -04:00
ab5c3b0386 protect against possible buffer overflow 2019-04-04 16:51:37 -04:00
78bab6ee39 make format macros in USER-REAXC compatible with -DLAMMPS_BIGBIG 2019-04-04 16:36:57 -04:00
c52a330a79 update USER-PLUMED support for version 2.5.1 and fix bug in Install.py script 2019-04-04 14:19:53 -04:00
265ad4512d add sanity check on plumed pre-installed path location 2019-04-04 13:18:27 -04:00
605524ab66 Merge pull request #1406 from akohlmey/fix-some-64-bit-integer-issues
Fix some 64 bit integer issues
2019-04-04 12:47:34 -04:00
968ac3d8d7 Merge pull request #1367 from mkanski/reax_better_errors
Removing calls to MPI_Abort from reax/c + a fix for a memory leak
2019-04-04 12:47:02 -04:00
81dd96f970 print more meaningful error message when trying to access individual data from a local array produced by a compute */local 2019-04-04 12:42:54 -04:00
50427ce05d flag intended fallthrough cases for GNU compilers 2019-04-04 09:38:53 -04:00
a9c376f20d use tagint instead of int when communicating atom ids 2019-04-04 09:38:28 -04:00
88d160f86e avoid segfault in Special::angle_trim() if only angles or only dihedrals are defined 2019-04-04 09:13:18 -04:00
8c03f51020 fix 32-bit/64-bit overflow issue in expression 2019-04-04 09:01:39 -04:00
2aa7a150b4 USER-SMD: Use TAGINT_FORMAT where appropriate 2019-04-04 15:53:00 +03:00
6679469220 USER-MANIFOLD: Use TAGINT_FORMAT where appropriate 2019-04-04 15:52:57 +03:00
da77dde04d MC/fix_bond_break: Use TAGINT_FORMAT where appropriate 2019-04-04 14:51:40 +03:00
6ff1fee6d6 more simplifications 2019-04-04 09:54:39 +02:00
619c2322e5 Merge remote-tracking branch 'upstream/master' into fix-elstop 2019-04-04 10:03:36 +03:00
0d78c7b43d fix elstop: Rename to fix electron/stopping 2019-04-04 09:57:15 +03:00
8820467a8b fix wrong column size assignment bug when using optional arguments in some local computes 2019-04-03 15:15:40 -04:00
d4a495151e Simplify access to error in reax/c/omp 2019-04-03 19:40:40 +02:00
e45e92b1cb Commit JT 040319
- improved examples
- start rework gneb init. (Rodrigues' formula)
2019-04-03 11:24:37 -06:00
501558743b Merge with current master 2019-04-03 19:17:15 +02:00
d7a5bf4e16 Repair last commit 2019-04-03 18:52:14 +02:00
1a105253c1 Check the MPI rank differently 2019-04-03 18:24:38 +02:00
f2f49e60bf Make some errors more elaborate + change some error->all to error->one 2019-04-03 18:12:12 +02:00
f73ccc3025 Merge pull request #1402 from akohlmey/collected-small-changes
Collected changes for improving CI testing, CMake, and coding convention compliance
2019-04-03 10:51:40 -04:00
1696432e82 resolve conflict between src/STUBS/mpi.h and lib/message/cslib/src/STUBS_MPI/mpi.h 2019-04-03 01:00:53 -04:00
7372e8fde1 must add STUBS_MPI to cslib includes when compiling without MPI 2019-04-03 00:41:03 -04:00
f17aff6331 add some missing entries to src/USER-MISC/README 2019-04-03 00:24:36 -04:00
537704fdaa eliminate the use of the "using" keyword in headers of the KOKKOS package 2019-04-03 00:13:52 -04:00
52a13f31b3 remove "using namespace" from header 2019-04-03 00:04:12 -04:00
f02b364e6e remove "using namespace" from header and include required header 2019-04-03 00:03:34 -04:00
40f1662c93 reduce compiler warnings 2019-04-02 23:44:00 -04:00
6cb120d691 get rid of "using" in USER-REAXC header 2019-04-02 23:20:53 -04:00
a149fdb420 forgot MESSAGE package in all_on/off.cmake preset 2019-04-02 23:19:37 -04:00
b1070f4703 must add USER-SCAFACOS to nolib.cmake preset, as it requires GSL 2019-04-02 23:10:59 -04:00
778537e734 update micelle example for improved reproducibility 2019-04-02 22:32:15 -04:00
921d3dadf8 Merge pull request #1400 from akohlmey/collected-small-changes
Refactor USER-INTEL support in CMake and support Linux-2-Windows cross-compiling with CMake
2019-04-02 17:48:21 -04:00
bd923d8bd4 fix second typo in the same word. i need a break... :-( 2019-04-02 17:33:35 -04:00
6411ff8359 transfer MPI/OpenMP selection from LAMMPS to downloaded Plumed library configuration 2019-04-02 17:25:26 -04:00
4a003644fe fix typo 2019-04-02 16:41:02 -04:00
365166fef0 print warning messages about calls to self only once 2019-04-02 16:01:42 -04:00
34b023456b add message about -DLAMMPS_BIGBIG incompatibility of scatter/gather functions 2019-04-02 15:28:48 -04:00
978b52ee8c add warning/status messages about skipping TBB malloc and MKL RNG 2019-04-02 15:06:56 -04:00
98bd720c68 improved formatting of cmake settings and presets related docs 2019-04-02 14:56:51 -04:00
4824992a1e update documentation for recent changes to CMake presets 2019-04-02 14:31:13 -04:00
5a75125426 add some popular packages requiring libraries to most.cmake preset 2019-04-02 14:30:34 -04:00
cb5c3f900e add minimal.cmake and most.cmake presets 2019-04-02 12:41:12 -04:00
74ce164457 restore lost edit to all_on.cmake and all_off.cmake that syncs the list of packages 2019-04-02 12:06:51 -04:00
3eab343821 give access to LAMMPS object and wrap in macros for optional exception handling 2019-04-02 11:49:08 -04:00
fd7c680654 the lammps_gather_atom*() and lammps_scatter_atom() library functions are not compatible with -DLAMMPS_BIGBIG. divert to dummy functions resulting in error exists. 2019-04-02 11:39:46 -04:00
764fb2522b abort already in cmake when including USER-INTEL with -DLAMMPS_BIGBIG 2019-04-02 11:21:25 -04:00
ef184c9b1b remove presets, that try to mimic settings from the conventional build, but make little sense with cmake 2019-04-02 09:34:03 -04:00
0ab65c0343 update docs for building LAMMPS for windows 2019-04-02 07:12:55 -04:00
800f3a81b1 update documentation for changes in USER-INTEL support in CMake 2019-04-02 06:59:19 -04:00
91f3a94851 fix typo in docs 2019-04-02 05:49:25 -04:00
d1cb8970d5 fix elstop: Remove unused includes 2019-04-02 09:29:27 +03:00
d3ea115436 Tweaks to doc page 2019-04-01 22:13:49 -06:00
c044eeb482 update nolib.cmake and change it so it disables all packages requiring some external library or equivalent 2019-04-01 22:23:36 -04:00
2fc7395c14 add some comments to updated all-on / all-off presets 2019-04-01 22:22:31 -04:00
719a74a02f must include omp.h header when using OpenMP API functions 2019-04-01 22:10:55 -04:00
b1badb6555 update all-on and all-off presets for recently added and removed packages 2019-04-01 22:09:58 -04:00
0b8332cedf Commit2 JT 040119
- improved verbose output
- work on examples
2019-04-01 17:52:59 -06:00
200aa2d06f missed a few packages in cross-compiler preset 2019-04-01 18:50:53 -04:00
3a0b108f91 reformat 2019-04-01 18:22:06 -04:00
677974573a Merge branch 'clean-master2' of github.com:julient31/lammps into gneb_spin 2019-04-01 16:12:11 -06:00
76b848bb0a include USER-INTEL, but need to disable support for LRT mode 2019-04-01 17:58:19 -04:00
a0e5d14990 Commit JT 040119
- corrected tangent vector projection
- output verbose (Gradidottan)
2019-04-01 15:53:36 -06:00
35129c0881 posix_memalign() does not exist on windows, so we have to workaround using it with USER-INTEL 2019-04-01 17:51:53 -04:00
70ae5f41e3 tweaks for compiling USER-INTEL in cpu mode on Windows with GCC 2019-04-01 17:46:25 -04:00
a7bb772db7 Merge branch 'refactor-user-intel-cmake' into collected-small-changes 2019-04-01 17:39:43 -04:00
8d8f0af7a6 add download flags to mingw preset 2019-04-01 17:38:53 -04:00
d5aa60dbfe skip inline function optimizations for windows when compiling with mingw 2019-04-01 17:23:27 -04:00
b7aecc0d59 avoid linking with -ldl on windows, as it is not needed or supported 2019-04-01 17:22:53 -04:00
799c16a8b2 restore a removed check + print some warnings only once 2019-04-01 17:04:09 +02:00
adbc64b45e Cleaning includes + changing error->all to error->one 2019-04-01 16:34:34 +02:00
2e7316a9e3 fix another windows portability issue in USER-PTM by adding missing header include 2019-04-01 08:11:22 -04:00
a8e5af3cb4 fix elstop: Inline kinetic energy computation 2019-04-01 12:59:25 +03:00
053bdea234 fix elstop: Use inline LaTeX for equation 2019-04-01 12:27:50 +03:00
7688ead60f add pair style granular to pair style overview page in manual 2019-04-01 04:42:56 -04:00
61d4b7a47f Add Kai as spelling false positive 2019-04-01 09:14:47 +03:00
3bf4cd9c01 major refactor of USER-INTEL support in CMake
- decouple from USER-OMP
- decouple from OpenMP support
- make MKL and TBB optional
- support compilers other than Intel (but print warning about bad performance)
- expose Long-range thread support selection to CMake
- fix bugs and typos and add missing code, so that it actually compiles and includes all styles
2019-03-31 17:17:07 -04:00
4d3c1785c6 add utility function to add custom integrate style 2019-03-31 17:12:11 -04:00
fa407c05a1 neither KOKKOS nor USER-INTEL require OpenMP; they can be built without 2019-03-31 15:00:53 -04:00
971bce7428 address formatting issue in pair granular docs 2019-03-30 23:33:54 -04:00
5065350081 improve kim-query documentation 2019-03-30 23:19:31 -04:00
74489621c4 correct misleading indentation to follow syntax 2019-03-30 22:35:41 -04:00
585403d650 Merge pull request #1397 from ellio167/kim-api-fix-1396
Rename FindKIM-API.cmake.in to FindKIM-API.cmake
2019-03-30 22:00:17 -04:00
a28ae7c2c0 Rename FindKIM-API.cmake.in to FindKIM-API.cmake
Fixes: #1396
2019-03-30 13:56:02 -05:00
560ccb2719 Merge pull request #1387 from akohlmey/next-patch-release
Step version string for next patch release
2019-03-29 14:25:45 -04:00
dd22b80a9d Merge pull request #1393 from akohlmey/collected-small-changes
Collected small changes
2019-03-29 13:57:07 -04:00
ff7f129a5d remove trailing whitespace 2019-03-29 11:37:26 -04:00
17cd650622 Merge branch 'master' into collected-small-changes 2019-03-29 11:35:15 -04:00
4eafb624b7 Merge pull request #1392 from ellio167/kim-2.0.2
Updates for kim-api-2.0.2 release
2019-03-29 11:31:00 -04:00
677753731f Merge pull request #1395 from vishalkenchan/fix_unset_variable
Set Coulomb summation cutoff radii when it is explicitly specified
2019-03-29 10:37:29 -04:00
30929d95e2 Merge pull request #1342 from dsbolin/gran_mods
New generalized granular pair style added
2019-03-29 10:37:07 -04:00
75382cf265 update documentation tweaks to run cleanly 2019-03-29 10:34:34 -04:00
ff819be807 more 'war on tabs' 2019-03-29 10:21:44 -04:00
13255d6338 step version to 29 March 2019 2019-03-29 09:20:33 -04:00
6a60dad2c3 Set Coulomb summation cutoff radii in the case it is explicitly specified. 2019-03-29 10:02:15 +01:00
1bf5047c7a document new CUDA_MPS_SUPPORT option in CMake 2019-03-28 18:03:54 -04:00
747ddf2642 expose -DCUDA_PROXY define to CMake so that the GPU package can be used with nvidia MPS proxy server 2019-03-28 17:15:05 -04:00
9d0e518cc5 Updates for kim-api-2.0.2 release 2019-03-28 15:35:22 -05:00
088a672196 replace (evil) tabs with (nice) spaces 2019-03-28 16:20:57 -04:00
30bca9f91e force loading of Sphinx version 1.7.6 instead of 2.0.0 or later, so the spellchecker keeps working 2019-03-28 16:20:19 -04:00
93f531441a Merge pull request #1388 from lammps/tiled-bug
bug fix for tiled communication at cutoffs near box size
2019-03-28 13:45:41 -04:00
d71d12d2de Merge pull request #1391 from akohlmey/more-small-changes
Error out when per-atom stress is requested for USER-INTEL styles
2019-03-28 13:45:10 -04:00
74bfd78b06 Merge pull request #1390 from ckadding/master
Fix typos in argument checking for  compute pressure/cylinder
2019-03-28 13:44:53 -04:00
4aff7191e7 small whitespace cleanup 2019-03-28 13:02:14 -04:00
eab939af23 add a note about the lack of stress/atom in USER-INTEL to the manual 2019-03-28 12:47:06 -04:00
16f66dc561 error out when per-atom stress is requested for bonded interactions with USER-INTEL 2019-03-28 12:38:41 -04:00
61483da58b error out when per-atom stress is requested 2019-03-28 12:25:40 -04:00
ab12a7c95b use consistent constants from math_const.h and fast integer powers from math_special 2019-03-28 11:58:04 -04:00
196b8c6eab Fix typos in error checking 2019-03-28 11:53:32 -04:00
b9bddd7ba6 use ev_init() and add some more cosmetic changes to pair granular 2019-03-28 11:47:41 -04:00
2fa6e913ef Merge branch 'master' into gran_mods 2019-03-28 11:46:44 -04:00
3cc740b9d3 handle granular specific pair style flags consistently and make sure they are never accessed uninitialized 2019-03-28 11:46:04 -04:00
03ee03c043 remove set but unused flag 2019-03-28 11:44:50 -04:00
5d7c52e114 clean up whitespace issues caused by commit 5210c4c3a4 2019-03-28 11:23:37 -04:00
5210c4c3a4 cosmetic reformatting of new GRANULAR files 2019-03-27 16:58:14 -06:00
6b09f6d490 bug fix for tiled communication at cutoffs near box size 2019-03-27 15:51:10 -06:00
28a6dcd1c3 Merge pull request #1384 from lammps/rendezvous2
second attempt at adding rendezvous protocol for some to some communication.
2019-03-27 17:44:16 -04:00
2ad9355140 Merge pull request #1383 from akohlmey/final-changes-for-patch
Several small changes and tweaks for patch release
2019-03-27 17:00:56 -04:00
44fe8330b9 Commit JT 032719
- commit before wok output
2019-03-27 14:59:12 -06:00
e63d2cee87 Merge pull request #1375 from akohlmey/install-python-for-cmake
Refactor python module installer and add install-python target to CMake
2019-03-27 16:47:25 -04:00
b685a0a7b8 need to use fabs() when computing deltas when checking image flags for consistency 2019-03-27 15:47:14 -04:00
c4fd658e9d rename micelle-rigid to micelle.rigid 2019-03-27 11:07:14 -04:00
8a384df5c3 use utils::strmatch() instead of strncmp() 2019-03-27 06:19:42 -04:00
8ba1d76055 some dead code removal and more whitespace cleanup 2019-03-27 05:38:41 -04:00
af8f06141f Step version string for next patch release 2019-03-26 23:02:07 -04:00
03e86c4d17 update python module installation instructions 2019-03-26 22:49:21 -04:00
9d22f82ba7 update PyLAMMPS documentation/tutorial for CMake and the refactored installation process 2019-03-26 22:42:09 -04:00
3867972ae8 make PYTHON_INSTDIR a cached variable and implement changes suggested by @junghans 2019-03-26 22:08:53 -04:00
77e323d28c prefix option in install.py not needed 2019-03-26 21:55:07 -04:00
1926c95625 correct micelle data file without overwriting the molecule ids 2019-03-26 19:08:58 -04:00
b6b0d0b30e minor whitespace cleanup commit to retrigger PR tests on github 2019-03-26 16:43:09 -04:00
dbd458e9e3 update micelle example with corrected data file and rigid body input 2019-03-26 16:35:35 -04:00
5a6a8a9e57 Merge pull request #1379 from lammps/hyper
Hyper-dynamics update
2019-03-26 16:30:37 -04:00
07a6749ddc install LAMMPS python module with either install-python or install target if prerequisites are given 2019-03-26 16:00:48 -04:00
3cabfd13cd Commit JT 032619
- finish merge of min_spin.cpp
- test output
2019-03-26 12:51:51 -06:00
26b90727b3 whitespace cleanup 2019-03-26 13:26:09 -04:00
cf349633f7 cosmetic changes 2019-03-26 13:09:49 -04:00
b8747ce8fb Merge branch 'clean-master2' of github.com:julient31/lammps into gneb_spin
Conflicts:
	doc/src/min_modify.txt
	doc/src/min_spin.txt
	examples/SPIN/spinmin/in.spinmin.bfo
	examples/SPIN/spinmin/in.spinmin.iron
	src/SPIN/fix_precession_spin.cpp
	src/SPIN/min_spin.cpp
	src/SPIN/min_spin.h
	src/SPIN/pair_spin_dmi.cpp
	src/SPIN/pair_spin_exchange.cpp
2019-03-26 10:59:21 -06:00
efad31f474 bug fixes to added rendezvous algorithms 2019-03-26 10:09:16 -06:00
e2e4fe2cf7 Merge pull request #1380 from julient31/minimizer_spin
Add a spin minimizer in the SPIN package
2019-03-26 11:52:21 -04:00
89bc79f657 Merge pull request #1382 from lammps/revert-1238-rendezvous
Revert "Rendezvous"
2019-03-26 11:51:27 -04:00
fff28a8666 remove trailing whitespace 2019-03-26 11:17:21 -04:00
1266b866e0 add some degree of endian detection to hashlittle.cpp 2019-03-26 11:01:39 -04:00
1ca0c78a2e turn off diagnostic output for rendezvous op 2019-03-26 11:01:39 -04:00
0bf6b91576 bug fix for new fix shake redezvous comm 2019-03-26 11:01:39 -04:00
62045a9c52 cleanup up rendezvous diagnostic output 2019-03-26 11:01:38 -04:00
bbe6c9bb63 added diagnostic info for memory and balance info 2019-03-26 11:01:38 -04:00
fc002e30d3 added rendezvous via all2all 2019-03-26 11:01:38 -04:00
981f12ebeb fix a small memory leak in SHAKE setup 2019-03-26 11:01:38 -04:00
b370a61b60 added rendezvous alg to fix shake 2019-03-26 11:01:38 -04:00
a3a16acead propagate rendezvous changes to fix rigid/small 2019-03-26 11:01:38 -04:00
17817fc290 less comm version of special bonds rendezvous 2019-03-26 11:01:38 -04:00
3f9d59294e replace STL map with atom->map in special, better code comments 2019-03-26 11:01:37 -04:00
9912c44413 rendevous comm option for special bonds and fix rigid/small 2019-03-26 11:01:33 -04:00
676370ade7 Commit JT 032619
- added citeme in neb/spin
- started work on distance output
2019-03-26 07:21:16 -06:00
8c99752cec Add fix elstop to USER-MISC
Implements inelastic energy loss for fast particles in solids.
2019-03-26 10:08:20 +02:00
d7a2949d1a Revert "Rendezvous" 2019-03-25 21:30:48 -04:00
6e7f13e6f9 Merge branch 'kim_query' of https://github.com/ellio167/lammps into final-changes-for-patch 2019-03-25 21:19:23 -04:00
4e74ccbbbe restore building developer pdf before manual pdf 2019-03-25 21:18:17 -04:00
b0a07f189c must use top-level dir to get the correct modified status 2019-03-25 21:18:17 -04:00
19d25203ad add min_style spin to commands overview 2019-03-25 21:05:13 -04:00
82d646cede print warning about missing fix nve/spin only on MPI rank 0 2019-03-25 20:59:22 -04:00
7b3f952990 whitespace cleanup and dead code removal 2019-03-25 20:50:39 -04:00
36b645d238 add min_spin page to toclist 2019-03-25 20:46:42 -04:00
b8c4e09b27 Put #ifdef around #include "curl/curl.h" in kim_query.cpp 2019-03-25 19:14:08 -05:00
81a4d293db Commit4 JT 032519
- corrected documentation (errors in min_spin.txt and
min_modify.txt)
- changed the code accordingly
2019-03-25 15:43:58 -06:00
cb92bccdff Merge pull request #1238 from lammps/rendezvous
Implement rendezvous protocol for more efficient communication setup for large number of MPI ranks
2019-03-25 17:20:00 -04:00
0edb82eb5e update format 2019-03-25 17:14:58 -04:00
b0a741fc58 add support for --prefix to python module installer 2019-03-25 16:51:35 -04:00
30be5e94d9 Commit3 JT 032519
- updated the README file
- updated examples/SPIN/spinmin/
2019-03-25 14:22:16 -06:00
7a00997a14 Commit2 JT 032519
- added equations for documentation
- updated examples (not calling fix nve/spin)
- replaced error message by warning in all pair/spin
2019-03-25 14:03:28 -06:00
a726362888 Commit JT 032519
- adding all min files into new branch
- preparing branch for pull request of spin minimizer
2019-03-25 12:57:42 -06:00
3e8c1c801b add some degree of endian detection to hashlittle.cpp 2019-03-25 14:03:29 -04:00
2f20581b29 Merge pull request #1374 from akohlmey/collected-small-fixes
Collected small changes for the next patch release
2019-03-25 13:15:45 -04:00
5d54e888d5 Merge pull request #1371 from akohlmey/add-kim-query
Add kim_query command to KIM package
2019-03-25 13:15:20 -04:00
1bd47f0318 Merge pull request #1365 from martok/meamc-evclear
Consolidate clearing of eflags and vflags
2019-03-25 13:14:59 -04:00
b055837f49 Merge pull request #1372 from julient31/minprec_spin
Add min_post_force in fix_precession_spin
2019-03-25 13:14:46 -04:00
34d1ed9b54 Merge pull request #1376 from junghans/cmake_gitversion
cmake: move lmpgitversion generation to build phase
2019-03-25 13:14:30 -04:00
eedc88eb9b MPI_Abort removed from reax/c/kk + fixed some declarations 2019-03-25 18:01:31 +01:00
88755aefca Added support for reax/c/omp 2019-03-25 17:44:52 +01:00
ab748ffe48 turn off diagnostic output for rendezvous op 2019-03-25 10:29:06 -06:00
a20d58312d add missing convesion to fractional coordinates and back for enforced PBC dumps of triclinic cells 2019-03-25 12:25:50 -04:00
e04ab51970 bug fix for new fix shake redezvous comm 2019-03-25 10:20:32 -06:00
5554deda39 fixed 2 spelling errors 2019-03-25 10:07:07 -06:00
de99dc8974 new output files 2019-03-25 09:54:28 -06:00
e9384b6b17 updating output files 2019-03-25 09:52:16 -06:00
a89a2de9d4 Removed unnecessary MPI_comm 2019-03-25 16:45:59 +01:00
b2a7205abe re-order ev_init() and ev_setup() so that 'init' comes before 'setup' as requested by @sjplimp 2019-03-25 11:31:23 -04:00
881cc71a44 Merge branch 'master' into hyper 2019-03-25 09:21:09 -06:00
83e458af0b Cleaning changes 2 2019-03-25 15:22:20 +01:00
99acb4ac54 Cleaning changes 1 2019-03-25 15:00:52 +01:00
f557b12e03 Merge branch 'clean-master2' of github.com:julient31/lammps into gneb_spin 2019-03-25 07:34:38 -06:00
111ff4475e Pointer moved to reax lists 2019-03-25 14:18:55 +01:00
414f9b25d1 cmake: move lmpgitversion generation to build phase 2019-03-23 08:01:41 -06:00
d5074b39a0 Merge pull request #57 from ellio167/add-kim-query
Update kim example query and log files
2019-03-22 21:42:06 -04:00
3464464ea9 Update kim example query and log files 2019-03-22 20:20:47 -05:00
22be3bd37e fix spelling error and add false positives for spellchecking 2019-03-22 17:33:16 -04:00
f69173f410 partial documentation update 2019-03-22 17:25:03 -04:00
52f9e4a960 allow overriding the location of the molfile plugin headers with CMake 2019-03-22 14:11:02 -04:00
c23ace9c97 Commit JT 032219
- fixed bug 1: precession_spin had no min_setup
- fixed bug 2: incorrect init of spins in neb/spin
- improved doc min_spin.txt (added eqs, and connected to related
files).
2019-03-22 11:52:09 -06:00
e50c269a6b add install-python target with suitable error message also when not building a shared library 2019-03-22 12:51:57 -04:00
04f999fdd6 add install-python target to CMake build system. decouple python module install from python package 2019-03-22 12:35:21 -04:00
817a851a30 adapt master makefile to refactored python module installer script 2019-03-22 12:01:59 -04:00
0f030acc59 refactoring python module installer script to be (more) platform neutral and compatible with conventional make and CMake builds 2019-03-22 11:59:15 -04:00
cd6b23d104 explicitly request OpenCL version 1.2 compatibility when compiling GPU package kernels for OpenCL 2019-03-22 09:50:31 -04:00
75d63df4e0 fix small memory leak in pair style hybrid when reading restarts 2019-03-22 05:41:32 -04:00
8916aeb36d update for README to USER-SMTBQ with up-to-date maintainer e-mails 2019-03-22 05:25:14 -04:00
b975d59d9f make use of copymode flag in pair style destructors consistent 2019-03-22 05:15:02 -04:00
8f90d6c6d0 must bracket 'memory->destroy()' calls in destructor with 'if (allocated)' 2019-03-22 04:55:13 -04:00
1e8ccb1774 initialize setflag and cutsq pointers to NULL, so they are not accessed uninitialized by accident 2019-03-22 04:54:06 -04:00
76b9c0049d Merge pull request #1359 from martok/dynamical-matrix
Updates and bugfixes to the dynamical_matrix command
2019-03-20 21:34:34 -04:00
2cbf56846a Commit JT 032019
- moved gneb files from src/REPLICA to src/SPIN
- changed name of min/spin
- implemented read_param in min.cpp and min_spin.cpp
- set sp_flag tests in min_spin.cpp and neb_spin.cpp
2019-03-20 10:41:36 -06:00
86810c2d7c Commit2 JT 031919
- correct error in fix_precession_spin
- only the sign of the force needed a correction
2019-03-19 22:44:26 -06:00
a508f1de6c Commit JT 031919
- correct. error in fix_prec_spin
- added min_post_force in fix_prec_spin
2019-03-19 22:30:44 -06:00
2dbc2c5916 fix spelling issues in documentation and some minor clarification 2019-03-19 16:04:53 -04:00
1c3e3ce548 add kim_query command to commands list 2019-03-19 15:57:19 -04:00
fed48427be update lib/kim/Install.py to support md5 checksum. update CMake support as needed 2019-03-19 15:48:03 -04:00
38c373a0e4 integrate new kim_query command into the documentation environment 2019-03-19 15:42:35 -04:00
741a7fe630 final touches to support compiling with libcurl transparently 2019-03-19 15:40:49 -04:00
7a8bb5baaf come code cleanup and refactoring 2019-03-19 15:33:53 -04:00
02b800a3bb add template for new kim_query command 2019-03-19 15:33:48 -04:00
a626efbca0 Merge pull request #1370 from akohlmey/write-data-for-dihedrals-fixes
Enable write_data for more dihedral styles and related corrections
2019-03-19 13:55:15 -04:00
487671c46b enable write_data functionality for more dihedral styles 2019-03-19 12:10:30 -04:00
e87e215bcc enable and correct write_data output for dihedral style spherical 2019-03-19 12:02:25 -04:00
c0c61268ee store only dihedral style info in restart, no coeffs 2019-03-19 11:56:23 -04:00
cf8bee9b46 remove unused and redundant data elements. no write_data support for tables. 2019-03-19 11:43:29 -04:00
0d4dbb8d73 Merge branch 'clean-master2' of github.com:julient31/lammps into gneb_spin 2019-03-19 09:01:27 -06:00
194e11c329 Commit JT 031919
- bug with sk sim
- commit/push before pull up-to-date SPIN from master
2019-03-19 08:12:49 -06:00
ac20d1ab41 fix corner-case issue with hyper communication, also timer 2019-03-18 09:52:16 -06:00
2bac365081 support old style PDF build for new pair style granular 2019-03-15 15:51:08 -04:00
a7a1fd4ee5 remove reference to USER-OMP version of fix wall/gran 2019-03-15 15:50:44 -04:00
4cd0ea61f2 change source code format style to be more like other LAMMPS sources 2019-03-15 15:33:15 -04:00
05a5ecd4d4 silence compiler warnings about unused parameters 2019-03-15 15:24:41 -04:00
27510f313c change formatting to closer resemble LAMMPS common source code format style 2019-03-15 15:24:16 -04:00
d278cfe230 remove pointless recursive self-include 2019-03-15 15:10:44 -04:00
b6459b3f74 Merge branch 'master' into gran_mods 2019-03-15 14:30:36 -04:00
28607f156e use C++ style include headers for accessing C library functions 2019-03-15 14:25:14 -04:00
c26068a57a use LAMMPS style indentation for class definitions 2019-03-15 14:24:45 -04:00
8845a1a0ae whitespace cleanup (remove ctrl-m, trailing whitespace) 2019-03-15 14:20:10 -04:00
3f0f2383b4 fix spelling and record false positives 2019-03-15 14:18:04 -04:00
3abfce01ca remove diverged fix wall/gran/omp 2019-03-15 14:06:03 -04:00
2558509b70 Merge pull request #1366 from jrgissing/bond/react-delete_internal_groups
Bond/react: unfixing deletes internal groups
2019-03-14 19:29:39 -04:00
d66b07dabe Commit2 JT 031419
- commit before solo tests
2019-03-14 15:39:45 -06:00
a3c936d283 bug fixes for new local hyperdynamics reduced comm 2019-03-14 15:13:02 -06:00
033a5c2721 Commit JT 031419
- cleaned fix_neb_spin
- first working version
2019-03-14 11:07:24 -06:00
5608f87c15 bond/react:unfix_deletes_internal_groups 2019-03-13 21:55:17 -06:00
5556567e91 Merge pull request #46 from lammps/master
rebase
2019-03-13 21:41:08 -06:00
8c50c3d7c8 Commit JT 031319
- improved gneb functions
- correct name in fix_neb (Weinan)
2019-03-13 17:02:40 -06:00
aca8ce1f53 Merge branch 'master' into hyper
sync with GH master
2019-03-13 12:19:06 -06:00
985fc86aa3 use ev_init for kspace 2019-03-13 17:55:30 +01:00
ff2d8e55c9 use ev_init for bonds 2019-03-13 17:54:10 +01:00
fbd600592b use ev_init for dihedrals 2019-03-13 17:53:22 +01:00
6e6f903818 use ev_init for angles 2019-03-13 17:51:41 +01:00
c7af948dfc use ev_init for impropers 2019-03-13 17:50:50 +01:00
17c81295c2 use ev_init for fixes 2019-03-13 17:50:10 +01:00
06a57dd659 use ev_unset for all pair styles 2019-03-13 17:49:16 +01:00
7fe1cceb76 fix some leftover bigint conversions, groupmap construction 2019-03-13 14:05:46 +01:00
e8efa01006 dynamical_matrix progress indicator 2019-03-13 14:05:46 +01:00
bb8398b22b streamline writeMatrix function 2019-03-13 14:05:46 +01:00
d30e69e871 fix writing binary dynmat file 2019-03-13 14:05:46 +01:00
adcd46da55 require an atom map for dynamical_matrix 2019-03-13 14:05:46 +01:00
3b234c167f USER-MEAMC: fix incomplete clearing of ev variables 2019-03-13 13:53:10 +01:00
2cc35ee777 A few additional enhancements to pair granular and fix wall granular option:
- NULL option for tangential stiffness, to set it based on shear modulus
- calculation of effective shear moduli from elastic moduli and Poisson's ratio
- updates to doc page example syntax
2019-03-13 00:42:08 -06:00
f6fb8b220d Commit 2 JT 031219
- modified examples (gneb and spinmin now distinct)
- started documention for spinmin
2019-03-12 16:59:13 -06:00
0d73fe99fd Update Kokkos docs 2019-03-12 15:34:12 -06:00
b51d06b3ea Change default binsize for Kokkos if running on GPUs 2019-03-12 15:33:28 -06:00
75ddde438c Commit JT 031219
- correct errors in fix_prec_spin
- clean version of spinmin
2019-03-12 14:38:49 -06:00
3a4bb6f980 All errors and warning are now printed through LAMMPS 2019-03-12 20:19:56 +01:00
cc2b5fbb80 Commit JT 031119
- add min_post_force in precession
2019-03-11 17:37:44 -06:00
e0c935b52d Additional changes to pair_granular:
-added mindlin and mindlin/rescale tangential model options
-torque from tangential force is now applied at the same point on both contacting particles
-updated doc page to reflect changes above
2019-03-11 14:28:44 -06:00
5fff18932d Commit 2 JT 031119
- new input files gneb and spinmin
2019-03-11 13:23:55 -06:00
14a00662e6 Commit JT 031119
- first working version of spinmin
2019-03-11 13:04:03 -06:00
c3acb3e4ef Merge pull request #1361 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2019-03-08 12:11:59 -05:00
4e2ebf7feb Merge pull request #1352 from mkanski/reax_var_atoms
A partial fix for ReaxFF failure when the number of atoms increases during a simulation
2019-03-07 15:44:15 -05:00
2077df5465 Merge pull request #1363 from stanmoore1/kk_deprecated
Remove deprecated code in KOKKOS package
2019-03-07 15:42:58 -05:00
e62746ef27 protect group command against options that require unavailble properties resulting in segfaults 2019-03-07 15:38:23 -05:00
a5c93e75a5 ignore src/lmpgitversion.h 2019-03-07 15:12:22 -05:00
3bc815efe8 fix a memory leak in fix bocs 2019-03-07 15:11:33 -05:00
9cb2a56194 Remove deprecated Kokkos code 2019-03-07 10:47:40 -07:00
0edc588458 Replace deprecated Kokkos capacity() with span() 2019-03-07 10:23:17 -07:00
f0e48931e4 Remove deprecated KOKKO_HAVE macros 2019-03-07 10:17:32 -07:00
9408dd6e92 use simpler way whether we are inside a git checkout in conventional build 2019-03-06 18:41:43 -05:00
4e632d1b79 implement another suggestion from @junghans 2019-03-06 17:32:08 -05:00
2918dae87e correct variable name and path to find the local .git folder 2019-03-06 17:12:41 -05:00
fe56cf04bc simplify the detection of whether the source folder is checked out from a local git repo 2019-03-06 17:04:14 -05:00
436e02aa6e small corrections/clarifications to the pull request template 2019-03-06 16:59:17 -05:00
4ee98d18da Fixed missing reference in pair_granular doc page 2019-03-06 14:15:19 -07:00
9a6dc2ff11 Removed several files that should not have been included 2019-03-06 13:54:32 -07:00
c0ce8591e7 Merge pull request #1358 from ellio167/kim-link-update
Update openkim.org urls in various places
2019-03-06 12:22:12 -05:00
b628e3b1b6 Update openkim.org urls in various places 2019-03-06 10:26:03 -06:00
4a17cb3467 Merge pull request #1357 from akohlmey/embed-git-revision
Embed git branch and revision info into LAMMPS class
2019-03-05 23:31:16 -05:00
c5a3b034ce implement various suggestions to improve the use of git information gathered 2019-03-05 17:29:34 -05:00
bfa950a7e9 Added initialization for grown arrays 2019-03-05 22:40:10 +01:00
390fc873bc Merge pull request #1355 from julient31/bfo_spin
bugfix update for SPIN package
2019-03-05 14:27:28 -05:00
6b8a768f6c Merge pull request #1356 from akohlmey/address-user-smtbq-vla-issue
Address Variable-Length-Array issues, memory leaks, uninitialized data access issues in USER-SMTBQ
2019-03-05 14:26:30 -05:00
146e2f283a Better error handling in reaxc_forces 2019-03-05 19:11:33 +01:00
1c7d191988 also print git version (if available) in multi-partition runs and in help message 2019-03-05 09:03:12 -05:00
1e573bd557 when compiling LAMMPS in a git checkout, embed and print git branch and revision info into the executable 2019-03-05 08:35:53 -05:00
bc4a80d9e8 Merge pull request #1354 from akohlmey/collected-small-fixes
Collected small fixes and updates for the next patch release
2019-03-05 00:55:36 -05:00
fa7b5ecfa3 disable chimet array in pair style smtbq, which was never set anywhere 2019-03-05 00:45:40 -05:00
6ed8fbbd51 handle uninitialized data access issues and out-of-bounds access for single element calculations 2019-03-04 18:01:55 -05:00
0d1524526a work around the remaining variable length array cases. fix an off-by-one error, too. 2019-03-04 17:26:55 -05:00
ab0c35be93 Commit JT 030419
- correction of pair_spin calculations
- corrects an error between i and ii lists in single/pair calc.
2019-03-04 08:04:11 -07:00
849e52040a Merge branch 'clean-master2' of github.com:julient31/lammps into bfo_spin 2019-03-04 07:51:12 -07:00
edd4b0cf25 Commit JT 030419
- added minspin
- modifs before co
2019-03-04 07:35:02 -07:00
f0ec2e3279 refactoring of global and local hyper, including amended doc pages 2019-03-01 18:47:34 -07:00
5ecbb8bd01 fix int vs. bigint issue and add NULL file pointer check to dynamical_matrix 2019-03-01 09:46:13 -05:00
30ee2f3d78 avoid windows portability issues with int32_t 2019-03-01 09:37:38 -05:00
0f0a65bb48 plug small memory leak in USER-ADIOS 2019-03-01 09:37:33 -05:00
d8845b6817 Added initialization of the entire num_bonds and num_hbonds arrays 2019-03-01 13:13:11 +01:00
87a243203b Removed pair_granular.cpp/h from src directory 2019-02-28 16:46:21 -07:00
5486896876 Merge pull request #1350 from akohlmey/next-patch-release
Step version string for next patch release
2019-02-28 17:56:51 -05:00
47b0c77dd9 replace variable length arrays with std::vector 2019-02-28 17:53:50 -05:00
fbc9cf8354 fix huge memory leak 2019-02-28 17:53:17 -05:00
c555f7e2ed update permissions 2019-02-28 17:52:53 -05:00
14e6c126a8 Merge pull request #1314 from charlessievers/OptimizedDynamicalMatrix
add command to compute the Dynamical Matrix
2019-02-28 17:08:36 -05:00
50fef541c2 add x-ref 2019-02-28 15:50:59 -05:00
5fd033c0a2 add one more false positive required by recent changes 2019-02-28 15:49:48 -05:00
1d2eab5e1b update attribution information in Package details documentation 2019-02-28 15:26:36 -05:00
7062bc862e remove third_order command and ASE based examples to be added in a new pull request 2019-02-28 15:21:48 -05:00
9298fe7868 fix segfault and copy-n-modify issues with third order command 2019-02-28 14:45:42 -05:00
16946d8c6d integrate dynamical_matrix command into LAMMPS manual 2019-02-28 14:45:07 -05:00
286112ffbc count each force computation as one simulation step. this avoids accessing uninitialized data, too. 2019-02-28 11:00:55 -05:00
326a97624e Merge pull request #1317 from ornladios/adios2-master
USER-ADIOS package with ADIOS 2.x
2019-02-27 17:24:12 -05:00
80392224cd Merge pull request #1351 from ellio167/kim-2.0.1
Bump KIM API version to 2.0.1
2019-02-27 17:21:30 -05:00
b60f0f754c small tweaks to USER-ADIOS docs 2019-02-27 17:18:08 -05:00
6bd56c2a85 update author attribution 2019-02-27 17:08:13 -05:00
a4e580879c Merge pull request #1347 from akohlmey/collected-small-fixes
Collected small fixes for the next patch release
2019-02-27 17:02:21 -05:00
54e5c76333 Bump KIM API version to 2.0.1 2019-02-27 15:50:08 -06:00
6bf9c06a5a Step version string for next patch release 2019-02-27 16:19:20 -05:00
9cc7bea05d bugfix for changes in #1340 2019-02-27 16:09:46 -05:00
099b9baf0d update blob about providing a suitable e-mail contact in PR template 2019-02-27 16:08:42 -05:00
28f1ad9145 update License section to unconditionally confirm GPL and LGPL licensing 2019-02-27 16:08:41 -05:00
f178cc0a73 add template for help requests and generic issues
NOTE: the help request issue template actually asks people
to post to the lammps-users mailing list.
2019-02-27 16:08:41 -05:00
9185f28a12 correct compute group/group documentation for use with EAM styles 2019-02-27 16:08:41 -05:00
229ded45ee pull request template update 2019-02-27 16:08:41 -05:00
ba320967a5 fix variable delete bug reported in #1346 2019-02-27 16:08:41 -05:00
73401d02c0 convert a couple of inputs from using pair style reax to reax/c 2019-02-27 16:08:41 -05:00
eb39866e87 Merge pull request #1340 from akohlmey/bonus-data-checks
Bonus data checks and updates. Part 1
2019-02-27 15:10:58 -05:00
0efc3765f8 add warning when writing incomplete data file due to bonus data 2019-02-27 14:57:25 -05:00
05774ed894 Merge pull request #1315 from jan-janssen/patch-1
Adjust LAMMPS python module for compiling the shared library with CMake, which uses a different extension on MacOS X.
2019-02-27 14:46:53 -05:00
c4d081b507 hide output to stderr when looking for adios-config. we only need the error status. 2019-02-27 14:16:36 -05:00
9bec93faa9 update spell-checking false positives for USER-ADIOS package 2019-02-26 19:51:18 -05:00
9178b9446a remove trailing whitespace 2019-02-26 19:50:50 -05:00
eea30c5b76 half-bond lists and no bond migration for local hyper 2019-02-26 16:17:31 -07:00
36b8271e04 Merge pull request #1348 from akohlmey/create-atoms-optimization
Optimization for create_atoms with regions (2nd attempt)
2019-02-26 12:19:37 -05:00
de29763d1a new attempt at the create_atoms optimization for small regions in large boxes
this passes the test input with the rotated lattice
2019-02-25 17:11:54 -05:00
394fd751d1 Merge pull request #1344 from erozic/bugfix-library-scatter-subset
Fixed bug in lammps_scatter_atoms_subset...
2019-02-22 15:10:33 -05:00
d76569c033 Merge pull request #1320 from eofetis/manual-pdf-support
Add support for Sphinx+PDF+MathJax
2019-02-22 15:10:13 -05:00
e6df92e65a Merge pull request #1011 from ellio167/kim-v2-update
KIM v2 update
2019-02-21 20:06:59 -05:00
e6a7c8b03b Merge pull request #1335 from donatas-surblys/langevin-tally-zero
correct fix langevin with tally yes zero yes
2019-02-21 20:06:44 -05:00
b38033bc59 Fixed bug in lammps_scatter_atoms_subset...
- ids was ignored for the single-value integer arrays (e.g. type, id, ...)
2019-02-21 01:07:46 +01:00
3ad268739b Add dump adios to PDF build. Update example config with better documentation 2019-02-20 17:02:48 -05:00
a5f20305d4 Add user-adios to PACKLIB and PACKEXT 2019-02-20 16:28:51 -05:00
2de01cef45 Dump atom/adios and dump custom/adios command notifications 2019-02-20 16:21:07 -05:00
1179beb543 Makefile build support for USER-ADIOS and build documentation 2019-02-20 14:42:28 -05:00
75fe967876 remove fluff about adios in CMakeLists.txt. 2019-02-20 09:02:24 -05:00
9c52a37546 PIMPL implementation of USER-ADIOS to hide internal data from style header file 2019-02-20 09:02:24 -05:00
a4b9542ba9 remove personal runconf file. cleanup ADIOS2 xml config file for example 2019-02-20 09:02:24 -05:00
410d79d8b7 Add an example for USER/adios based on the balance example 2019-02-20 09:02:24 -05:00
200fed9d4c Fix basic errors in USER-ADIOS code 2019-02-20 09:02:24 -05:00
24234d3a0b Fixed cmake build for ADIOS 2.x 2019-02-20 09:02:24 -05:00
8db88b1c02 Added initial untested ADIOS 2.x code with cmake building problems 2019-02-20 09:02:24 -05:00
4e26ca29f7 Changes to new generalized granular pair styles and fix wall/gran
-Clean-up of unused variables in code
-Bug fix for single method of pair granular
-Changes to fix wall/gran to fix issues with JKR
-Doc page updates for fix wall/gran and fix wall/gran/region
2019-02-19 16:47:13 -07:00
ff795e761a Added generalized granular option to fix wall/gran and fix wall/gran/region; some minor bug fixes for pair granular 2019-02-19 14:31:27 -07:00
12bec9cbad Merge pull request #1339 from pmla/ptm-update
USER-PTM package update
2019-02-18 19:43:31 +01:00
d8e8a0d2d2 More changes to pair granular:
- tangential damping now set by scaling the normal damping
- some fixes to the twisting coefficients for the Marshall twist model
- progress (completion?) of doc page
2019-02-18 09:58:34 -07:00
9207b8814e Merge pull request #1341 from rbberger/cmake_detect_changes
Fixes part of issue #1278
2019-02-18 08:18:47 +01:00
f0a410aa96 replaced manual allocation with std::vector 2019-02-17 23:17:37 -05:00
f25b06fab0 Fixes part of issue #1278
Moving a style header or touching it will now trigger a reconfiguration before
building, which triggers style files to be regenerated.
2019-02-17 20:53:21 -05:00
a0450fbd2b fix copy-n-modify error 2019-02-17 18:51:15 -05:00
7b47c82452 update global bonus data counters 2019-02-17 18:50:35 -05:00
07c1942b13 update global bonus data counters after deleting atoms 2019-02-17 17:14:45 -05:00
7d0c0bc984 make nlocal_bonus accessible 2019-02-17 17:14:01 -05:00
d890848412 add a check for consistent bonus data 2019-02-17 15:03:59 -05:00
09de4fb953 add support for checking consistency of atom bonus data 2019-02-17 15:01:13 -05:00
318dd34737 correct cut-n-paste error 2019-02-17 15:00:04 -05:00
d5fd423496 silence compiler warnings 2019-02-16 13:52:40 -05:00
3a34c6f17a use c++ style include files throughout 2019-02-16 13:42:38 -05:00
9168df575a replace (evil) tabs with blanks 2019-02-16 13:41:04 -05:00
6724ebbdc1 remove trailing whitespace 2019-02-16 13:31:38 -05:00
551e7a5943 added contact address 2019-02-15 19:42:28 -05:00
bae2e61fa0 documentation bugfix 2019-02-15 19:40:37 -05:00
8a28046b4c typo in PTM docs 2019-02-15 18:52:40 -05:00
35d2de298f added license information to all files
updated documentation
added example file
added graphene structure
2019-02-15 18:49:23 -05:00
978b716f18 Merge branch 'master' into kim-v2-update 2019-02-15 07:48:18 -05:00
c2725f5a49 forward build type setting to compiling downloaded KIM API 2019-02-15 03:53:09 -05:00
afa50ab61a update pathspec when linking KIM API from downloaded archive 2019-02-15 02:21:07 -05:00
c193a9aee9 Updated Errors_messages.txt & false_positives.txt 2019-02-14 19:28:18 -06:00
a8cee136fe Merge pull request #1338 from akohlmey/fix-bug-in-compute-reduce
revert broken changes to compute reduce
2019-02-14 23:19:38 +01:00
e8d56d3ea6 revert broken changes to compute reduce 2019-02-14 16:22:52 -05:00
e95cf4e917 Some various doc updates for kim-api support 2019-02-14 13:38:28 -06:00
333154633b Merge branch 'master' into kim-v2-update 2019-02-14 13:29:50 -06:00
c8f113f4a6 Merge pull request #1333 from jrgissing/bond/react-revert_bond_forming_behavior
Bond/react: revert bond-forming reaction behavior
2019-02-14 18:24:49 +01:00
14667749c6 Merge pull request #1332 from jrgissing/bond/react-C++11-compliance
make fix bond/react c++ standard compliant by eliminating variable length arrays.
2019-02-14 18:24:32 +01:00
d0ed6f2bf5 reflect changes to fix langevin also in the manual 2019-02-14 05:45:52 -05:00
8020f5b965 remove warning messages when using 'tally yes zero yes' with fix langevin 2019-02-14 18:54:59 +09:00
b3a7a534a9 make fix langevin correctly account for energy with 'zero yes' 2019-02-14 18:54:59 +09:00
0108855930 update .gitignore for the doc folder 2019-02-14 02:54:02 -05:00
d08979737c bond/react:partially_revert_bonding_atom_choice
choose closest eligible bonding partner, unless directly bonded (in which case we assume a bond-breaking reaction)
2019-02-13 22:56:56 -07:00
13f1c7d2d7 bond/react_VLA_compliance 2019-02-13 20:42:52 -07:00
b7ee3606db Merge pull request #44 from lammps/master
rebase
2019-02-13 20:01:34 -07:00
88b62fa6bd add old style PDF build to "make old" target.
this will create the old style Manual.pdf in the old folder and put Developer.pdf there, too.
2019-02-13 12:43:35 -05:00
34d4209197 Merge pull request #1331 from akohlmey/collected-small-changes
Collected small changes
2019-02-13 16:47:27 +01:00
528e6632ed OpenMP doesn't use "version #.#" with their specs, but just OpenMP #.# 2019-02-13 10:41:43 -05:00
eaf2ca9c84 Merge pull request #1272 from lammps/utility-functions
Add library of utility functions to make LAMMPS code simpler and more consistent.

This is the first part of multiple pull requests that will add some more of these functions and will apply them to more of LAMMPS.
2019-02-13 16:30:46 +01:00
a645278d6b Merge pull request #1325 from Adrian-Diaz/shrink_wrap_tiled
Support shrink wrap boundary condition when reading data files with comm tiled enabled
2019-02-13 16:28:58 +01:00
9ac908f05f switch download server for voro++ from LBL to download.lammps.org, which seems much more reliable 2019-02-13 09:53:20 -05:00
581b7d3543 update list of false positives after docs changes 2019-02-13 09:23:54 -05:00
8bed429ab7 reduce warnings due to signed/unsiged comparisons 2019-02-13 07:42:25 -05:00
393948f363 dead code removal and compiler warning silencing 2019-02-13 07:42:25 -05:00
cf86334f43 using int instead of size_t should be more efficient and range doesn't seem to be needed 2019-02-13 07:42:25 -05:00
76533b1572 remove dead code and silence compiler warnings in USER-YAFF package 2019-02-13 07:42:24 -05:00
38b003261d silence compiler warnings about unused parameters in USER-OMP package 2019-02-13 07:42:24 -05:00
24ff914e5a silence compiler warnings about unused parameters in the GPU package 2019-02-13 07:42:24 -05:00
d6200fde93 add one more OpenMP version string 2019-02-12 12:17:36 -05:00
82187eaac3 fix stupid typo 2019-02-12 11:34:26 -05:00
36ad48b259 add OpenMP version detection and info output 2019-02-12 11:28:52 -05:00
eb8a6512e2 rename and document script to automatically convert 'default(none)' to 'default(shared)' OpenMP pragmas 2019-02-12 09:44:19 -05:00
6ff1557af8 More progress on doc page 2019-02-12 07:42:26 -07:00
ac7d74f2a5 silence some more compiler warnings about unused arguments 2019-02-12 08:07:44 -05:00
a0b7bf0f5c reformat fix wall/gran/region docs
this should make it easier to recognize that these walls can be
moving/rotating/growing/shrinking due to using time dependent
equal style variables in the region definition
2019-02-12 08:07:28 -05:00
e582c0d4e5 Update lammps.py 2019-02-12 08:20:54 +01:00
f5e3c53880 Update install.py 2019-02-12 08:08:22 +01:00
e7c1ca1fca Revert changes 2019-02-12 08:07:28 +01:00
b7413226e0 Several changes to new consolidated granular code:
- Normal contact models take Young's modulus and Poisson's ratio (instead of Young's and shear modulus)
- Mixing of Young's moduli corrected
- Changes to cutoffs corrected for JKR pulloff distance
- Renamed 'mindlin' to 'linear_history'
- Progress on doc page
2019-02-11 21:37:06 -07:00
4b8621e7ef Added additional tutorials for the dynamical matrix calculator 2019-02-11 19:46:22 -08:00
d2093fe8c2 fixing a version conflict for an if statement 2019-02-11 18:39:07 -07:00
39b6e0b7c8 allowing shrink wrap with comm tiled 2019-02-11 16:55:31 -05:00
277f8356b1 Update lammps.py 2019-02-09 08:46:22 +01:00
0fade44b43 Update install.py 2019-02-09 08:45:03 +01:00
b29d526632 Merge pull request #1323 from akohlmey/next-patch-release
Patch release 8 February 2019
2019-02-08 21:43:39 +01:00
77c24f1b79 Merge branch 'master' into next-patch-release
# Conflicts:
#	.github/PULL_REQUEST_TEMPLATE.md
2019-02-08 15:34:40 -05:00
b4765683da restore generic pull request template (for now) 2019-02-08 15:27:16 -05:00
f286155dd3 Merge pull request #1306 from stanmoore1/kk_angle_cosine
Add Kokkos version of angle/cosine
2019-02-08 21:07:36 +01:00
f04d97e66e Merge pull request #1312 from stanmoore1/kk_update
Update Kokkos library to v2.8.00
2019-02-08 21:07:23 +01:00
b871b4e13d Merge pull request #1321 from akohlmey/collected-small-fixes
Collected small fixes for the next patch release
2019-02-08 17:19:01 +01:00
8b449e569b Merge pull request #1318 from akohlmey/github-template-update
New GitHub PR templates
2019-02-08 17:18:30 +01:00
be6c2d781b Merge pull request #1322 from akohlmey/add-code-of-conduct
Add a code of conduct to lammps github project
2019-02-08 17:18:05 +01:00
a35f407dfc Patch release 8 February 2019 2019-02-08 17:15:22 +01:00
82355342bf improve wording about avoiding namespace imports in headers 2019-02-08 17:08:15 +01:00
773476634b Update Kokkos library in LAMMPS to v2.8.00 2019-02-08 08:50:26 -07:00
1b4ed9cb8d revert region optimization to create_atoms 2019-02-08 16:24:48 +01:00
997727d26c add a code of conduct to github project
complete the "github open source best practices" setup by adapting a
code of conduct for any public communications about LAMMPS on github.
2019-02-08 14:21:37 +01:00
a71159578e fix typo 2019-02-08 02:29:03 -05:00
ae85ca18fc provide multiple and more specific pull request templates 2019-02-07 15:53:46 +01:00
4d192e541e update github contribution guidelines text 2019-02-07 14:58:52 +01:00
8da5289638 add readme file adapted from https://github.com/pmla/polyhedral-template-matching/blob/master/README.md to USER-PTM package 2019-02-07 14:40:52 +01:00
ad8aeb8b00 using POSIX compatible version of strdup() (i.e. _strdup()) on windows 2019-02-07 14:11:02 +01:00
f80c577b3c Merge pull request #1316 from akohlmey/python-portable-header
Rename python.h to lmppython.h
2019-02-07 14:05:49 +01:00
510641c065 Merge pull request #1319 from lammps/akohlmey-new-issue-templates
Update issue templates to have a different template for bug reports and feature requests.
2019-02-07 14:02:10 +01:00
622eb47902 some small tweaks, fixes for typos, and url corrections for the manual 2019-02-07 01:19:29 -05:00
019e534f80 some small tweaks, fixes for typos, and url corrections for the manual 2019-02-07 01:16:48 -05:00
6068a719ff Updated example/kim/log.* files 2019-02-06 23:53:47 -06:00
927dc262b2 Update CMake & Install.py for KIM API v2 2019-02-06 23:41:45 -06:00
7c1fb847f4 Slight tweak to sed in doc/Makefile 2019-02-06 18:00:23 -08:00
4fe6528ed4 Add support for Sphinx+PDF+MathJax 2019-02-06 17:14:50 -08:00
ebcbc5bdbd fix some formatting and spelling/grammar errors in bug report template 2019-02-06 17:32:44 -05:00
c9a7513dc6 remove outdated generic issue template 2019-02-06 17:26:59 -05:00
17cd92a3f2 Update issue templates
Take advantage of the fact, that GitHub now allows to have separate issue templates for bug reports and feature requests
2019-02-06 17:15:52 -05:00
490f67d332 third order tensor calculator 2019-02-06 12:05:41 -08:00
e96878a70e Commit JT 020619
- correction gneb/spin
- run but do not converge yet
- check forces
2019-02-06 11:35:33 -07:00
4226522e20 minor dynmat changes and start of third order changes 2019-02-05 17:52:28 -08:00
8ec9b6fb64 Memory Use Reduction 2019-02-05 11:49:15 -08:00
d7c2ecadad add support for using utils::sfgets() to pair style airebo and check whether sscanf() was parsing numbers correctly 2019-02-05 17:05:49 +01:00
0eef5ebaa3 add support for using utils::sfgets() to pair style adp 2019-02-05 17:04:54 +01:00
c42b269803 convert several more table styles to use utils::sfgets() 2019-02-05 16:18:55 +01:00
0c4e76ce84 bugfix for fix qeq/reax to make it usable without pair reax/c 2019-02-05 11:55:02 +01:00
7e1f760b72 rename python.h to lmppython.h and correspondingly python.cpp to lmppython.cpp 2019-02-04 14:24:53 -05:00
e00757e108 support utils:sfgets() 2019-02-04 14:23:29 -05:00
9fcd69921f Commit JT 020419
- neb/spin implemneted
- rotational initial states to be implemented
- climbing image to be implemented
2019-02-04 11:27:00 -07:00
9915a6725f Commit JT 020419
- correct in magelec (if ii<n)
- check correct, apply it to other pairs
2019-02-04 17:21:59 +01:00
b9d8b5f501 lib extension for Mac Os X 2019-02-04 09:23:29 +01:00
d677335b23 Merge remote-tracking branch 'lammps/master' into kim-v2-update 2019-02-03 12:45:44 -06:00
a9b0fb9e9d Some adjustments to kim Install.py 2019-02-03 12:43:48 -06:00
5c3e3f381b added a groupmap 2019-02-03 09:13:37 -08:00
b417cfda9b removed dead code and reduce compiler warnings about unused parameters 2019-02-03 11:36:41 -05:00
7c2a61ad4c Define lib_ext 2019-02-02 17:55:09 +01:00
a8aeba78f3 change write_coeff to use utils:sfgets() 2019-02-02 10:20:49 -05:00
562bc4e584 Update install.py 2019-02-02 13:05:26 +01:00
adebe90315 Optimized Dynamical Matrix 2019-02-01 21:55:29 -08:00
682b456aae Optimized (but not working) Dynamical Matrix command) 2019-02-01 16:18:17 -08:00
64834e4a3d Update Kokkos library 2019-02-01 12:45:54 -07:00
989496d26c use utils::sfgets() where the return status of fgets() is not checked 2019-02-01 12:23:06 +01:00
a401998ede correct sfgets() API to use const char for preprocessor string. whitespace cleanup 2019-02-01 12:23:06 +01:00
0fe5b6c34c apply cfvarg() function to compute reduce 2019-02-01 12:23:06 +01:00
a0699027f7 fix typo 2019-02-01 12:23:06 +01:00
37821f4fa4 more specific style matching for kspace 2019-02-01 12:23:06 +01:00
bb36e6e3c8 implement some examples for using the utils::strmatch() function and use it for inexact Force::pair_match() 2019-02-01 12:23:06 +01:00
7fcc76f071 implement the first three convenience utility functions 2019-02-01 12:23:06 +01:00
e195d6faee Fixed issue with not setting i-j, j-i coefficients correctly 2019-01-30 08:37:04 -07:00
08b1728a96 Commit JT 012919
- commit tuesday evening, second day imp.
- dev. fix_neb_spin
2019-01-29 13:05:03 -07:00
54b9a1335c Add Kokkos version of angle_cosine 2019-01-28 11:29:28 -07:00
a278df586d cleanup up rendezvous diagnostic output 2019-01-24 09:56:21 -07:00
4ce68cf5fd added diagnostic info for memory and balance info 2019-01-23 16:01:10 -07:00
9de0262155 added rendezvous via all2all 2019-01-23 14:49:52 -07:00
23ce00f366 Merge remote-tracking branch 'lammps/master' into kim-v2-update 2019-01-16 21:49:14 -06:00
26eb17aa50 Fixed tangential damping in pair granular; fixed order of template arguments, so that pair gran and gran/multi now produce identical results for same settings (as they should) 2019-01-15 16:42:06 -07:00
6e4e244e65 More doc page additions 2019-01-15 13:31:16 -07:00
ef803be08e Moved all model option syntax for pair granular to pair coeff command;
added global cutoff option for pair style granular command; initial
write-up of documentation.
2019-01-15 10:18:46 -07:00
29dcdec875 Separated templated pair granular from pair granular/multi 2019-01-10 16:53:50 -07:00
18f8f68e67 Fixed several input parsing issues in pair granular; fixed issue with JKR hysteresis and damping with JKR 2019-01-08 16:33:24 -07:00
faa716e348 Added PairGranular::single method 2019-01-07 16:27:04 -07:00
dced4c1fca More changes, fixed indentation issues 2019-01-04 17:03:31 -07:00
41ccf832bf update log files 2018-12-30 04:30:58 -05:00
6d5ab3dac1 Merge branch 'github-rebo-bugfix' of https://github.com/CF17/lammps into test-rebo
# Conflicts:
#	examples/airebo/log.23Jun17.airebo-m.g++.1
#	examples/airebo/log.23Jun17.airebo-m.g++.4
#	examples/airebo/log.23Jun17.airebo.g++.1
#	examples/airebo/log.23Jun17.airebo.g++.4
#	examples/airebo/log.27Nov18.airebo-m.g++.1
#	examples/airebo/log.27Nov18.airebo-m.g++.4
#	examples/airebo/log.27Nov18.airebo.g++.1
#	examples/airebo/log.27Nov18.airebo.g++.4
#	examples/airebo/log.29Jun18.airebo-m.g++.1
#	examples/airebo/log.29Jun18.airebo-m.g++.4
#	examples/airebo/log.29Jun18.airebo.g++.1
#	examples/airebo/log.29Jun18.airebo.g++.4
2018-12-30 03:44:38 -05:00
7b4d0092b0 Added type- and form-dependent conditionals in PairGranular::compute,
still some issues with overall structure of the code.
2018-12-22 14:33:09 -07:00
71ed60ced3 More work on compute method for generalized pair granular 2018-12-21 15:41:46 -07:00
009d8c8ebf Added parsing to pair_coeff, added for for init_one 2018-12-21 09:29:47 -07:00
7861de03a2 Progress on general granular pair style 2018-12-20 16:59:21 -07:00
fd8130859b fix a small memory leak in SHAKE setup 2018-12-19 17:40:35 -07:00
67782d71a8 Granular pair style files added 2018-12-18 21:23:04 -07:00
7cdb4675ee Merge branch 'master' of github.com:lammps/lammps into gran_mods 2018-12-18 13:41:38 -07:00
6c0b100a53 Merge branch 'master' into kim-v2-update 2018-12-16 15:56:33 -06:00
540026ca00 Update CMakeLists.txt to avoid merge conflicts 2018-12-16 15:53:51 -06:00
e538fd5c6d added rendezvous alg to fix shake 2018-12-12 17:14:56 -07:00
b068690e13 Update for kim-api beta.3 release 2018-12-12 16:21:54 -06:00
7c3d6dc051 propagate rendezvous changes to fix rigid/small 2018-12-07 16:43:01 -07:00
ece1aff7e9 less comm version of special bonds rendezvous 2018-12-07 15:46:27 -07:00
3021189cc9 Merge branch 'master' of github.com:lammps/lammps into gran_mods 2018-12-05 13:52:52 -07:00
2e0d69b005 replace STL map with atom->map in special, better code comments 2018-11-30 13:06:31 -07:00
ab1c3f6498 rendevous comm option for special bonds and fix rigid/small 2018-11-30 11:54:48 -07:00
e51720a2de add code to detect inconistent use of AIREBO/REBO potential files 2018-11-20 13:59:14 -05:00
dcffeb546f update AIREBO/REBO examples and provide references for rebo and airebo with LJ and TORSION turned off 2018-11-20 13:56:46 -05:00
1235e77199 implemented recommended change to remove global class member 2018-11-20 13:56:46 -05:00
c59b3439c6 changes the values of some parameters in REBO in accordance to the original Brenner paper 2018-11-20 13:56:46 -05:00
03b1129abd Update pair_kim to check for ModelRoutine requirements
Also fixup cmake settings for PKG_KIM
2018-11-14 13:11:47 -05:00
81e79ec884 Have KIM use LAMMPS specified compilers 2018-11-05 15:39:10 -06:00
4a4147e0e4 Remove hard-coded compiler versions for KIM in CMake 2018-11-05 11:15:07 -06:00
29ae88e309 Update docs for KIM 2018-11-05 09:37:35 -06:00
dd61ded311 Update cmake build to work with cmake-based KIM 2018-11-05 09:31:21 -06:00
9ed6f2fc43 Adjust lib/kim install script and settings 2018-11-04 20:10:04 -06:00
b0938b70d5 Merge branch 'master' into kim-v2-update 2018-11-01 19:41:13 -05:00
8dd3bce7c5 Update to C KIM_API bindings 2018-11-01 19:33:52 -05:00
762a4b97ac Revert "pair_kim - no need to comm vatom() values"
This reverts commit 9962f941e6.
2018-10-30 21:54:59 -05:00
1b98c0e40d Merge remote-tracking branch 'lammps/master' into kim-v2-update 2018-10-30 18:40:55 -05:00
52cb8cf51b Merge conflicts in fwgr.cpp fixed 2018-10-18 16:39:20 -06:00
b9d12f0aa0 Update function pointer name 2018-10-01 22:01:12 -05:00
f61f43a56b Merge branch 'master' into kim-v2-update 2018-10-01 21:17:26 -05:00
634ed487a5 Use pkg-config to find kim-api-v2 library settings 2018-09-04 22:43:55 -05:00
796b6b2d9c Merge branch 'master' into kim-v2-update 2018-08-24 14:28:33 -05:00
dd2a1e4787 Fix typos in pair_kim.cpp 2018-08-18 12:38:29 -05:00
d0667d21cc Merge branch 'master' into kim-v2-update 2018-08-18 12:23:19 -05:00
7aa7002347 Added check & error for KIM/LAMMPSvirial argument 2018-08-18 12:02:22 -05:00
9962f941e6 pair_kim - no need to comm vatom() values 2018-08-18 11:53:03 -05:00
dde0974a1a Update for corrected neighbor list hint 2018-08-13 22:34:42 -05:00
6ab93b52bc Merge remote-tracking branch 'lammps/master' into kim-v2-update 2018-07-23 09:30:43 -05:00
c0a7cabcba Added GPLv2 exception to link to kim-api in pair_kim.* 2018-07-18 22:15:23 -05:00
62c8ba7824 pair_kim : private to protected and add virtual to all routines 2018-07-16 21:21:28 -05:00
e37e9cfa2f Add virtual set_contributing() to pair_kim 2018-07-16 19:46:00 -05:00
286a284c5a Merge branch 'gran_mods' of github.com:dsbolin/lammps 2018-07-13 15:06:44 -06:00
67e6afaab2 Update to KIM kim-api-v2.0.0-beta.1 2018-07-11 15:09:58 -07:00
3e73418601 Updated example/kim log files 2018-07-11 15:09:58 -07:00
81e33f5f78 Minor fixes & Error message updates in pair_kim.h 2018-07-11 15:09:58 -07:00
af42251142 Update doc/src/pair_kim.txt 2018-07-11 15:09:58 -07:00
fcec1498e3 update input example scripts for pair_kim 2018-07-11 15:09:58 -07:00
90a9b7ccd1 Remove pair_kim support for partialVirial - do it w/fdotr 2018-07-11 15:09:58 -07:00
7eeb96f1af Update pair_kim to work with new neig. list Hints 2018-07-11 15:09:58 -07:00
0264e044e2 Update example/kim input files 2018-07-11 15:09:58 -07:00
0fbc6bebf5 Fix no-virial support -> LAMMPSvirial in pair_kim 2018-07-11 15:09:58 -07:00
5bdc295331 Add skin to pair_kim neigh-list cutoffs & update docs 2018-07-11 15:09:58 -07:00
68ec8822ee Update example/kim/log.* 2018-07-11 15:09:58 -07:00
955fe583d8 Updated docs for new pair_kim 2018-07-11 15:09:57 -07:00
cb21051eb8 Update KIM Model matching code in pair_kim.cpp 2018-07-11 15:09:28 -07:00
199a017148 Some cleanup in pair_kim 2018-07-11 15:09:28 -07:00
a7e3ccd8c4 Finish off multi-neighbor list support for pair_kim 2018-07-11 15:09:28 -07:00
f1f140dd5f remove unnecessary code in pair_kim.cpp 2018-07-11 15:09:28 -07:00
cb07782935 Multiple neig lists working in pair_kim 2018-07-11 15:09:28 -07:00
5958b24edc Adjust some internal pair_kim things 2018-07-11 15:09:28 -07:00
8a8b968d55 Fixup the pressure/virial computation in pair_kim 2018-07-11 15:09:28 -07:00
da9441471a Fixup partialVirial bug in pair_kim 2018-07-11 15:09:28 -07:00
906a12353c Fixup neighbor list settings for pair_kim 2018-07-11 15:09:28 -07:00
8bbba22867 First working version of pair_kim with kim-api-v2 2018-07-11 15:09:28 -07:00
2fa9a986de Strip out all but NEIGH_PURE_F and Loca from pair_kim
Progress toward implementation of kim-api-v2 support
2018-07-11 15:09:28 -07:00
5dafd03d1f Various fixes to fix/wall/gran DMT 2018-05-10 13:56:02 -06:00
158c7531fe Added pair/gran/dmt as a granular wall interaction option 2018-04-16 16:03:50 -06:00
f94c5b7637 Added 'store_contacts' option to fix/wall/gran/region to store info about individual particle-wall contacts 2018-04-16 12:40:22 -06:00
85e934681d Added DMT and JKR pair styles with rolling friction 2018-04-16 12:39:45 -06:00
1351 changed files with 91012 additions and 21196 deletions

67
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@ -0,0 +1,67 @@
# Code of Conduct for the LAMMPS Project on GitHub
## Our Pledge
In the interest of fostering an open and welcoming environment, we as LAMMPS
developers, contributors, and maintainers pledge to making participation in
our project a harassment-free experience for everyone.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of explicit language or imagery
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, issues, and other contributions that are not
aligned to this Code of Conduct, or to ban temporarily or permanently any
developer, maintainer, or contributor for this or other behaviors that they
deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies to all public exchanges in the LAMMPS project
on GitHub and in submitted code.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at developer@lammps.org. All
complaints will be reviewed and investigated and will result in a response
that is deemed necessary and appropriate to the circumstances. The project
team is obligated to maintain confidentiality with regard to the reporter
of an incident.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

View File

@ -2,10 +2,10 @@
Thank your for considering to contribute to the LAMMPS software project.
The following is a set of guidelines as well as explanations of policies and workflows for contributing to the LAMMPS molecular dynamics software project. These guidelines focus on submitting issues or pull requests on the LAMMPS GitHub project.
The following is a set of guidelines as well as explanations of policies and work flows for contributing to the LAMMPS molecular dynamics software project. These guidelines focus on submitting issues or pull requests on the LAMMPS GitHub project.
Thus please also have a look at:
* [The Section on submitting new features for inclusion in LAMMPS of the Manual](http://lammps.sandia.gov/doc/Section_modify.html#mod-15)
* [The Section on submitting new features for inclusion in LAMMPS of the Manual](https://lammps.sandia.gov/doc/Modify_contribute.html)
* [The LAMMPS GitHub Tutorial in the Manual](http://lammps.sandia.gov/doc/Howto_github.html)
## Table of Contents
@ -18,7 +18,7 @@ Thus please also have a look at:
* [Suggesting Enhancements](#suggesting-enhancements)
* [Contributing Code](#contributing-code)
[GitHub Workflows](#github-workflows)
[GitHub Work flows](#github-workflows)
* [Issues](#issues)
* [Pull Requests](#pull-requests)
@ -26,17 +26,17 @@ __
## I don't want to read this whole thing I just have a question!
> **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to the ['lammps-users' mailing list](http://lammps.sandia.gov/mail.html). You do not need to be subscribed to post to the list (but a mailing list subscription avoids having your post delayed until it is approved by a mailing list moderator). Most posts to the mailing list receive a response within less than 24 hours. Before posting to the mailing list, please read the [mailing list guidelines](http://lammps.sandia.gov/guidelines.html). Following those guidelines will help greatly to get a helpful response. Always mention which LAMMPS version you are using.
> **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to the ['lammps-users' mailing list](https://lammps.sandia.gov/mail.html). You do not need to be subscribed to post to the list (but a mailing list subscription avoids having your post delayed until it is approved by a mailing list moderator). Most posts to the mailing list receive a response within less than 24 hours. Before posting to the mailing list, please read the [mailing list guidelines](https://lammps.sandia.gov/guidelines.html). Following those guidelines will help greatly to get a helpful response. Always mention which LAMMPS version you are using.
## How Can I Contribute?
There are several ways how you can actively contribute to the LAMMPS project: you can discuss compiling and using LAMMPS, and solving LAMMPS related problems with other LAMMPS users on the lammps-users mailing list, you can report bugs or suggest enhancements by creating issues on GitHub (or posting them to the lammps-users mailing list), and you can contribute by submitting pull requests on GitHub or e-mail your code
to one of the [LAMMPS core developers](http://lammps.sandia.gov/authors.html). As you may see from the aforementioned developer page, the LAMMPS software package includes the efforts of a very large number of contributors beyond the principal authors and maintainers.
to one of the [LAMMPS core developers](https://lammps.sandia.gov/authors.html). As you may see from the aforementioned developer page, the LAMMPS software package includes the efforts of a very large number of contributors beyond the principal authors and maintainers.
### Discussing How To Use LAMMPS
The LAMMPS mailing list is hosted at SourceForge. The mailing list began in 2005, and now includes tens of thousands of messages in thousands of threads. LAMMPS developers try to respond to posted questions in a timely manner, but there are no guarantees. Please consider that people live in different timezone and may not have time to answer e-mails outside of their work hours.
You can post to list by sending your email to lammps-users at lists.sourceforge.net (no subscription required), but before posting, please read the [mailing list guidelines](http://lammps.sandia.gov/guidelines.html) to maximize your chances to receive a helpful response.
You can post to list by sending your email to lammps-users at lists.sourceforge.net (no subscription required), but before posting, please read the [mailing list guidelines](https://lammps.sandia.gov/guidelines.html) to maximize your chances to receive a helpful response.
Anyone can browse/search previous questions/answers in the archives. You do not have to subscribe to the list to post questions, receive answers (to your questions), or browse/search the archives. You **do** need to subscribe to the list if you want emails for **all** the posts (as individual messages or in digest form), or to answer questions yourself. Feel free to sign up and help us out! Answering questions from fellow LAMMPS users is a great way to pay back the community for providing you a useful tool for free, and to pass on the advice you have received yourself to others. It improves your karma and helps you understand your own research better.
@ -44,7 +44,7 @@ If you post a message and you are a subscriber, your message will appear immedia
### Reporting Bugs
While developers writing code for LAMMPS are careful to test their code, LAMMPS is such a large and complex software, that it is impossible to test for all combinations of features under all normal and not so normal circumstances. Thus bugs do happen, and if you suspect, that you have encountered one, please try to document it and report it as an [Issue](https://github.com/lammps/lammps/issues) on the LAMMPS GitHub project web page. However, before reporting a bug, you need to check whether this is something that may have already been corrected. The [Latest Features and Bug Fixes in LAMMPS](http://lammps.sandia.gov/bug.html) web page lists all significant changes to LAMMPS over the years. It also tells you what the current latest development version of LAMMPS is, and you should test whether your issue still applies to that version.
While developers writing code for LAMMPS are careful to test their code, LAMMPS is such a large and complex software, that it is impossible to test for all combinations of features under all normal and not so normal circumstances. Thus bugs do happen, and if you suspect, that you have encountered one, please try to document it and report it as an [Issue](https://github.com/lammps/lammps/issues) on the LAMMPS GitHub project web page. However, before reporting a bug, you need to check whether this is something that may have already been corrected. The [Latest Features and Bug Fixes in LAMMPS](https://lammps.sandia.gov/bug.html) web page lists all significant changes to LAMMPS over the years. It also tells you what the current latest development version of LAMMPS is, and you should test whether your issue still applies to that version.
When you click on the green "New Issue" button, you will be provided with a text field, where you can enter your message. That text field with contain a template with several headlines and some descriptions. Keep the headlines that are relevant to your reported potential bug and replace the descriptions with the information as suggested by the descriptions.
You can also attach small text files (please add the file name extension `.txt` or it will be rejected), images, or small compressed text files (using gzip, do not use RAR or 7-ZIP or similar tools that are uncommon outside of Windows machines). In many cases, bugs are best illustrated by providing a small input deck (do **not** attach your entire production input, but remove everything that is not required to reproduce the issue, and scale down your system size, that the resulting calculation runs fast and can be run on small desktop quickly).
@ -62,13 +62,13 @@ To be able to submit an issue on GitHub, you have to register for an account (fo
We encourage users to submit new features or modifications for LAMMPS to the core developers so they can be added to the LAMMPS distribution. The preferred way to manage and coordinate this is by submitting a pull request at the LAMMPS project on GitHub. For any larger modifications or programming project, you are encouraged to contact the LAMMPS developers ahead of time, in order to discuss implementation strategies and coding guidelines, that will make it easier to integrate your contribution and result in less work for everybody involved. You are also encouraged to search through the list of open issues on GitHub and submit a new issue for a planned feature, so you would not duplicate the work of others (and possibly get scooped by them) or have your work duplicated by others.
How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core code base, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of typical requirements. Once you have prepared everything, see [this tutorial](http://lammps.sandia.gov/doc/Howto_github.html)
How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core code base, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of typical requirements. Once you have prepared everything, see [this tutorial](https://lammps.sandia.gov/doc/Howto_github.html)
for instructions on how to submit your changes or new files through a GitHub pull request
Here is a checklist of steps you need to follow to submit a single file or user package for our consideration. Following these steps will save both you and us time. See existing files in packages in the source directory for examples. If you are uncertain, please ask on the lammps-users mailing list.
* All source files you provide must compile with the most current version of LAMMPS with multiple configurations. In particular you need to test compiling LAMMPS from scratch with `-DLAMMPS_BIGBIG` set in addition to the default `-DLAMMPS_SMALLBIG` setting. Your code will need to work correctly in serial and in parallel using MPI.
* For consistency with the rest of LAMMPS and especially, if you want your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per level, no tabs, no lines over 80 characters. I/O is done via the C-style stdio library, class header files should not import any system headers outside <stdio.h>, STL containers should be avoided in headers, and forward declarations used where possible or needed. All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. Header files must not import namespaces with using. This all is so the developers can more easily understand, integrate, and maintain your contribution and reduce conflicts with other parts of LAMMPS. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of the error class for error and warning messages.
* For consistency with the rest of LAMMPS and especially, if you want your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per level, no tabs, no lines over 80 characters. I/O is done via the C-style stdio library, style class header files should not import any system headers outside of <cstdio>, STL containers should be avoided in headers, and forward declarations used where possible or needed. All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. There MUST NOT be any "using namespace XXX;" statements in headers. In the implementation file (<name>.cpp) system includes should be placed in angular brackets (<>) and for c-library functions the C++ style header files should be included (<cstdio> instead of <stdio.h>, or <cstring> instead of <string.h>). This all is so the developers can more easily understand, integrate, and maintain your contribution and reduce conflicts with other parts of LAMMPS. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of the error class for error and warning messages.
* If you want your contribution to be added as a user-contributed feature, and it is a single file (actually a `<name>.cpp` and `<name>.h` file) it can be rapidly added to the USER-MISC directory. Include the one-line entry to add to the USER-MISC/README file in that directory, along with the 2 source files. You can do this multiple times if you wish to contribute several individual features.
* If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user package directory with a name like USER-FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a tarball of this USER-FOO directory.
* Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your code.
@ -102,10 +102,10 @@ For bug reports, the next step is that one of the core LAMMPS developers will se
### Pull Requests
For submitting pull requests, there is a [detailed tutorial](http://lammps.sandia.gov/doc/Howto_github.html) in the LAMMPS manual. Thus only a brief breakdown of the steps is presented here. Please note, that the LAMMPS developers are still reviewing and trying to improve the process. If you are unsure about something, do not hesitate to post a question on the lammps-users mailing list or contact one fo the core LAMMPS developers.
For submitting pull requests, there is a [detailed tutorial](https://lammps.sandia.gov/doc/Howto_github.html) in the LAMMPS manual. Thus only a brief breakdown of the steps is presented here. Please note, that the LAMMPS developers are still reviewing and trying to improve the process. If you are unsure about something, do not hesitate to post a question on the lammps-users mailing list or contact one fo the core LAMMPS developers.
Immediately after the submission, the LAMMPS continuing integration server at ci.lammps.org will download your submitted branch and perform a simple compilation test, i.e. will test whether your submitted code can be compiled under various conditions. It will also do a check on whether your included documentation translates cleanly. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each the pull request is updated with a push to the remote branch on GitHub.
Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you are not yet registered as a LAMMPS collaborator, you will receive an invitation for that.
You may also receive comments and suggestions on the overall submission or specific details. If permitted, additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes.
Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you are not yet registered as a LAMMPS collaborator, you will receive an invitation for that. As part of the assesment, the pull request will be categorized with labels. There are two special labels: `needs_work` (indicates that work from the submitter of the pull request is needed) and `work_in_progress` (indicates, that the assigned LAMMPS developer will make changes, if not done by the contributor who made the submit).
You may also receive comments and suggestions on the overall submission or specific details and on occasion specific requests for changes as part of the review. If permitted, also additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes.
The LAMMPS developer may then decide to assign the pull request to another developer (e.g. when that developer is more knowledgeable about the submitted feature or enhancement or has written the modified code). It may also happen, that additional developers are requested to provide a review and approve the changes. For submissions, that may change the general behavior of LAMMPS, or where a possibility of unwanted side effects exists, additional tests may be requested by the assigned developer.
If the assigned developer is satisfied and considers the submission ready for inclusion into LAMMPS, the pull request will receive approvals and be merged into the master branch by one of the core LAMMPS developers. After the pull request is merged, you may delete the feature branch used for the pull request in your personal LAMMPS fork.
Since the learning curve for git is quite steep for efficiently managing remote repositories, local and remote branches, pull requests and more, do not hesitate to ask questions, if you are not sure about how to do certain steps that are asked of you. Even if the changes asked of you do not make sense to you, they may be important for the LAMMPS developers. Please also note, that these all are guidelines and nothing set in stone. So depending on the nature of the contribution, the workflow may be adjusted.

View File

@ -1,31 +0,0 @@
## Summary
_Please provide a brief description of the issue_
## Type of Issue
_Is this a 'Bug Report' or a 'Suggestion for an Enhancement'?_
## Detailed Description (Enhancement Suggestion)
_Explain how you would like to see LAMMPS enhanced, what feature(s) you are looking for, provide references to relevant background information, and whether you are willing to implement the enhancement yourself or would like to participate in the implementation_
## LAMMPS Version (Bug Report)
_Please specify which LAMMPS version this issue was detected with. If this is not the latest development version, please stop and test that version, too, and report it here if the bug persists_
## Expected Behavior (Bug Report)
_Describe the expected behavior. Quote from the LAMMPS manual where needed or explain why the expected behavior is meaningful, especially when it differs from the manual_
## Actual Behavior (Bug Report)
_Describe the actual behavior, how it differs from the expected behavior, and how this can be observed. Try to be specific and do **not* use vague terms like "doesn't work" or "wrong result". Do not assume that the person reading this has any experience with or knowledge of your specific research._
## Steps to Reproduce (Bug Report)
_Describe the steps required to quickly reproduce the issue. You can attach (small) files to the section below or add URLs where to download an archive with all necessary files. Please try to create input that are as small as possible and run as fast as possible. NOTE: the less effort and time it takes to reproduce your issue, the more likely, that somebody will look into it._
## Further Information, Files, and Links
_Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications_

32
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,32 @@
---
name: Bug report
about: Create a bug report to help us eliminate issues and improve LAMMPS
title: "[BUG] _Replace With Suitable Title_"
labels: bug
assignees: ''
---
**Summary**
_Please provide a clear and concise description of what the bug is._
**LAMMPS Version and Platform**
_Please specify precisely which LAMMPS version this issue was detected with (the first line of the output) and what platform (operating system and its version, hardware) you are running on. If possible, test with the most recent LAMMPS patch version_
**Expected Behavior**
_Describe the expected behavior. Quote from the LAMMPS manual where needed, or explain why the expected behavior is meaningful, especially when it differs from the manual_
**Actual Behavior**
_Describe the actual behavior, how it differs from the expected behavior, and how this can be observed. Try to be specific and do **not** use vague terms like "doesn't work" or "wrong result". Do not assume that the person reading this has any experience with or knowledge of your specific area of research._
**Steps to Reproduce**
_Describe the steps required to (quickly) reproduce the issue. You can attach (small) files to the section below or add URLs where to download an archive with all necessary files. Please try to create an input set that is as minimal and small as possible and reproduces the bug as quickly as possible. **NOTE:** the less effort and time it takes to reproduce your reported bug, the more likely it becomes, that somebody will look into it and fix the problem._
**Further Information, Files, and Links**
_Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications_

View File

@ -0,0 +1,20 @@
---
name: Feature request
about: Make a suggestion for a new feature or a change to LAMMPS
title: "[Feature Request] _Replace with Title_"
labels: enhancement
assignees: ''
---
**Summary**
_Please provide a brief and concise description of the suggested feature or change_
**Detailed Description**
_Please explain how you would like to see LAMMPS enhanced, what feature(s) you are looking for, what specific problems this will solve. If possible, provide references to relevant background information like publications or web pages, and whether you are planning to implement the enhancement yourself or would like to participate in the implementation. If applicable add a reference to an existing bug report or issue that this will address._
**Further Information, Files, and Links**
_Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications_

21
.github/ISSUE_TEMPLATE/generic.md vendored Normal file
View File

@ -0,0 +1,21 @@
---
name: Generic Issue
about: For issues that do not fit any of the other categories
title: "_Replace With a Descriptive Title_"
labels:
assignees: ''
---
**Summary**
_Please provide a clear and concise description of what this issue report is about._
**LAMMPS Version and Platform**
_Please specify precisely which LAMMPS version this issue was detected with (the first line of the output) and what platform (operating system and its version, hardware) you are running on. If possible, test with the most recent LAMMPS patch version_
**Details**
_Please explain the issue in detail here_

15
.github/ISSUE_TEMPLATE/help_request.md vendored Normal file
View File

@ -0,0 +1,15 @@
---
name: Request for Help
about: "Don't post help requests here, email the lammps-users mailing list"
title: ""
labels: invalid
assignees: ''
---
Please **do not** post requests for help (e.g. with installing or using LAMMPS) here.
Instead send an e-mail to the lammps-users mailing list.
This issue tracker is for tracking LAMMPS development related issues only.
Thanks for your cooperation.

View File

@ -1,28 +1,43 @@
## Purpose
**Summary**
_Briefly describe the new feature(s), enhancement(s), or bugfix(es) included in this pull request. If this addresses an open GitHub Issue, mention the issue number, e.g. with `fixes #221` or `closes #135`, so that issue will be automatically closed when the pull request is merged_
_Briefly describe the new feature(s), enhancement(s), or bugfix(es) included in this pull request._
## Author(s)
**Related Issues**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
_If this addresses an open GitHub issue for this project, please mention the issue number here, and describe the relation. Use the phrases `fixes #221` or `closes #135`, when you want an issue to be automatically closed when the pull request is merged_
## Backward Compatibility
**Author(s)**
_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request. If this pull request adds new files to the distribution, please also provide a suitable "long-lived" e-mail address (ideally something that can outlive your institution's e-mail, in case you change jobs) for the *corresponding* author, i.e. the person the LAMMPS developers can contact directly with questions and requests related to maintenance and support of this contributed code._
## Implementation Notes
**Licensing**
By submitting this pull request, I agree, that my contribution will be included in LAMMPS and redistributed under either the GNU General Public License version 2 (GPL v2) or the GNU Lesser General Public License version 2.1 (LGPL v2.1).
**Backward Compatibility**
_Please state whether any changes in the pull request will break backward compatibility for inputs, and - if yes - explain what has been changed and why_
**Implementation Notes**
_Provide any relevant details about how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_
## Post Submission Checklist
**Post Submission Checklist**
_Please check the fields below as they are completed **after** the pull request has been submitted. Delete lines that don't apply_
_Please check the fields below as they are completed_
- [ ] The feature or features in this pull request is complete
- [ ] Suitable new documentation files and/or updates to the existing docs are included
- [ ] One or more example input decks are included
- [ ] Licensing information is complete
- [ ] Corresponding author information is complete
- [ ] The source code follows the LAMMPS formatting guidelines
- [ ] Suitable new documentation files and/or updates to the existing docs are included
- [ ] The added/updated documentation is integrated and tested with the documentation build system
- [ ] The feature has been verified to work with the conventional build system
- [ ] The feature has been verified to work with the CMake based build system
- [ ] A package specific README file has been included or updated
- [ ] One or more example input decks are included
## Further Information, Files, and Links
**Further Information, Files, and Links**
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_

View File

@ -0,0 +1,42 @@
---
name: Bug fix
about: Submit a pull request that fixes one or more bugs
title: "[BUGFIX] _Replace With Suitable Title_"
labels: bugfix
assignees: ''
---
**Summary**
_Briefly describe the bug or bugs, that are eliminated by this pull request._
**Related Issue(s)**
_If this request addresses or is related to an existing (open) GitHub issue, e.g. a bug report, mention the issue number number here following a pound sign (aka hashmark), e.g.`#222`._
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
**Licensing**
By submitting this pull request I implicitly accept, that my submission is subject to the same licensing terms as the files that are modified.
**Backward Compatibility**
_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_
**Detailed Description**
_Provide any relevant details about how the fixed bug can be reproduced, how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_
## Post Submission Checklist
_Please check the fields below as they are completed *after* the pull request is submitted_
- [ ] The code in this pull request is complete
- [ ] The source code follows the LAMMPS formatting guidelines
## Further Information, Files, and Links
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. to download input decks for testing)_

View File

@ -0,0 +1,35 @@
---
name: Maintenance or Refactoring
about: Submit a pull request that does code refactoring or other maintenance changes
title: "[MAINTENANCE] _Replace With Suitable Title_"
labels: maintenance
assignees: ''
---
**Summary**
_Briefly describe the included changes._
**Related Issue(s)**
_If this request addresses or is related to an existing (open) GitHub issue, e.g. a bug report, mention the issue number number here following a pound sign (aka hashmark), e.g.`#222`.
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
**Licensing**
By submitting this pull request I implicitly accept, that my submission is subject to the same licensing terms as the files that are modified.
**Detailed Description**
_Provide any relevant details about the included changes._
## Post Submission Checklist
_Please check the fields below as they are completed *after* the pull request is submitted_
- [ ] The pull request is complete
- [ ] The source code follows the LAMMPS formatting guidelines

View File

@ -0,0 +1,56 @@
---
name: New Feature
about: Submit a pull request that adds new Features (complete files) to LAMMPS
title: "[New Feature] _Replace With Suitable Title_"
labels: enhancement
assignees: ''
---
**Summary**
_Briefly describe the new feature(s) included in this pull request._
**Related Issues**
_If this addresses an existing (open) GitHub issue, e.g. a feature request, mention the issue number here following a pound sign (aka hashmark), e.g. `#331`._
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the features added in this pull request. Please provide a suitable "long-lived" e-mail address (e.g. from gmail, yahoo, outlook, etc.) for the *corresponding* author, i.e. the person the LAMMPS developers can contact directly with questions and requests related to maintenance and support of this code. now and in the future_
**Licensing**
_Please add *yes* or *no* to the following two statements (please contact @lammps/core if you have questions about this)_
My contribution may be licensed as GPL v2 (default LAMMPS license):
My contribution may be licensed as LGPL (for use as a library with proprietary software):
**Backward Compatibility**
_Please state if any of the changes in this pull request will affect backward compatibility for inputs, and - if yes - explain what has been changed and why_
**Implementation Notes**
_Provide any relevant details about how the new features are implemented, how correctness was verified, what platforms (OS, compiler, MPI, hardware, number of processors, accelerator(s)) it was tested on_
## Post Submission Checklist
_Please check the fields below as they are completed *after* the pull request has been submitted_
- [ ] The feature or features in this pull request is complete
- [ ] Licensing information is complete
- [ ] Corresponding author information is complete
- [ ] The source code follows the LAMMPS formatting guidelines
- [ ] Suitable new documentation files and/or updates to the existing docs are included
- [ ] The added/updated documentation is integrated and tested with the documentation build system
- [ ] The feature has been verified to work with the conventional build system
- [ ] The feature has been verified to work with the CMake based build system
- [ ] A package specific README file has been included or updated
- [ ] One or more example input decks are included
## Further Information, Files, and Links
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_

View File

@ -0,0 +1,42 @@
---
name: Update or Enhancement
about: Submit a pull request that provides update or enhancements for a package or feature in LAMMPS
title: "[UPDATE] _Replace With Suitable Title_"
labels: enhancement
assignees: ''
---
**Summary**
_Briefly describe what kind of updates or enhancements for a package or feature are included. If you are not the original author of the package or feature, please mention, whether your contribution was created independently or in collaboration/cooperation with the original author._
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
**Licensing**
By submitting this pull request I implicitly accept, that my submission is subject to the same licensing terms as the original package or feature(s) that are updated or amended by this pull request.
**Backward Compatibility**
_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_
**Implementation Notes**
_Provide any relevant details about how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_
**Post Submission Checklist**
_Please check the fields below as they are completed_
- [ ] The feature or features in this pull request is complete
- [ ] Suitable updates to the existing docs are included
- [ ] One or more example input decks are included
- [ ] The source code follows the LAMMPS formatting guidelines
**Further Information, Files, and Links**
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_

View File

@ -11,6 +11,8 @@ get_filename_component(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib
get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE)
get_filename_component(LAMMPS_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../doc ABSOLUTE)
find_package(Git)
# by default, install into $HOME/.local (not /usr/local), so that no root access (and sudo!!) is needed
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "default install path" FORCE )
@ -85,7 +87,8 @@ string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
# this is fast, so check for it all the time
message(STATUS "Running check for auto-generated files from make-based build system")
file(GLOB SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/style_*.h)
list(APPEND SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/lmpinstalledpkgs.h)
file(GLOB SRC_AUTOGEN_PACKAGES ${LAMMPS_SOURCE_DIR}/packages_*.h)
list(APPEND SRC_AUTOGEN_FILES ${SRC_AUTOGEN_PACKAGES} ${LAMMPS_SOURCE_DIR}/lmpinstalledpkgs.h ${LAMMPS_SOURCE_DIR}/lmpgitversion.h)
foreach(_SRC ${SRC_AUTOGEN_FILES})
get_filename_component(FILENAME "${_SRC}" NAME)
if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME})
@ -170,21 +173,17 @@ set(LAMMPS_LINK_LIBS)
set(LAMMPS_DEPS)
set(LAMMPS_API_DEFINES)
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
KSPACE MANYBODY MC MESSAGE MISC MOLECULE PERI REPLICA RIGID SHOCK
SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD
USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION
USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD
USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF
USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC USER-SCAFACOS
USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK
USER-QUIP USER-QMMM USER-YAFF)
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE
GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MOLECULE PERI POEMS QEQ
REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI
USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB
USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC
USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF
USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-ADIOS)
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
set(OTHER_PACKAGES CORESHELL QEQ)
foreach(PKG ${DEFAULT_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
endforeach()
foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
endforeach()
@ -201,6 +200,15 @@ endif()
include_directories(${LAMMPS_SOURCE_DIR})
if(PKG_USER-ADIOS)
# The search for ADIOS2 must come before MPI because
# it includes its own MPI search with the latest FindMPI.cmake
# script that defines the MPI::MPI_C target
enable_language(C)
find_package(ADIOS2 REQUIRED)
list(APPEND LAMMPS_LINK_LIBS adios2::adios2)
endif()
# do MPI detection after language activation, if MPI for these language is required
find_package(MPI QUIET)
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
@ -220,7 +228,6 @@ else()
list(APPEND LAMMPS_LINK_LIBS mpi_stubs)
endif()
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall)
set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES})
@ -307,10 +314,26 @@ pkg_depends(USER-LB MPI)
pkg_depends(USER-PHONON KSPACE)
pkg_depends(USER-SCAFACOS MPI)
include(CheckIncludeFileCXX)
find_package(OpenMP QUIET)
option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND})
if(BUILD_OMP OR PKG_KOKKOS OR PKG_USER-INTEL)
# TODO: this is a temporary workaround until a better solution is found. AK 2019-05-30
# GNU GCC 9.x uses settings incompatible with our use of 'default(none)' in OpenMP pragmas
# where we assume older GCC semantics. For the time being, we disable OpenMP by default
# for GCC 9.x and beyond. People may manually turn it on, but need to run the script
# src/USER-OMP/hack_openmp_for_pgi_gcc9.sh on all sources to make it compatible with gcc 9.
if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.99.9))
option(BUILD_OMP "Build with OpenMP support" OFF)
else()
option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND})
endif()
if(BUILD_OMP)
find_package(OpenMP REQUIRED)
check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE)
if(NOT HAVE_OMP_H_INCLUDE)
message(FATAL_ERROR "Cannot find required 'omp.h' header file")
endif()
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()
@ -354,7 +377,7 @@ if(PKG_KSPACE)
endif()
endif()
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-PLUMED OR PKG_USER-QUIP OR PKG_LATTE)
find_package(LAPACK)
find_package(BLAS)
if(NOT LAPACK_FOUND OR NOT BLAS_FOUND)
@ -368,19 +391,10 @@ if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
endif()
if(PKG_PYTHON)
find_package(PythonInterp REQUIRED)
find_package(PythonLibs REQUIRED)
add_definitions(-DLMP_PYTHON)
include_directories(${PYTHON_INCLUDE_DIR})
list(APPEND LAMMPS_LINK_LIBS ${PYTHON_LIBRARY})
if(BUILD_LIB AND BUILD_SHARED_LIBS)
if(NOT PYTHON_INSTDIR)
execute_process(COMMAND ${PYTHON_EXECUTABLE}
-c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))"
OUTPUT_VARIABLE PYTHON_INSTDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../python/lammps.py DESTINATION ${PYTHON_INSTDIR})
endif()
endif()
find_package(JPEG QUIET)
@ -437,9 +451,14 @@ else()
set(CUDA_REQUEST_PIC)
endif()
if(PKG_VORONOI)
option(DOWNLOAD_VORO "Download and compile the Voro++ library instead of using an already installed one" OFF)
find_package(VORO)
if(VORO_FOUND)
set(DOWNLOAD_VORO_DEFAULT OFF)
else()
set(DOWNLOAD_VORO_DEFAULT ON)
endif()
option(DOWNLOAD_VORO "Download and compile the Voro++ library instead of using an already installed one" ${DOWNLOAD_VORO_DEFAULT})
if(DOWNLOAD_VORO)
message(STATUS "Voro++ download requested - we will build our own")
include(ExternalProject)
@ -453,7 +472,7 @@ if(PKG_VORONOI)
set(VORO_BUILD_OPTIONS CXX=${CMAKE_CXX_COMPILER} CFLAGS=${VORO_BUILD_CFLAGS})
ExternalProject_Add(voro_build
URL http://math.lbl.gov/voro++/download/dir/voro++-0.4.6.tar.gz
URL https://download.lammps.org/thirdparty/voro++-0.4.6.tar.gz
URL_MD5 2338b824c3b7b25590e18e8df5d68af9
CONFIGURE_COMMAND "" BUILD_COMMAND make ${VORO_BUILD_OPTIONS} BUILD_IN_SOURCE 1 INSTALL_COMMAND ""
)
@ -472,7 +491,13 @@ if(PKG_VORONOI)
endif()
if(PKG_LATTE)
option(DOWNLOAD_LATTE "Download the LATTE library instead of using an already installed one" OFF)
find_package(LATTE)
if(LATTE_FOUND)
set(DOWNLOAD_LATTE_DEFAULT OFF)
else()
set(DOWNLOAD_LATTE_DEFAULT ON)
endif()
option(DOWNLOAD_LATTE "Download the LATTE library instead of using an already installed one" ${DOWNLOAD_LATTE_DEFAULT})
if(DOWNLOAD_LATTE)
if (CMAKE_VERSION VERSION_LESS "3.7") # due to SOURCE_SUBDIR
message(FATAL_ERROR "For downlading LATTE you need at least cmake-3.7")
@ -484,6 +509,9 @@ if(PKG_LATTE)
URL_MD5 85ac414fdada2d04619c8f936344df14
SOURCE_SUBDIR cmake
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> ${CMAKE_REQUEST_PIC}
-DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES}
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS}
-DCMAKE_Fortran_FLAGS_${BTYPE}=${CMAKE_Fortran_FLAGS_${BTYPE}} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
)
ExternalProject_get_property(latte_build INSTALL_DIR)
set(LATTE_LIBRARIES ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/liblatte.a)
@ -499,7 +527,15 @@ endif()
if(PKG_USER-SCAFACOS)
find_package(GSL REQUIRED)
option(DOWNLOAD_SCAFACOS "Download ScaFaCoS library instead of using an already installed one" OFF)
find_package(PkgConfig QUIET)
set(DOWNLOAD_SCAFACOS_DEFAULT ON)
if(PKG_CONFIG_FOUND)
pkg_check_modules(SCAFACOS QUIET scafacos)
if(SCAFACOS_FOUND)
set(DOWNLOAD_SCAFACOS_DEFAULT OFF)
endif()
endif()
option(DOWNLOAD_SCAFACOS "Download ScaFaCoS library instead of using an already installed one" ${DOWNLOAD_SCAFACOS_DEFAULT})
if(DOWNLOAD_SCAFACOS)
message(STATUS "ScaFaCoS download requested - we will build our own")
include(ExternalProject)
@ -539,8 +575,8 @@ if(PKG_USER-SCAFACOS)
list(APPEND LAMMPS_LINK_LIBS ${MPI_Fortran_LIBRARIES})
list(APPEND LAMMPS_LINK_LIBS ${MPI_C_LIBRARIES})
else()
FIND_PACKAGE(PkgConfig REQUIRED)
PKG_CHECK_MODULES(SCAFACOS scafacos REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(SCAFACOS REQUIRED scafacos)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_LDFLAGS})
endif()
include_directories(${SCAFACOS_INCLUDE_DIRS})
@ -554,29 +590,53 @@ if(PKG_USER-PLUMED)
validate_option(PLUMED_MODE PLUMED_MODE_VALUES)
string(TOUPPER ${PLUMED_MODE} PLUMED_MODE)
option(DOWNLOAD_PLUMED "Download Plumed package instead of using an already installed one" OFF)
find_package(PkgConfig QUIET)
set(DOWNLOAD_PLUMED_DEFAULT ON)
if(PKG_CONFIG_FOUND)
pkg_check_modules(PLUMED QUIET plumed)
if(PLUMED_FOUND)
set(DOWNLOAD_PLUMED_DEFAULT OFF)
endif()
endif()
option(DOWNLOAD_PLUMED "Download Plumed package instead of using an already installed one" ${DOWNLOAD_PLUMED_DEFAULT})
if(DOWNLOAD_PLUMED)
if(BUILD_MPI)
set(PLUMED_CONFIG_MPI "--enable-mpi")
set(PLUMED_CONFIG_CC ${CMAKE_MPI_C_COMPILER})
set(PLUMED_CONFIG_CXX ${CMAKE_MPI_CXX_COMPILER})
else()
set(PLUMED_CONFIG_MPI "--disable-mpi")
set(PLUMED_CONFIG_CC ${CMAKE_C_COMPILER})
set(PLUMED_CONFIG_CXX ${CMAKE_CXX_COMPILER})
endif()
if(BUILD_OMP)
set(PLUMED_CONFIG_OMP "--enable-openmp")
else()
set(PLUMED_CONFIG_OMP "--disable-openmp")
endif()
message(STATUS "PLUMED download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(plumed_build
URL https://github.com/plumed/plumed2/releases/download/v2.4.4/plumed-src-2.4.4.tgz
URL_MD5 71ed465bdc7c2059e282dbda8d564e71
URL https://github.com/plumed/plumed2/releases/download/v2.5.1/plumed-src-2.5.1.tgz
URL_MD5 c2a7b519e32197a120cdf47e0f194f81
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
${CONFIGURE_REQUEST_PIC}
--enable-modules=all
CXX=${CMAKE_MPI_CXX_COMPILER}
CC=${CMAKE_MPI_C_COMPILER}
--enable-modules=all
${PLUMED_CONFIG_MPI}
${PLUMED_CONFIG_OMP}
CXX=${PLUMED_CONFIG_CXX}
CC=${PLUMED_CONFIG_CC}
)
ExternalProject_get_property(plumed_build INSTALL_DIR)
set(PLUMED_INSTALL_DIR ${INSTALL_DIR})
list(APPEND LAMMPS_DEPS plumed_build)
if(PLUMED_MODE STREQUAL "STATIC")
add_definitions(-D__PLUMED_WRAPPER_CXX=1)
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/plumed/obj/kernel.o
"${PLUMED_INSTALL_DIR}/lib/plumed/obj/PlumedStatic.o" ${GSL_LIBRARIES} ${CMAKE_DL_LIBS})
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.a ${GSL_LIBRARIES} ${LAPACK_LIBRARIES} ${CMAKE_DL_LIBS})
elseif(PLUMED_MODE STREQUAL "SHARED")
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.so ${CMAKE_DL_LIBS})
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.so ${PLUMED_INSTALL_DIR}/lib/libplumedKernel.so ${CMAKE_DL_LIBS})
elseif(PLUMED_MODE STREQUAL "RUNTIME")
add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_INSTALL_DIR}/lib/libplumedKernel.so)
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumedWrapper.a -rdynamic ${CMAKE_DL_LIBS})
@ -584,7 +644,7 @@ if(PKG_USER-PLUMED)
set(PLUMED_INCLUDE_DIRS "${PLUMED_INSTALL_DIR}/include")
else()
find_package(PkgConfig REQUIRED)
pkg_check_modules(PLUMED plumed REQUIRED)
pkg_check_modules(PLUMED REQUIRED plumed)
if(PLUMED_MODE STREQUAL "STATIC")
add_definitions(-D__PLUMED_WRAPPER_CXX=1)
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.static)
@ -600,9 +660,13 @@ if(PKG_USER-PLUMED)
endif()
if(PKG_USER-MOLFILE)
set(MOLFILE_INCLUDE_DIRS "${LAMMPS_LIB_SOURCE_DIR}/molfile" CACHE STRING "Path to VMD molfile plugin headers")
add_library(molfile INTERFACE)
target_include_directories(molfile INTERFACE ${LAMMPS_LIB_SOURCE_DIR}/molfile)
target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS})
target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIRS})
# no need to link with -ldl on windows
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS})
endif()
list(APPEND LAMMPS_LINK_LIBS molfile)
endif()
@ -614,7 +678,13 @@ if(PKG_USER-NETCDF)
endif()
if(PKG_USER-SMD)
option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" OFF)
find_package(Eigen3 NO_MODULE)
if(EIGEN3_FOUND)
set(DOWNLOAD_EIGEN3_DEFAULT OFF)
else()
set(DOWNLOAD_EIGEN3_DEFAULT ON)
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")
include(ExternalProject)
@ -656,28 +726,43 @@ if(PKG_USER-VTK)
endif()
if(PKG_KIM)
option(DOWNLOAD_KIM "Download KIM-API v1 from OpenKIM instead of using an already installed one)" OFF)
find_package(CURL)
if(CURL_FOUND)
include_directories(${CURL_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${CURL_LIBRARIES})
add_definitions(-DLMP_KIM_CURL)
endif()
find_package(KIM-API QUIET)
if(KIM-API_FOUND)
set(DOWNLOAD_KIM_DEFAULT OFF)
else()
set(DOWNLOAD_KIM_DEFAULT ON)
endif()
option(DOWNLOAD_KIM "Download KIM-API from OpenKIM instead of using an already installed one" ${DOWNLOAD_KIM_DEFAULT})
if(DOWNLOAD_KIM)
message(STATUS "KIM-API v1 download requested - we will build our own")
message(STATUS "KIM-API download requested - we will build our own")
enable_language(C)
enable_language(Fortran)
include(ExternalProject)
ExternalProject_Add(kim_build
URL https://github.com/openkim/kim-api/archive/v1.9.5.tar.gz
URL_MD5 9f66efc128da33039e30659f36fc6d00
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
URL https://s3.openkim.org/kim-api/kim-api-2.0.2.txz
URL_MD5 537d9c0abd30f85b875ebb584f9143fa
BINARY_DIR build
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER}
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
)
ExternalProject_get_property(kim_build INSTALL_DIR)
set(KIM_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api-v1)
set(KIM_LIBRARIES ${INSTALL_DIR}/lib/libkim-api-v1.so)
set(KIM-API_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api)
set(KIM-API_LDFLAGS ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX})
list(APPEND LAMMPS_DEPS kim_build)
else()
find_package(KIM)
if(NOT KIM_FOUND)
message(FATAL_ERROR "KIM-API v1 not found, help CMake to find it by setting KIM_LIBRARY and KIM_INCLUDE_DIR, or set DOWNLOAD_KIM=ON to download it")
endif()
find_package(KIM-API REQUIRED)
endif()
list(APPEND LAMMPS_LINK_LIBS ${KIM_LIBRARIES})
include_directories(${KIM_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS "${KIM-API_LDFLAGS}")
include_directories(${KIM-API_INCLUDE_DIRS})
endif()
if(PKG_MESSAGE)
@ -692,6 +777,7 @@ if(PKG_MESSAGE)
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi")
else()
target_compile_definitions(cslib PRIVATE -DMPI_NO)
target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_MPI)
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi")
endif()
@ -711,7 +797,13 @@ endif()
if(PKG_MSCG)
find_package(GSL REQUIRED)
option(DOWNLOAD_MSCG "Download MSCG library instead of using an already installed one)" OFF)
find_package(MSCG QUIET)
if(MSGC_FOUND)
set(DOWNLOAD_MSCG_DEFAULT OFF)
else()
set(DOWNLOAD_MSCG_DEFAULT ON)
endif()
option(DOWNLOAD_MSCG "Download MSCG library instead of using an already installed one)" ${DOWNLOAD_MSCG_DEFAULT})
if(DOWNLOAD_MSCG)
if (CMAKE_VERSION VERSION_LESS "3.7") # due to SOURCE_SUBDIR
message(FATAL_ERROR "For downlading MSCG you need at least cmake-3.7")
@ -760,7 +852,6 @@ endif()
########################################################################
# Basic system tests (standard libraries, headers, functions, types) #
########################################################################
include(CheckIncludeFileCXX)
foreach(HEADER cmath)
check_include_file_cxx(${HEADER} FOUND_${HEADER})
if(NOT FOUND_${HEADER})
@ -808,6 +899,8 @@ foreach(PKG ${DEFAULT_PACKAGES})
list(APPEND LIB_SOURCES ${${PKG}_SOURCES})
include_directories(${${PKG}_SOURCES_DIR})
endif()
RegisterPackages(${${PKG}_SOURCES_DIR})
endforeach()
# packages that need defines set
@ -826,6 +919,8 @@ foreach(PKG ${ACCEL_PACKAGES})
# check for package files in src directory due to old make system
DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS})
RegisterPackages(${${PKG}_SOURCES_DIR})
endforeach()
##############################################
@ -874,7 +969,6 @@ if(PKG_USER-H5MD)
include_directories(${HDF5_INCLUDE_DIRS})
endif()
######################################################################
# packages which selectively include variants based on enabled styles
# e.g. accelerator packages
@ -927,7 +1021,7 @@ if(PKG_USER-OMP)
# detects styles which have USER-OMP version
RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES)
RegisterFixStyle("${USER-OMP_SOURCES_DIR}/fix_omp.h")
RegisterFixStyle(${USER-OMP_SOURCES_DIR}/fix_omp.h)
get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
@ -1040,37 +1134,76 @@ if(PKG_OPT)
endif()
if(PKG_USER-INTEL)
find_package(TBB REQUIRED)
find_package(MKL REQUIRED)
add_definitions(-DLMP_USER_INTEL)
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
message(FATAL_ERROR "USER-INTEL is only useful together with intel compiler")
endif()
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)")
set(INTEL_ARCH_VALUES cpu knl)
set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES})
validate_option(INTEL_ARCH INTEL_ARCH_VALUES)
string(TOUPPER ${INTEL_ARCH} INTEL_ARCH)
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
message(FATAL_ERROR "USER-INTEL needs at least a 2016 intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
endif()
if(NOT BUILD_OMP)
message(FATAL_ERROR "USER-INTEL requires OpenMP")
endif()
if(NOT ${LAMMPS_MEMALIGN} STREQUAL "64")
message(FATAL_ERROR "USER-INTEL is only useful with LAMMPS_MEMALIGN=64")
endif()
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)")
set(INTEL_ARCH_VALUES cpu knl)
set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES})
validate_option(INTEL_ARCH INTEL_ARCH_VALUES)
string(TOUPPER ${INTEL_ARCH} INTEL_ARCH)
if(INTEL_ARCH STREQUAL "KNL")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload")
set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"")
add_compile_options(-xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS})
add_definitions(-DLMP_INTEL_OFFLOAD)
find_package(Threads QUIET)
if(Threads_FOUND)
set(INTEL_LRT_MODE "threads" CACHE STRING "Long-range threads mode (none, threads, or c++11)")
else()
set(INTEL_LRT_MODE "none" CACHE STRING "Long-range threads mode (none, threads, or c++11)")
endif()
set(INTEL_LRT_VALUES none threads c++11)
set_property(CACHE INTEL_LRT_MODE PROPERTY STRINGS ${INTEL_LRT_VALUES})
validate_option(INTEL_LRT_MODE INTEL_LRT_VALUES)
string(TOUPPER ${INTEL_LRT_MODE} INTEL_LRT_MODE)
if(INTEL_LRT_MODE STREQUAL "THREADS")
if(Threads_FOUND)
add_definitions(-DLMP_INTEL_USELRT)
list(APPEND LAMMPS_LINK_LIBS ${CMAKE_THREAD_LIBS_INIT})
else()
message(FATAL_ERROR "Must have working threads library for Long-range thread support")
endif()
endif()
if(INTEL_LRT_MODE STREQUAL "C++11")
add_definitions(-DLMP_INTEL_USERLRT -DLMP_INTEL_LRT11)
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
message(FATAL_ERROR "USER-INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
endif()
else()
message(WARNING "USER-INTEL gives best performance with Intel compilers")
endif()
find_package(TBB QUIET)
if(TBB_FOUND)
list(APPEND LAMMPS_LINK_LIBS ${TBB_MALLOC_LIBRARIES})
else()
add_definitions(-DLMP_INTEL_NO_TBB)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
message(WARNING "USER-INTEL with Intel compilers should use TBB malloc libraries")
endif()
endif()
find_package(MKL QUIET)
if(MKL_FOUND)
add_definitions(-DLMP_USE_MKL_RNG)
list(APPEND LAMMPS_LINK_LIBS ${MKL_LIBRARIES})
else()
message(STATUS "Pair style dpd/intel will be faster with MKL libraries")
endif()
if((NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "64") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "128") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "256"))
message(FATAL_ERROR "USER-INTEL only supports memory alignment of 64, 128 or 256 on this platform")
endif()
if(INTEL_ARCH STREQUAL "KNL")
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
message(FATAL_ERROR "Must use Intel compiler with USER-INTEL for KNL architecture")
endif()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload")
set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"")
add_compile_options(-xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS})
add_definitions(-DLMP_INTEL_OFFLOAD)
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xCOMMON-AVX512")
else()
@ -1083,33 +1216,35 @@ if(PKG_USER-INTEL)
add_compile_options(${_FLAG})
endif()
endforeach()
else()
add_compile_options(-O3 -ffast-math)
endif()
endif()
add_definitions(-DLMP_INTEL_USELRT -DLMP_USE_MKL_RNG)
# collect sources
set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL)
set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/fix_intel.cpp
${USER-INTEL_SOURCES_DIR}/fix_nh_intel.cpp
${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp
${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp)
list(APPEND LAMMPS_LINK_LIBS ${TBB_MALLOC_LIBRARIES} ${MKL_LIBRARIES})
set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}")
set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL)
set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/intel_preprocess.h
${USER-INTEL_SOURCES_DIR}/intel_buffers.h
${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp
${USER-INTEL_SOURCES_DIR}/math_extra_intel.h
${USER-INTEL_SOURCES_DIR}/nbin_intel.h
${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp
${USER-INTEL_SOURCES_DIR}/npair_intel.h
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp
${USER-INTEL_SOURCES_DIR}/intel_simd.h
${USER-INTEL_SOURCES_DIR}/intel_intrinsics.h)
# detect styles which have a USER-INTEL version
RegisterStylesExt(${USER-INTEL_SOURCES_DIR} intel USER-INTEL_SOURCES)
RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h)
RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h)
RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h)
set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}")
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
if(PKG_KSPACE)
list(APPEND USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
endif()
# detects styles which have USER-INTEL version
RegisterStylesExt(${USER-INTEL_SOURCES_DIR} opt USER-INTEL_SOURCES)
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES})
include_directories(${USER-INTEL_SOURCES_DIR})
list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES})
include_directories(${USER-INTEL_SOURCES_DIR})
endif()
if(PKG_GPU)
@ -1151,6 +1286,10 @@ if(PKG_GPU)
message(FATAL_ERROR "Could not find bin2c, use -DBIN2C=/path/to/bin2c to help cmake finding it.")
endif()
option(CUDPP_OPT "Enable CUDPP_OPT" ON)
option(CUDA_MPS_SUPPORT "Enable tweaks to support CUDA Multi-process service (MPS)" OFF)
if(CUDA_MPS_SUPPORT)
set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY")
endif()
set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM primary architecture (e.g. sm_60)")
@ -1214,7 +1353,7 @@ if(PKG_GPU)
add_library(gpu STATIC ${GPU_LIB_SOURCES} ${GPU_LIB_CUDPP_SOURCES} ${GPU_OBJS})
target_link_libraries(gpu ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_BINARY_DIR}/gpu ${CUDA_INCLUDE_DIRS})
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -DMPI_GERYON -DUCL_NO_EXIT)
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -DMPI_GERYON -DUCL_NO_EXIT ${GPU_CUDA_MPS_FLAGS})
if(CUDPP_OPT)
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
target_compile_definitions(gpu PRIVATE -DUSE_CUDPP)
@ -1240,7 +1379,15 @@ if(PKG_GPU)
set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h)
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu)
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu)
list(REMOVE_ITEM GPU_LIB_CU
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu
)
foreach(GPU_KERNEL ${GPU_LIB_CU})
get_filename_component(basename ${GPU_KERNEL} NAME_WE)
@ -1251,7 +1398,21 @@ if(PKG_GPU)
GenerateOpenCLHeader(gayberne ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu)
GenerateOpenCLHeader(gayberne_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu)
list(APPEND GPU_LIB_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h)
GenerateOpenCLHeader(re_squared ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu)
GenerateOpenCLHeader(re_squared_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu)
GenerateOpenCLHeader(tersoff ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu)
GenerateOpenCLHeader(tersoff_zbl ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu)
GenerateOpenCLHeader(tersoff_mod ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu)
list(APPEND GPU_LIB_SOURCES
${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h
)
add_library(gpu STATIC ${GPU_LIB_SOURCES})
target_link_libraries(gpu ${OpenCL_LIBRARIES})
@ -1284,10 +1445,12 @@ endif()
######################################################
# Generate style headers based on global list of
# styles registered during package selection
# Generate packages headers from all packages
######################################################
set(LAMMPS_STYLE_HEADERS_DIR ${CMAKE_CURRENT_BINARY_DIR}/styles)
GenerateStyleHeaders(${LAMMPS_STYLE_HEADERS_DIR})
GeneratePackagesHeaders(${LAMMPS_STYLE_HEADERS_DIR})
include_directories(${LAMMPS_STYLE_HEADERS_DIR})
@ -1296,7 +1459,7 @@ include_directories(${LAMMPS_STYLE_HEADERS_DIR})
######################################
set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n")
set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n")
set(temp_PKG_LIST ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
set(temp_PKG_LIST ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
list(SORT temp_PKG_LIST)
foreach(PKG ${temp_PKG_LIST})
if(PKG_${PKG})
@ -1308,6 +1471,18 @@ message(STATUS "Generating lmpinstalledpkgs.h...")
file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${temp}" )
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h")
######################################
# Generate lmpgitversion.h
######################################
add_custom_target(gitversion COMMAND ${CMAKE_COMMAND}
-DCMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
-DGIT_EXECUTABLE="${GIT_EXECUTABLE}"
-DGIT_FOUND="${GIT_FOUND}"
-DLAMMPS_STYLE_HEADERS_DIR="${LAMMPS_STYLE_HEADERS_DIR}"
-P ${CMAKE_CURRENT_SOURCE_DIR}/Modules/generate_lmpgitversion.cmake)
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${LAMMPS_STYLE_HEADERS_DIR}/gitversion.h)
list(APPEND LAMMPS_DEPS gitversion)
###########################################
# Actually add executable and lib to build
############################################
@ -1352,6 +1527,15 @@ if(BUILD_EXE)
if(ENABLE_TESTING)
add_test(ShowHelp ${LAMMPS_BINARY} -help)
endif()
enable_language(C)
get_filename_component(MSI2LMP_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../tools/msi2lmp/src ABSOLUTE)
file(GLOB MSI2LMP_SOURCES ${MSI2LMP_SOURCE_DIR}/[^.]*.c)
add_executable(msi2lmp ${MSI2LMP_SOURCES})
target_link_libraries(msi2lmp m)
install(TARGETS msi2lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ${LAMMPS_DOC_DIR}/msi2lmp.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
endif()
###############################################################################
@ -1415,11 +1599,14 @@ if(BUILD_DOC)
endif()
###############################################################################
# Install potential files in data directory
# Install potential and force field files in data directory
###############################################################################
set(LAMMPS_POTENTIALS_DIR ${CMAKE_INSTALL_FULL_DATADIR}/lammps/potentials)
install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials/ DESTINATION ${LAMMPS_POTENTIALS_DIR})
set(LAMMPS_FRC_FILES_DIR ${CMAKE_INSTALL_FULL_DATADIR}/lammps/frc_files)
install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../tools/msi2lmp/frc_files/ DESTINATION ${LAMMPS_FRC_FILES_DIR})
configure_file(etc/profile.d/lammps.sh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh @ONLY)
configure_file(etc/profile.d/lammps.csh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh @ONLY)
install(
@ -1428,6 +1615,49 @@ install(
DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/profile.d
)
###############################################################################
# Install LAMMPS lib and python module into site-packages folder with
# "install-python" target. Behaves exactly like "make install-python" for
# conventional build. Only available, if a shared library is built.
# This is primarily for people that only want to use the Python wrapper.
###############################################################################
if(BUILD_LIB AND BUILD_SHARED_LIBS)
find_package(PythonInterp)
if (PYTHONINTERP_FOUND)
add_custom_target(
install-python
${PYTHON_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h
-m ${CMAKE_CURRENT_SOURCE_DIR}/../python/lammps.py
-l ${CMAKE_BINARY_DIR}/liblammps${CMAKE_SHARED_LIBRARY_SUFFIX}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../python
COMMENT "Installing LAMMPS Python module")
else()
add_custom_target(
install-python
${CMAKE_COMMAND} -E echo "Must have Python installed to install the LAMMPS Python module")
endif()
else()
add_custom_target(
install-python
${CMAKE_COMMAND} -E echo "Must build LAMMPS as a shared library to use the Python module")
endif()
###############################################################################
# Add LAMMPS python module to "install" target. This is taylored for building
# LAMMPS for package managers and with different prefix settings.
# This requires either a shared library or that the PYTHON package is included.
###############################################################################
if((BUILD_LIB AND BUILD_SHARED_LIBS) OR (PKG_PYTHON))
find_package(PythonInterp)
if (PYTHONINTERP_FOUND)
execute_process(COMMAND ${PYTHON_EXECUTABLE}
-c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))"
OUTPUT_VARIABLE PYTHON_DEFAULT_INSTDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
set(PYTHON_INSTDIR ${PYTHON_DEFAULT_INSTDIR} CACHE PATH "Installation folder for LAMMPS Python module")
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../python/lammps.py DESTINATION ${PYTHON_INSTDIR})
endif()
endif()
###############################################################################
# Testing
#
@ -1460,7 +1690,7 @@ endif()
###############################################################################
# Print package summary
###############################################################################
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
if(PKG_${PKG})
message(STATUS "Building package: ${PKG}")
endif()

View File

@ -0,0 +1,59 @@
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the Common Development
# and Distribution License Version 1.0 (the "License").
#
# You can obtain a copy of the license at
# http://www.opensource.org/licenses/CDDL-1.0. See the License for the
# specific language governing permissions and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each file and
# include the License file in a prominent location with the name LICENSE.CDDL.
# If applicable, add the following below this CDDL HEADER, with the fields
# enclosed by brackets "[]" replaced with your own identifying information:
#
# Portions Copyright (c) [yyyy] [name of copyright owner]. All rights reserved.
#
# CDDL HEADER END
#
#
# Copyright (c) 2013--2019, Regents of the University of Minnesota.
# All rights reserved.
#
# Contributors:
# Richard Berger
# Christoph Junghans
# Ryan S. Elliott
#
# - Find KIM-API
#
# sets standard pkg_check_modules variables plus:
#
# KIM-API-CMAKE_C_COMPILER
# KIM-API-CMAKE_CXX_COMPILER
# KIM-API-CMAKE_Fortran_COMPILER
#
if(KIM-API_FIND_QUIETLY)
set(REQ_OR_QUI "QUIET")
else()
set(REQ_OR_QUI "REQUIRED")
endif()
find_package(PkgConfig ${REQ_OR_QUI})
include(FindPackageHandleStandardArgs)
pkg_check_modules(KIM-API ${REQ_OR_QUI} libkim-api>=2.0)
if(KIM-API_FOUND)
pkg_get_variable(KIM-API-CMAKE_C_COMPILER libkim-api CMAKE_C_COMPILER)
pkg_get_variable(KIM-API-CMAKE_CXX_COMPILER libkim-api CMAKE_CXX_COMPILER)
pkg_get_variable(KIM-API_CMAKE_Fortran_COMPILER libkim-api CMAKE_Fortran_COMPILER)
endif()
# handle the QUIETLY and REQUIRED arguments and set KIM-API_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(KIM-API REQUIRED_VARS KIM-API_LIBRARIES)

View File

@ -1,22 +0,0 @@
# - Find kim
# Find the native KIM headers and libraries.
#
# KIM_INCLUDE_DIRS - where to find kim.h, etc.
# KIM_LIBRARIES - List of libraries when using kim.
# KIM_FOUND - True if kim found.
#
find_path(KIM_INCLUDE_DIR KIM_API.h PATH_SUFFIXES kim-api-v1)
find_library(KIM_LIBRARY NAMES kim-api-v1)
set(KIM_LIBRARIES ${KIM_LIBRARY})
set(KIM_INCLUDE_DIRS ${KIM_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set KIM_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(KIM DEFAULT_MSG KIM_LIBRARY KIM_INCLUDE_DIR)
mark_as_advanced(KIM_INCLUDE_DIR KIM_LIBRARY )

View File

@ -6,7 +6,7 @@ function(GenerateOpenCLHeader varname outfile files)
foreach(IDX RANGE 2 ${ARG_END})
list(GET ARGV ${IDX} filename)
file(READ ${filename} content)
string(REGEX REPLACE "\\s*//[^\n]*\n" "" content "${content}")
string(REGEX REPLACE "\\s*//[^\n]*\n" "\n" content "${content}")
string(REGEX REPLACE "\\\\" "\\\\\\\\" content "${content}")
string(REGEX REPLACE "\"" "\\\\\"" content "${content}")
string(REGEX REPLACE "([^\n]+)\n" "\"\\1\\\\n\"\n" content "${content}")

View File

@ -50,6 +50,7 @@ function(CreateStyleHeader path filename)
list(REMOVE_AT ARGV 0 1)
set(header_list)
foreach(FNAME ${ARGV})
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${FNAME}")
get_filename_component(FNAME ${FNAME} NAME)
list(APPEND header_list ${FNAME})
endforeach()
@ -61,6 +62,7 @@ function(CreateStyleHeader path filename)
message(STATUS "Generating ${filename}...")
file(WRITE "${path}/${filename}.tmp" "${temp}" )
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${path}/${filename}.tmp" "${path}/${filename}")
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${path}/${filename}")
endfunction(CreateStyleHeader)
function(GenerateStyleHeader path property style)
@ -89,6 +91,10 @@ function(RegisterFixStyle path)
AddStyleHeader(${path} FIX)
endfunction(RegisterFixStyle)
function(RegisterIntegrateStyle path)
AddStyleHeader(${path} INTEGRATE)
endfunction(RegisterIntegrateStyle)
function(RegisterStyles search_path)
FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force
FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid
@ -175,3 +181,88 @@ function(DetectBuildSystemConflict lammps_src_dir)
endforeach()
endif()
endfunction(DetectBuildSystemConflict)
function(FindPackagesHeaders path style_class file_pattern headers)
file(GLOB files "${path}/${file_pattern}*.h")
get_property(plist GLOBAL PROPERTY ${headers})
foreach(file_name ${files})
file(STRINGS ${file_name} is_style LIMIT_COUNT 1 REGEX ${style_class})
if(is_style)
list(APPEND plist ${file_name})
endif()
endforeach()
set_property(GLOBAL PROPERTY ${headers} "${plist}")
endfunction(FindPackagesHeaders)
function(RegisterPackages search_path)
FindPackagesHeaders(${search_path} ANGLE_CLASS angle_ PKGANGLE ) # angle ) # force
FindPackagesHeaders(${search_path} ATOM_CLASS atom_vec_ PKGATOM_VEC ) # atom ) # atom atom_vec_hybrid
FindPackagesHeaders(${search_path} BODY_CLASS body_ PKGBODY ) # body ) # atom_vec_body
FindPackagesHeaders(${search_path} BOND_CLASS bond_ PKGBOND ) # bond ) # force
FindPackagesHeaders(${search_path} COMMAND_CLASS "[^.]" PKGCOMMAND ) # command ) # input
FindPackagesHeaders(${search_path} COMPUTE_CLASS compute_ PKGCOMPUTE ) # compute ) # modify
FindPackagesHeaders(${search_path} DIHEDRAL_CLASS dihedral_ PKGDIHEDRAL ) # dihedral ) # force
FindPackagesHeaders(${search_path} DUMP_CLASS dump_ PKGDUMP ) # dump ) # output write_dump
FindPackagesHeaders(${search_path} FIX_CLASS fix_ PKGFIX ) # fix ) # modify
FindPackagesHeaders(${search_path} IMPROPER_CLASS improper_ PKGIMPROPER ) # improper ) # force
FindPackagesHeaders(${search_path} INTEGRATE_CLASS "[^.]" PKGINTEGRATE ) # integrate ) # update
FindPackagesHeaders(${search_path} KSPACE_CLASS "[^.]" PKGKSPACE ) # kspace ) # force
FindPackagesHeaders(${search_path} MINIMIZE_CLASS min_ PKGMINIMIZE ) # minimize ) # update
FindPackagesHeaders(${search_path} NBIN_CLASS nbin_ PKGNBIN ) # nbin ) # neighbor
FindPackagesHeaders(${search_path} NPAIR_CLASS npair_ PKGNPAIR ) # npair ) # neighbor
FindPackagesHeaders(${search_path} NSTENCIL_CLASS nstencil_ PKGNSTENCIL ) # nstencil ) # neighbor
FindPackagesHeaders(${search_path} NTOPO_CLASS ntopo_ PKGNTOPO ) # ntopo ) # neighbor
FindPackagesHeaders(${search_path} PAIR_CLASS pair_ PKGPAIR ) # pair ) # force
FindPackagesHeaders(${search_path} READER_CLASS reader_ PKGREADER ) # reader ) # read_dump
FindPackagesHeaders(${search_path} REGION_CLASS region_ PKGREGION ) # region ) # domain
endfunction(RegisterPackages)
function(CreatePackagesHeader path filename)
set(temp "")
if(ARGC GREATER 2)
list(REMOVE_AT ARGV 0 1)
foreach(FNAME ${ARGV})
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${FNAME}")
get_filename_component(DNAME ${FNAME} DIRECTORY)
get_filename_component(DNAME ${DNAME} NAME)
get_filename_component(FNAME ${FNAME} NAME)
set(temp "${temp}#undef PACKAGE\n#define PACKAGE \"${DNAME}\"\n")
set(temp "${temp}#include \"${DNAME}/${FNAME}\"\n")
endforeach()
endif()
message(STATUS "Generating ${filename}...")
file(WRITE "${path}/${filename}.tmp" "${temp}" )
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${path}/${filename}.tmp" "${path}/${filename}")
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${path}/${filename}")
endfunction(CreatePackagesHeader)
function(GeneratePackagesHeader path property style)
get_property(files GLOBAL PROPERTY ${property})
CreatePackagesHeader("${path}" "packages_${style}.h" ${files})
endfunction(GeneratePackagesHeader)
function(GeneratePackagesHeaders output_path)
GeneratePackagesHeader(${output_path} PKGANGLE angle ) # force
GeneratePackagesHeader(${output_path} PKGATOM_VEC atom ) # atom atom_vec_hybrid
GeneratePackagesHeader(${output_path} PKGBODY body ) # atom_vec_body
GeneratePackagesHeader(${output_path} PKGBOND bond ) # force
GeneratePackagesHeader(${output_path} PKGCOMMAND command ) # input
GeneratePackagesHeader(${output_path} PKGCOMPUTE compute ) # modify
GeneratePackagesHeader(${output_path} PKGDIHEDRAL dihedral ) # force
GeneratePackagesHeader(${output_path} PKGDUMP dump ) # output write_dump
GeneratePackagesHeader(${output_path} PKGFIX fix ) # modify
GeneratePackagesHeader(${output_path} PKGIMPROPER improper ) # force
GeneratePackagesHeader(${output_path} PKGINTEGRATE integrate ) # update
GeneratePackagesHeader(${output_path} PKGKSPACE kspace ) # force
GeneratePackagesHeader(${output_path} PKGMINIMIZE minimize ) # update
GeneratePackagesHeader(${output_path} PKGNBIN nbin ) # neighbor
GeneratePackagesHeader(${output_path} PKGNPAIR npair ) # neighbor
GeneratePackagesHeader(${output_path} PKGNSTENCIL nstencil ) # neighbor
GeneratePackagesHeader(${output_path} PKGNTOPO ntopo ) # neighbor
GeneratePackagesHeader(${output_path} PKGPAIR pair ) # force
GeneratePackagesHeader(${output_path} PKGREADER reader ) # read_dump
GeneratePackagesHeader(${output_path} PKGREGION region ) # domain
endfunction(GeneratePackagesHeaders)

View File

@ -0,0 +1,30 @@
set(temp "#ifndef LMP_GIT_VERSION_H\n#define LMP_GIT_VERSION_H\n")
set(temp_git_commit "(unknown)")
set(temp_git_branch "(unknown)")
set(temp_git_describe "(unknown)")
set(temp_git_info "false")
if(GIT_FOUND AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.git)
set(temp_git_info "true")
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/.. rev-parse HEAD
OUTPUT_VARIABLE temp_git_commit
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/.. rev-parse --abbrev-ref HEAD
OUTPUT_VARIABLE temp_git_branch
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/.. describe --dirty=-modified
OUTPUT_VARIABLE temp_git_describe
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
set(temp "${temp}const bool LAMMPS_NS::LAMMPS::has_git_info = ${temp_git_info};\n")
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_commit[] = \"${temp_git_commit}\";\n")
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_branch[] = \"${temp_git_branch}\";\n")
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_descriptor[] = \"${temp_git_describe}\";\n")
set(temp "${temp}#endif\n\n")
message(STATUS "Generating lmpgitversion.h...")
file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h.tmp" "${temp}" )
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h")

View File

@ -155,11 +155,13 @@ make
The CMake build exposes a lot of different options. In the old build system
some of the package selections were possible by using special make target like
`make yes-std` or `make no-lib`. Achieving the same result with cmake requires
`make yes-std` or `make no-lib`. Achieving a similar result with cmake requires
specifying all options manually. This can quickly become a very long command
line that is hard to handle. While these could be stored in a simple script
file, there is another way of defining "presets" to compile LAMMPS in a certain
way.
way. Since the cmake build process - contrary to the conventional build system -
includes the compilation of the bundled libraries into the standard build process,
the grouping of those presets is somewhat different.
A preset is a regular CMake script file that can use constructs such as
variables, lists and for-loops to manipulate configuration options and create
@ -171,10 +173,10 @@ Such a file can then be passed to cmake via the `-C` flag. Several examples of
presets can be found in the `cmake/presets` folder.
```bash
# build LAMMPS with all "standard" packages which don't use libraries and enable GPU package
# build LAMMPS with all packages enabled which don't use external libraries and enable GPU package
mkdir build
cd build
cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake
cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GPU=on ../cmake
```
# Reference
@ -209,7 +211,7 @@ cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake
</td>
</tr>
<tr>
<td><code><CMAKE_VERBOSE_MAKEFILE/code></td>
<td><code>CMAKE_VERBOSE_MAKEFILE</code></td>
<td>Enable verbose output from Makefile builds (useful for debugging), the same can be achived by adding `VERBOSE=1` to the `make` call.</td>
<td>
<dl>
@ -1429,6 +1431,17 @@ TODO
</dl>
</td>
</tr>
<tr>
<td><code>INTEL_LRT_MODE</code></td>
<td>How to support Long-range thread mode in Verlet integration</td>
<td>
<dl>
<dt><code>threads</code> (default, if pthreads available)</dt>
<dt><code>none</code> (default, if pthreads not available)</dt>
<dt><code>c++11</code></dt>
</dl>
</td>
</tr>
</tbody>
</table>
@ -1503,6 +1516,16 @@ target API.
</dl>
</td>
</tr>
<tr>
<td><code>CUDA_MPS_SUPPORT</code> (CUDA only)</td>
<td>Enable tweaks for running with Nvidia CUDA Multi-process services daemon</td>
<td>
<dl>
<dt><code>on</code></dt>
<dt><code>off</code> (default)</dt>
</dl>
</td>
</tr>
<tr>
<td><code>BIN2C</code> (CUDA only)</td>
<td>Path to bin2c executable, will automatically pick up the first one in your $PATH.</td>

View File

@ -1,2 +1,4 @@
# set environment for LAMMPS executables to find potential files
# set environment for LAMMPS and msi2lmp executables
# to find potential and force field files
if ( "$?LAMMPS_POTENTIALS" == 0 ) setenv LAMMPS_POTENTIALS @LAMMPS_POTENTIALS_DIR@
if ( "$?MSI2LMP_LIBRARY" == 0 ) setenv MSI2LMP_LIBRARY @LAMMPS_FRC_FILES_DIR@

View File

@ -1,2 +1,5 @@
# set environment for LAMMPS executables to find potential files
export LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS-@LAMMPS_POTENTIALS_DIR@}
# set environment for LAMMPS and msi2lmp executables
# to find potential and force field files
LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS-@LAMMPS_POTENTIALS_DIR@}
MSI2LMP_LIBRARY=${MSI2LMP_LIBRARY-@LAMMPS_FRC_FILES_DIR@}
export LAMMPS_POTENTIALS MSI2LMP_LIBRARY

View File

@ -1,21 +1,17 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
# preset that turns on all existing packages off. can be used to reset
# an existing package selection without losing any other settings
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MISC MESSAGE MOLECULE
MPIIO MSCG OPT PERI POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
SRD VORONOI
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
USER-TALLY USER-UEF USER-VTK USER-YAFF)
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)

View File

@ -1,21 +1,19 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
# preset that turns on all existing packages. using the combination
# this preset followed by the nolib.cmake preset should configure a
# LAMMPS binary, with as many packages included, that can be compiled
# with just a working C++ compiler and an MPI library.
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MISC MESSAGE MOLECULE
MPIIO MSCG OPT PERI POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
SRD VORONOI
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
USER-TALLY USER-UEF USER-VTK USER-YAFF)
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)

17
cmake/presets/clang.cmake Normal file
View File

@ -0,0 +1,17 @@
# preset that will enable clang/clang++ with support for MPI and OpenMP (on Linux boxes)
set(CMAKE_CXX_COMPILER "clang++" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "clang" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS "-Wall -Wextra -g -O2 -DNDEBG" CACHE STRING "" FORCE)
set(MPI_CXX "clang++" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "clang" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_CXX "clang++" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "/usr/lib64/libomp.so" CACHE PATH "" FORCE)

View File

@ -1,71 +0,0 @@
set(PKG_ASPHERE OFF CACHE BOOL "" FORCE)
set(PKG_BODY OFF CACHE BOOL "" FORCE)
set(PKG_CLASS2 OFF CACHE BOOL "" FORCE)
set(PKG_COLLOID OFF CACHE BOOL "" FORCE)
set(PKG_COMPRESS OFF CACHE BOOL "" FORCE)
set(PKG_CORESHELL OFF CACHE BOOL "" FORCE)
set(PKG_DIPOLE OFF CACHE BOOL "" FORCE)
set(PKG_GPU OFF CACHE BOOL "" FORCE)
set(PKG_GRANULAR OFF CACHE BOOL "" FORCE)
set(PKG_KIM OFF CACHE BOOL "" FORCE)
set(PKG_KOKKOS OFF CACHE BOOL "" FORCE)
set(PKG_KSPACE OFF CACHE BOOL "" FORCE)
set(PKG_LATTE OFF CACHE BOOL "" FORCE)
set(PKG_LIB OFF CACHE BOOL "" FORCE)
set(PKG_MANYBODY OFF CACHE BOOL "" FORCE)
set(PKG_MC OFF CACHE BOOL "" FORCE)
set(PKG_MEAM OFF CACHE BOOL "" FORCE)
set(PKG_MISC OFF CACHE BOOL "" FORCE)
set(PKG_MOLECULE OFF CACHE BOOL "" FORCE)
set(PKG_MPIIO OFF CACHE BOOL "" FORCE)
set(PKG_MSCG OFF CACHE BOOL "" FORCE)
set(PKG_OPT OFF CACHE BOOL "" FORCE)
set(PKG_PERI OFF CACHE BOOL "" FORCE)
set(PKG_POEMS OFF CACHE BOOL "" FORCE)
set(PKG_PYTHOFF OFF CACHE BOOL "" FORCE)
set(PKG_QEQ OFF CACHE BOOL "" FORCE)
set(PKG_REAX OFF CACHE BOOL "" FORCE)
set(PKG_REPLICA OFF CACHE BOOL "" FORCE)
set(PKG_RIGID OFF CACHE BOOL "" FORCE)
set(PKG_SHOCK OFF CACHE BOOL "" FORCE)
set(PKG_SNAP OFF CACHE BOOL "" FORCE)
set(PKG_SRD OFF CACHE BOOL "" FORCE)
set(PKG_VOROFFOI OFF CACHE BOOL "" FORCE)
set(PKG_USER OFF CACHE BOOL "" FORCE)
set(PKG_USER-ATC OFF CACHE BOOL "" FORCE)
set(PKG_USER-AWPMD OFF CACHE BOOL "" FORCE)
set(PKG_USER-BOCS OFF CACHE BOOL "" FORCE)
set(PKG_USER-CGDNA OFF CACHE BOOL "" FORCE)
set(PKG_USER-CGSDK OFF CACHE BOOL "" FORCE)
set(PKG_USER-COLVARS OFF CACHE BOOL "" FORCE)
set(PKG_USER-DIFFRACTIOFF OFF CACHE BOOL "" FORCE)
set(PKG_USER-DPD OFF CACHE BOOL "" FORCE)
set(PKG_USER-DRUDE OFF CACHE BOOL "" FORCE)
set(PKG_USER-EFF OFF CACHE BOOL "" FORCE)
set(PKG_USER-FEP OFF CACHE BOOL "" FORCE)
set(PKG_USER-H5MD OFF CACHE BOOL "" FORCE)
set(PKG_USER-INTEL OFF CACHE BOOL "" FORCE)
set(PKG_USER-LB OFF CACHE BOOL "" FORCE)
set(PKG_USER-MANIFOLD OFF CACHE BOOL "" FORCE)
set(PKG_USER-MEAMC OFF CACHE BOOL "" FORCE)
set(PKG_USER-MESO OFF CACHE BOOL "" FORCE)
set(PKG_USER-MGPT OFF CACHE BOOL "" FORCE)
set(PKG_USER-MISC OFF CACHE BOOL "" FORCE)
set(PKG_USER-MOFFF OFF CACHE BOOL "" FORCE)
set(PKG_USER-MOLFILE OFF CACHE BOOL "" FORCE)
set(PKG_USER-NETCDF OFF CACHE BOOL "" FORCE)
set(PKG_USER-OMP OFF CACHE BOOL "" FORCE)
set(PKG_USER-PHONON OFF CACHE BOOL "" FORCE)
set(PKG_USER-PLUMED OFF CACHE BOOL "" FORCE)
set(PKG_USER-QMMM OFF CACHE BOOL "" FORCE)
set(PKG_USER-QTB OFF CACHE BOOL "" FORCE)
set(PKG_USER-QUIP OFF CACHE BOOL "" FORCE)
set(PKG_USER-REAXC OFF CACHE BOOL "" FORCE)
set(PKG_USER-SDPD OFF CACHE BOOL "" FORCE)
set(PKG_USER-SMD OFF CACHE BOOL "" FORCE)
set(PKG_USER-SMTBQ OFF CACHE BOOL "" FORCE)
set(PKG_USER-SPH OFF CACHE BOOL "" FORCE)
set(PKG_USER-TALLY OFF CACHE BOOL "" FORCE)
set(PKG_USER-UEF OFF CACHE BOOL "" FORCE)
set(PKG_USER-VTK OFF CACHE BOOL "" FORCE)

View File

@ -0,0 +1,17 @@
set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KSPACE MANYBODY MC MISC MOLECULE OPT PERI POEMS QEQ
REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI USER-ATC USER-AWPMD
USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION
USER-DPD USER-DRUDE USER-EFF USER-FEP USER-INTEL USER-MANIFOLD
USER-MEAMC USER-MESO USER-MISC USER-MOFFF USER-MOLFILE USER-OMP
USER-PHONON USER-PTM USER-QTB USER-REAXC USER-SDPD USER-SMD
USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF)
foreach(PKG ${WIN_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()
set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE)
set(DOWNLOAD_EIGEN3 ON CACHE BOOL "" FORCE)
set(LAMMPS_MEMALIGN "0" CACHE STRING "" FORCE)
set(INTEL_LRT_MODE "none" CACHE STRING "" FORCE)

View File

@ -0,0 +1,8 @@
# preset that turns on just a few, frequently used packages
# this will be compiled quickly and handle a lot of common inputs.
set(ALL_PACKAGES KSPACE MANYBODY MOLECULE RIGID)
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()

15
cmake/presets/most.cmake Normal file
View File

@ -0,0 +1,15 @@
# preset that turns on a wide range of packages, some of which require
# external libraries. Compared to all_on.cmake some more unusual packages
# are removed. The resulting binary should be able to run most inputs.
set(ALL_PACKAGES ASPHERE CLASS2 COLLOID CORESHELL DIPOLE
GRANULAR KSPACE MANYBODY MC MISC MOLECULE OPT PERI
PYTHON QEQ REPLICA RIGID SHOCK SRD VORONOI
USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD
USER-DRUDE USER-FEP USER-MEAMC USER-MESO
USER-MISC USER-MOFFF USER-OMP USER-PLUMED USER-PHONON USER-REAXC
USER-SPH USER-SMD USER-UEF USER-YAFF)
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()

View File

@ -1,21 +1,10 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
# preset that turns off all packages that require some form of external
# library or special compiler (fortran or cuda) or equivalent.
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MPIIO MSCG PYTHON
VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-LB
USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP
USER-SCAFACOS USER-SMD USER-VTK)
foreach(PKG ${PACKAGES_WITH_LIB})
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)

View File

@ -1,22 +0,0 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
foreach(PKG ${STANDARD_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()

View File

@ -1,26 +0,0 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
foreach(PKG ${STANDARD_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()
foreach(PKG ${PACKAGES_WITH_LIB})
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
endforeach()

View File

@ -1,22 +0,0 @@
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
MOLECULE MPIIO MSCG OPT PERI POEMS
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK)
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
foreach(PKG ${USER_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()

2
doc/.gitignore vendored
View File

@ -1,4 +1,6 @@
/old
/html
/latex
/spelling
/LAMMPS.epub
/LAMMPS.mobi

View File

@ -39,7 +39,7 @@ help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html create HTML doc pages in html dir"
@echo " pdf create Developer.pdf and Manual.pdf in this dir"
@echo " old create old-style HTML doc pages in old dir"
@echo " old create old-style HTML doc pages and Manual.pdf in old dir"
@echo " fetch fetch HTML and PDF files from LAMMPS web site"
@echo " epub create ePUB format manual for e-book readers"
@echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)"
@ -56,7 +56,7 @@ clean-all: clean
rm -rf $(BUILDDIR)/* utils/txt2html/txt2html.exe
clean:
rm -rf $(RSTDIR) html old epub
rm -rf $(RSTDIR) html old epub latex
rm -rf spelling
clean-spelling:
@ -115,21 +115,44 @@ mobi: epub
@ebook-convert LAMMPS.epub LAMMPS.mobi
@echo "Conversion finished. The MOBI manual file is created."
pdf: utils/txt2html/txt2html.exe
pdf: $(OBJECTS) $(ANCHORCHECK)
@(\
set -e; \
cd src/Developer; \
pdflatex developer; \
pdflatex developer; \
mv developer.pdf ../../Developer.pdf; \
cd ..; \
../utils/txt2html/txt2html.exe -b *.txt; \
htmldoc --batch lammps.book; \
for s in `echo *.txt | sed -e 's/ \(pairs\|bonds\|angles\|dihedrals\|impropers\|commands_list\|fixes\|computes\).txt/ /g' | sed -e 's,\.txt,\.html,g'` ; \
do grep -q ^$$s lammps.book || \
echo WARNING: doc file $$s missing in src/lammps.book; done; \
rm *.html; \
cd ../../; \
)
@(\
. $(VENV)/bin/activate ;\
cp -r src/* $(RSTDIR)/ ;\
sphinx-build $(SPHINXEXTRA) -b latex -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\
echo "############################################" ;\
doc_anchor_check src/*.txt ;\
echo "############################################" ;\
deactivate ;\
)
@cd latex && \
sed 's/latexmk -pdf -dvi- -ps-/pdflatex/g' Makefile > temp && \
mv temp Makefile && \
sed 's/\\begin{equation}//g' LAMMPS.tex > tmp.tex && \
mv tmp.tex LAMMPS.tex && \
sed 's/\\end{equation}//g' LAMMPS.tex > tmp.tex && \
mv tmp.tex LAMMPS.tex && \
make && \
make && \
mv LAMMPS.pdf ../Manual.pdf && \
cd ../;
@rm -rf latex/_sources
@rm -rf latex/PDF
@rm -rf latex/USER
@cp -r src/PDF latex/PDF
@cp -r src/USER latex/USER
@rm -rf latex/PDF/.[sg]*
@rm -rf latex/USER/.[sg]*
@rm -rf latex/USER/*/.[sg]*
@rm -rf latex/USER/*/*.[sg]*
@echo "Build finished. Manual.pdf and Developer.pdf are in this directory."
old: utils/txt2html/txt2html.exe
@rm -rf old
@ -139,6 +162,18 @@ old: utils/txt2html/txt2html.exe
cp Eqs/*.jpg ../old/Eqs; \
cp JPG/* ../old/JPG; \
cp PDF/* ../old/PDF;
@( set -e;\
cd src/Developer; \
pdflatex developer; \
pdflatex developer; \
mv developer.pdf ../../old/Developer.pdf; \
cd ../../old; \
for s in `echo ../src/*.txt | sed -e 's,\.\./src/,,g' -e 's/ \(pairs\|bonds\|angles\|dihedrals\|impropers\|commands_list\|fixes\|computes\).txt/ /g' | sed -e 's,\.txt,\.html,g'` ; \
do grep -q ^$$s ../src/lammps.book || \
echo WARNING: doc file $$s missing in src/lammps.book; done; \
htmldoc --batch ../src/lammps.book; \
)
fetch:
@rm -rf html_www Manual_www.pdf Developer_www.pdf

View File

@ -123,7 +123,7 @@ Here are some items to check:
* float.h -> cfloat
* limits.h -> climits
* math.h -> cmath
* omplex.h -> complex
* complex.h -> complex
* setjmp.h -> csetjmp
* signal.h -> csignal
* stddef.h -> cstddef

View File

@ -1,40 +1,259 @@
.TH LAMMPS "2018-08-22"
.TH LAMMPS "5 June 2019" "2019-06-05"
.SH NAME
.B LAMMPS
\- Molecular Dynamics Simulator.
.SH SYNOPSIS
.B lmp
-in in.file
.B lmp
\-in <input file> [OPTIONS] ...
or
mpirun \-np 2
.B lmp
-in in.file
mpirun \-np 2
.B lmp
<input file> [OPTIONS] ...
or
.B lmp
\-r2data file.restart file.data
.SH DESCRIPTION
.B LAMMPS
LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale
Atomic/Molecular Massively Parallel Simulator. LAMMPS has potentials for soft
materials (biomolecules, polymers) and solid-state materials (metals,
semiconductors) and coarse-grained or mesoscopic systems. It can be used to
model atoms or, more generically, as a parallel particle simulator at the
.B LAMMPS
is a classical molecular dynamics code, and an acronym for \fBL\fRarge-scale
\fBA\fRtomic/\fBM\fRolecular \fBM\fRassively \fBP\fRarallel \fBS\fRimulator.
.B LAMMPS
has potentials for soft
materials (bio-molecules, polymers) and solid-state materials (metals,
semiconductors) and coarse-grained or mesoscopic systems. It can be used to
model atoms or, more generically, as a parallel particle simulator at the
atomic, meso, or continuum scale.
See http://lammps.sandia.gov/ for documentation.
See https://lammps.sandia.gov/ for more information and documentation.
.SH EXECUTABLE NAME
The
.B LAMMPS
executable can have different names depending on how it was configured,
compiled and installed. It will be either
.B lmp
or
.B lmp_<machine name>.
The <machine name> suffix corresponds to the (machine specific) makefile
used to compile
.B LAMMPS
when using the conventional build process. When building
.B LAMMPS
using
.B CMake
this <machine name> parameter can be chosen arbitrarily at configuration
time, but more common is to just use
.B lmp
without a suffix. In this manpage we will use
.B lmp
to represent any of those names.
.SH OPTIONS
See https://lammps.sandia.gov/doc/Run_options.html for details on
command-line options.
.SH COPYRIGHT
© 2003--2018 Sandia Corporation
.TP
\fB\-h\fR or \fB\-help\fR
Print a brief help summary and a list of settings and options compiled
into this executable. It also explicitly lists all LAMMPS styles
(atom_style, fix, compute, pair_style, bond_style, etc) available in
the specific executable. This can tell you if the command you want to
use was included via the appropriate package at compile time.
LAMMPS will print the info and immediately exit if this switch is used.
.TP
\fB\-e\fR or \fB\-echo\fR
Set the style of command echoing. The style can be
.B none
or
.B screen
or
.B log
or
.B both.
Depending on the style, each command read from the input script will
be echoed to the screen and/or logfile. This can be useful to figure
out which line of your script is causing an input error.
The default value is
.B log.
.TP
\fB\-i <input file>\fR or \fB\-in <input file>\fR
Specify a file to use as an input script. If it is not specified,
LAMMPS reads its script from standard input. This is a required
switch when running LAMMPS in multi-partition mode.
.TP
\fB\-k on/off [keyword value]\fR or \fB\-kokkos on/off [keyword value]\fR
Enable or disable general KOKKOS support, as provided by the KOKKOS
package. Even if LAMMPS is built with this package, this switch must
be set to \fBon\fR to enable running with KOKKOS-enabled styles. More
details on this switch and its optional keyword value pairs are discussed
at: https://lammps.sandia.gov/doc/Run_options.html
.TP
\fB\-l <log file>\fR or \fB\-log <log file>\fR
Specify a log file for LAMMPS to write status information to.
The default value is "log.lammps". If the file name "none" is used,
\fBLAMMPS\fR will not write a log file. In multi-partition mode only
some high-level all-partition information is written to the "<log file>"
file, the remainder is written in a per-partition file "<log file>.N"
with "N" being the respective partition number, unless overridden
by the \-plog flag (see below).
.TP
\fB\-m <number>\fR or \fB\-mpicolor <number>\fR
If used, this must be the first command-line argument after the
.B LAMMPS
executable name. It is only used when
.B LAMMPS
is launched by an mpirun command which also launches one or more
other executable(s) at the same time.
.B LAMMPS
and the other executable(s) perform an MPI_Comm_split(), each with
their own different colors, to split the MPI_COMM_WORLD communicator
for each executable to the subset of processors they are supposed to
be actually running on. Currently, this is only used in
.B LAMMPS
to perform client/server messaging with another application.
.B LAMMPS
can act as either a client or server (or both).
.TP
\fB\-nc\fR or \fB\-nocite\fR
Disable writing the "log.cite" file which is normally written to
list references for specific cite-able features used during a
.B LAMMPS
run.
.TP
\fB\-pk <style> [options]\fR or \fB\-package <style> [options]\fR
Invoke the \fBpackage\R command with <style> and optional arguments.
The syntax is the same as if the command appeared in an input script.
For example "-pk gpu 2" is the same as "package gpu 2" in the input
script. The possible styles and options are discussed in the
.B LAMMPS
manual for the "package" command. This switch can be used multiple
times, e.g. to set options for the USER-INTEL and USER-OMP packages
when used together. Along with the "-sf" or "-suffix" switch, this
is a convenient mechanism for invoking accelerator packages and their
options without having to edit an input script.
.TP
\fB\-p\fR or \fB\-partition\fR
Invoke
.B LAMMPS
in multi-partition mode. Without this,
.B LAMMPS
uses all P processors allocated via MPI to run a single simulation.
If this switch is used, the P processors are split into separate
partitions and each partition runs its own simulation. The arguments
to the switch specify the number of processors in each partition.
Arguments of the form "MxN" mean M partitions, each with N processors.
Arguments of the form "N" mean a single partition with N processors.
The sum of processors in all partitions must be equal P. Thus the
command “-partition 8x2 4 5” has 10 partitions and runs on a total
of 25 processors. Running with multiple partitions is required for
multi-replica simulations, where each replica runs on on one or more
few processors.
.TP
\fB\-pl <basename>\fR or \fB\-plog <basename>\fR
Specify the base name for the per-partition log files in multi-partition
runs, where partition N writes log information to <basename>.N.
If basename is set to "none", then no per-partition log files are created.
This overrides the name specified in the \-log command-line option.
.TP
\fB\-ps <basename>\fR or \fB\-pscreen <basename>\fR
Specify the base name for the per-partition screen files in multi-partition
runs, where partition N writes screen output to <basename>.N.
If basename is set to "none", then no per-partition screen files are created.
The default value is "screen" or whatever is set by the \-screen flag.
.TP
\fB\-r2data <restart file> [remap] <data file>\fR or
\fB\-restart2data <restart file> [remap] <data file>\fR
Convert <restart file> previously written by
.B LAMMPS
into a data file and immediately exit. This option has replaced the
external restart2data executable. Following <restart file>
argument, the optional word "remap" may be used. This has the
same effect like adding it to a "read_restart" command.
The syntax following the <data file> name is identical to the
arguments of the "write_data" command. See the
.B LAMMPS
manual for details on either of the two commands.
.TP
\fB\-r2dump <restart file> [remap] <dump file>\fR or
\fB\-restart2dump <restart file> [remap] <dump file>\fR
Convert <restart file> previously written by
.B LAMMPS
into a dump file and immediately exit. Following <restart file>
argument, the optional word "remap" may be used. This has the
same effect like adding it to a "read_restart" command.
The syntax following the <dump file> name is identical to the
arguments of the "dump" command. See the
.B LAMMPS
manual for details on either of the two commands.
.TP
\fB\-sc <file name>\fR or \fB\-screen <file name>\fR
Specify a file for
.B LAMMPS
to write its screen information to. By default, this will be
the standard output. If <file name> is "none", (most) screen
output will be suppressed. In multi-partition mode only
some high-level all-partition information is written to the
screen or "<file name>" file, the remainder is written in a
per-partition file "screen.N" or "<file name>.N"
with "N" being the respective partition number, and unless
overridden by the \-pscreen flag (see above).
.TP
\fB\-sf <suffix>\fR or \fB\-suffix <suffix>\fR
Use variants of various styles in the input, if they exist. This is
achieved by transparently trying to convert a style named <my/style>
into <my/style/suffix> if that latter style exists, but otherwise
fall back to the former. The most useful suffixes are "gpu",
"intel", "kk", "omp", "opt", or "hybrid". These refer to styles from
optional packages that LAMMPS can be built with. The hybrid suffix is
special, as it enables, having two suffixes tried (e.g. first "intel"
and then "omp") and thus requires two arguments. Along with the
"-package" command-line switch, this is a convenient mechanism for
invoking styles from accelerator packages and setting their options
without having to edit an input script.
See https://lammps.sandia.gov/doc/Run_options.html for additional
details and discussions on command-line options.
.SH LAMMPS BASICS
LAMMPS executes by reading commands from a input script (text file),
one line at a time. When the input script ends, LAMMPS exits. Each
command causes LAMMPS to take some action. It may set or change an
internal, read and parse a file, or run a simulation. Most commands
have default settings, which means you only need to use the command
if you wish to change the default.
The ordering of commands in an input script is usually not very important
unless a command like "run" is encountered, which starts some calculation
using the current internal state. Also, if a "pair_style" or "bond_style"
other similar style command is issued that has a different name from what
was previously active, it will replace the previous style and wipe out
all corresponding "pair_coeff" or "bond_coeff" or equivalent settings.
Some commands are only valid when they follow other commands. For
example you cannot set the temperature of a group of atoms until atoms
have been defined and a group command is used to define which atoms
belong to the group of a given name. Sometimes command B will use values
that can be set by command A. This means command A must precede command
B in the input to have the desired effect. Some commands must be issued
.B before
the simulation box is defined and others can only be issued
.B after.
Many input script errors are detected by
.B LAMMPS
and an ERROR or WARNING message is printed. The documentation for
each command lists restrictions on how the command can be used, and
the chapter on errors in the
.B LAMMPS
manual gives some additional information about error messages, if possible.
.SH COPYRIGHT
© 2003--2019 Sandia Corporation
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of

111
doc/msi2lmp.1 Normal file
View File

@ -0,0 +1,111 @@
.TH MSI2LMP "v3.9.9" "2018-11-05"
.SH NAME
.B MSI2LMP
\- Converter for Materials Studio files to LAMMPS
.SH SYNOPSIS
.B msi2lmp
<ROOTNAME> [-class <I|1|II|2|O|0>] [-frc <path to frc file>] [-print #] [-ignore] [-nocenter] [-oldstyle] [-shift <x> <y> <z>]
.SH DESCRIPTION
.PP
.B MSI2LMP
is a tool bundled with LAMMPS to aide in the conversion of simulation
inputs from Biovia's Materials Studio software for use with LAMMPS.
It is a standalone program that generates a LAMMPS data file based on
the information in an MS .car file (atom coordinates), an .mdf file
(molecular topology and atom types) and an .frc (forcefield parameters)
file. The .car and .mdf files are specific to a molecular system while
the .frc file is specific to a forcefield (variant). The only coherency
needed between .frc and .car/.mdf files are the atom types.
.PP
.SH OPTIONS
.TP
\fB\<ROOTNAME>\fR
This has to be the first argument and is a
.B mandatory
argument. It defines the root of the file names; i.e. for a
.B <ROOTNAME>
of benzene, you have to provide the files 'benzene.car' and 'benzene.mdf'
in the current working directory.
.B msi2lmp
will then read and process those files according to its remaining settings.
All other settins are optional and have defaults as listed.
.TP
\fB\-c <I,1,II,2,O,0>\fR, \fB\-class <I,1,II,2,O,0>\fR
The \-c or \-class option selects the force field class, i.e which pair
styles and bond styles and so on are required in the LAMMPS input file.
Class I or class 1 uses similar combination of functional forms as Amber
and Charmm force field and support the force fields
.B cvff
and
.B clayff.
Class II or class 2 corresponds to the more complex force fields
.B COMPASS
and
.B pcff.
Class O or class 0 finally is an experimental and incomplete extension
and supports generating output for
.B OPLS-AA
.TP
\fB\-f <ffname>\fR, \fB\-frc <ffname>\fR
The \-c or \-frc option allows the selection of the force field parameter
file
.B<ffname>.frc.
Valid names for <ffname> with this distribution are: cvff, clayff, cvff_aug,
pcff, compass_published, cff91, and oplsaa. If the argument is a pathname,
i.e. it starts with a '.' or a '/', then this absolute path is used to read
the force field, otherwise
.B msi2lmp
will look in the folder pointed to by the environment variable
$MSI2LMP_LIBRARY. If the variable is not set, then it will look in the current
directory. The extension '.frc' is appended, if missing.
Default is to look for the cvff.frc force field file.
.TP
\fB\-p <loglevel>\fR, \fB\-print <loglevel>\fR,
Selects the amount of information messages about the progress of the
conversion printed to the screen.
.B <loglevel>
can be a number from 0 (silent except for errors) to 3 (very detailed).
.TP
\fB\-i\fR, \fB\-ignore\fR,
Ignore errors about missing parameters and use 0.0 for the respective
force constants making these no-ops. Is correct to be used for a few
molecules and settings, but often an indication, that either the atom
type assignment have errors, or the force field file is missing entries.
.TP
\fB\-n\fR, \fB\-nocenter\fR,
Do not center the box around the (geometrical) center of the atoms,
but around the origin. Default is to recenter.
.TP
\fB\-o\fR, \fB\-oldstyle\fR,
Write out a data file without style hint comments to be compatible
with old LAMMPS versions. Default is to write out those comments.
.TP
\fB-s <x> <y> <z>\fR, \fB-shift <x> <y> <z>\fR,
Shift the entire system (box and coordinates) by a vector
(default: 0.0 0.0 0.0).
.TP
.SH EXAMPLES
msi2lmp benzene -c 2 -p 1 -f ../frc_files/pcff.frc
msi2lmp benzene-class1 -c I
msi2lmp decane -c 0 -f oplsaa
.SH COPYRIGHT
© 2003--2019 Sandia Corporation
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

View File

@ -116,6 +116,18 @@ enables OpenMP. For GNU compilers it is -fopenmp. For (recent) Intel
compilers it is -qopenmp. If you are using a different compiler,
please refer to its documentation.
[OpenMP Compiler compatibility info]: :link(default-none-issues)
Some compilers do not fully support the 'default(none)' directive
and others (e.g. GCC version 9 and beyond) may implement OpenMP 4.0
semantics, which are incompatible with the OpenMP 3.1 directives used
in LAMMPS (for maximal compatibility with compiler versions in use).
In those case, all 'default(none)' directives (which aid in detecting
incorrect and unwanted sharing) can be replaced with 'default(shared)'
while dropping all 'shared()' directives. The script
'src/USER-OMP/hack_openmp_for_pgi_gcc9.sh' can be used to automate
this conversion.
:line
Choice of compiler and compile/link options :h4,link(compile)

View File

@ -28,7 +28,7 @@ Makefile(s). Example:
cd lammps # change to the LAMMPS distribution directory
mkdir build; cd build # create a new directory (folder) for build
cmake ../cmake \[options ...\] # configuration with (command-line) cmake
cmake \[options ...\] ../cmake # configuration with (command-line) cmake
make # compilation :pre
The cmake command will detect available features, enable selected
@ -41,7 +41,8 @@ If your machine has multiple CPU cores (most do these days), using a
command like "make -jN" (with N being the number of available local
CPU cores) can be much faster. If you plan to do development on
LAMMPS or need to re-compile LAMMPS repeatedly, installation of the
ccache (= Compiler Cache) software may speed up compilation even more.
ccache (= Compiler Cache) software may speed up repeated compilation
even more.
After compilation, you can optionally copy the LAMMPS executable and
library into your system folders (by default under $HOME/.local) with:
@ -108,7 +109,8 @@ command-line options. Several useful ones are:
-D CMAKE_BUILD_TYPE=type # type = Release or Debug
-G output # style of output CMake generates
-DVARIABLE=value # setting for a LAMMPS feature to enable
-D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir :pre
-D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir
-C path/to/preset/file # load some CMake settings before configuring :pre
All the LAMMPS-specific -D variables that a LAMMPS build supports are
described on the pages linked to from the "Build"_Build.html doc page.

View File

@ -30,13 +30,13 @@ This is the list of packages that may require additional steps.
"KIM"_#kim,
"KOKKOS"_#kokkos,
"LATTE"_#latte,
"MEAM"_#meam,
"MESSAGE"_#message,
"MSCG"_#mscg,
"OPT"_#opt,
"POEMS"_#poems,
"PYTHON"_#python,
"VORONOI"_#voronoi,
"USER-ADIOS"_#user-adios,
"USER-ATC"_#user-atc,
"USER-AWPMD"_#user-awpmd,
"USER-COLVARS"_#user-colvars,
@ -81,17 +81,19 @@ which GPU hardware to build for.
[CMake build]:
-D GPU_API=value # value = opencl (default) or cuda
-D GPU_PREC=value # precision setting
# value = double or mixed (default) or single
-D OCL_TUNE=value # hardware choice for GPU_API=opencl
# generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA)
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
# value = sm_XX, see below
# default is Cuda-compiler dependent, but typically sm_20
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
# enables CUDA Performance Primitives Optimizations
# yes (default) or no :pre
-D GPU_API=value # value = opencl (default) or cuda
-D GPU_PREC=value # precision setting
# value = double or mixed (default) or single
-D OCL_TUNE=value # hardware choice for GPU_API=opencl
# generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA)
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
# value = sm_XX, see below
# default is Cuda-compiler dependent, but typically sm_20
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
# enables CUDA Performance Primitives Optimizations
# value = yes (default) or no
-D CUDA_MPS_SUPPORT=value # enables some tweaks required to run with active nvidia-cuda-mps daemon
# value = yes or no (default) :pre
GPU_ARCH settings for different GPU hardware is as follows:
@ -168,39 +170,33 @@ used to build the GPU library.
KIM package :h4,link(kim)
To build with this package, the KIM library must be downloaded and
built on your system. It must include the KIM models that you want to
use with LAMMPS.
To build with this package, the KIM library with API v2 must be downloaded
and built on your system. It must include the KIM models that you want to
use with LAMMPS. If you want to use the "kim_query"_kim_query.html
command, you also need to have libcurl installed with the matching
development headers and the curl-config tool.
Note that in LAMMPS lingo, a KIM model driver is a pair style
(e.g. EAM or Tersoff). A KIM model is a pair style for a particular
element or alloy and set of parameters, e.g. EAM for Cu with a
specific EAM potential file. Also note that installing the KIM API
library with all its models, may take around 30 min to build. Of
course you only need to do that once.
specific EAM potential file. Also note that downloading and installing
the KIM API library with all its models, may take a long time (10s of
minutes to hours) to build. Of course you only need to do that once.
See the list of KIM model drivers here:
https://openkim.org/kim-items/model-drivers/alphabetical
https://openkim.org/browse/model-drivers/alphabetical
See the list of all KIM models here:
https://openkim.org/kim-items/models/by-model-drivers
See the list of example KIM models included by default here:
https://openkim.org/kim-api on the "What is in the KIM API source
package?" page.
https://openkim.org/browse/models/by-model-drivers
[CMake build]:
-D DOWNLOAD_KIM=value # download OpenKIM API v1 for build, value = no (default) or yes
-D KIM_LIBRARY=path # KIM library file (only needed if a custom location)
-D KIM_INCLUDE_DIR=path # KIM include directory (only needed if a custom location) :pre
-D DOWNLOAD_KIM=value # download OpenKIM API v2 for build, value = no (default) or yes :pre
If DOWNLOAD_KIM is set, the KIM library will be downloaded and built
inside the CMake build directory. If the KIM library is already on
your system (in a location CMake cannot find it), KIM_LIBRARY is the
filename (plus path) of the KIM library file, not the directory the
library file is in. KIM_INCLUDE_DIR is the directory the KIM include
file is in.
your system (in a location CMake cannot find it), set the PKG_CONFIG_PATH
environment variable so that libkim-api can be found.
[Traditional make]:
@ -214,8 +210,8 @@ make lib-kim args="-b " # (re-)install KIM API lib with only example models
make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model
make lib-kim args="-b -a everything" # install KIM API lib with all models
make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver
make lib-kim args="-p /usr/local/kim-api" # use an existing KIM API installation at the provided location
make lib-kim args="-p /usr/local/kim-api -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver :pre
make lib-kim args="-p /usr/local" # use an existing KIM API installation at the provided location
make lib-kim args="-p /usr/local -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver :pre
:line
@ -250,7 +246,10 @@ Maxwell50 = NVIDIA Maxwell generation CC 5.0
Maxwell52 = NVIDIA Maxwell generation CC 5.2
Maxwell53 = NVIDIA Maxwell generation CC 5.3
Pascal60 = NVIDIA Pascal generation CC 6.0
Pascal61 = NVIDIA Pascal generation CC 6.1 :ul
Pascal61 = NVIDIA Pascal generation CC 6.1
Volta70 = NVIDIA Volta generation CC 7.0
Volta72 = NVIDIA Volta generation CC 7.2
Turing75 = NVIDIA Turing generation CC 7.5 :ul
[CMake build]:
@ -351,49 +350,6 @@ the compiler you use on your system to build LATTE.
:line
MEAM package :h4,link(meam)
NOTE: the use of the MEAM package is discouraged, as it has been
superseded by the USER-MEAMC package, which is a direct translation of
the Fortran code in the MEAM library to C++. The code in USER-MEAMC
should be functionally equivalent to the MEAM package, fully supports
use of "pair_style hybrid"_pair_hybrid.html (the MEAM package does
not), and has optimizations that make it significantly faster than the
MEAM package.
[CMake build]:
No additional settings are needed besides "-D PKG_MEAM=yes".
[Traditional make]:
Before building LAMMPS, you must build the MEAM library in lib/meam.
You can build the MEAM library manually if you prefer; follow the
instructions in lib/meam/README. You can also do it in one step from
the lammps/src dir, using a command like these, which simply invoke
the lib/meam/Install.py script with the specified args:
make lib-meam # print help message
make lib-meam args="-m mpi" # build with default Fortran compiler compatible with your MPI library
make lib-meam args="-m serial" # build with compiler compatible with "make serial" (GNU Fortran)
make lib-meam args="-m ifort" # build with Intel Fortran compiler using Makefile.ifort :pre
NOTE: You should test building the MEAM library with both the Intel
and GNU compilers to see if a simulation runs faster with one versus
the other on your system.
The build should produce two files: lib/meam/libmeam.a and
lib/meam/Makefile.lammps. The latter is copied from an existing
Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with
Fortran (MEAM library). Typically the two compilers used for LAMMPS
and the MEAM library need to be consistent (e.g. both Intel or both
GNU compilers). If necessary, you can edit/create a new
lib/meam/Makefile.machine file for your system, which should define an
EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine
file.
:line
MESSAGE package :h4,link(message)
This package can optionally include support for messaging via sockets,
@ -576,6 +532,32 @@ the lib/voronoi/Makefile.lammps file.
:line
USER-ADIOS package :h4,link(user-adios)
The USER-ADIOS package requires the "ADIOS I/O library"_https://github.com/ornladios/ADIOS2,
version 2.3.1 or newer. Make sure that you have ADIOS built either with or
without MPI to match if you build LAMMPS with or without MPI.
ADIOS compilation settings for LAMMPS are automatically detected, if the PATH
and LD_LIBRARY_PATH environment variables have been updated for the local ADIOS
installation and the instructions below are followed for the respective build systems.
[CMake build]:
-D ADIOS2_DIR=path # path is where ADIOS 2.x is installed
-D PKG_USER-ADIOS=yes :pre
[Traditional make]:
Turn on the USER-ADIOS package before building LAMMPS. If the ADIOS 2.x software is installed in PATH, there is nothing else to do:
make yes-user-adios :pre
otherwise, set ADIOS2_DIR environment variable when turning on the package:
ADIOS2_DIR=path make yes-user-adios # path is where ADIOS 2.x is installed :pre
:line
USER-ATC package :h4,link(user-atc)
The USER-ATC package requires the MANYBODY package also be installed.
@ -836,23 +818,34 @@ file.
USER-INTEL package :h4,link(user-intel)
To build with this package, you must choose which hardware you want to
build for, either Intel CPUs or Intel KNLs. You should also typically
"install the USER-OMP package"_#user-omp, as it can be used in tandem
with the USER-INTEL package to good effect, as explained on the "Speed
intel"_Speed_intel.html doc page.
build for, either x86 CPUs or Intel KNLs in offload mode. You should
also typically "install the USER-OMP package"_#user-omp, as it can be
used in tandem with the USER-INTEL package to good effect, as explained
on the "Speed intel"_Speed_intel.html doc page.
[CMake build]:
-D INTEL_ARCH=value # value = cpu (default) or knl
-D BUILD_OMP=yes # also required to build with the USER-INTEl package :pre
-D INTEL_LRT_MODE=value # value = threads, none, or c++11 :pre
Requires an Intel compiler as well as the Intel TBB and MKL libraries.
In Long-range thread mode (LRT) a modified verlet style is used, that
operates the Kspace calculation in a separate thread concurrently to
other calculations. This has to be enabled in the "package intel"_package.html
command at runtime. With the setting "threads" it used the pthreads
library, while c++11 will use the built-in thread support of C++11
compilers. The option "none" skips compilation of this feature. The
default is to use "threads" if pthreads is available and otherwise "none".
Best performance is achieved with Intel hardware, Intel compilers, as well as
the Intel TBB and MKL libraries. However, the code also compiles, links, and
runs with other compilers and without TBB and MKL.
[Traditional make]:
Choose which hardware to compile for in Makefile.machine via the
following settings. See src/MAKE/OPTIONS/Makefile.intel_cpu* and
Makefile.knl files for examples.
Makefile.knl files for examples. and src/USER-INTEL/README for
additional information.
For CPUs:
@ -874,7 +867,17 @@ USER-MOLFILE package :h4,link(user-molfile)
[CMake build]:
No additional settings are needed besides "-D PKG_USER-MOLFILE=yes".
-D MOLFILE_INCLUDE_DIRS=path # (optional) path where VMD molfile plugin headers are installed
-D PKG_USER-MOLFILE=yes :pre
Using "-D PKG_USER-MOLFILE=yes" enables the package, and setting
"-D MOLFILE_INCLUDE DIRS" allows to provide a custom location for
the molfile plugin header files. These should match the ABI of the
plugin files used, and thus one typically sets them to include
folder of the local VMD installation in use. LAMMPS ships with a
couple of default header files that correspond to a popular VMD
version, usually the latest release.
[Traditional make]:
@ -883,7 +886,11 @@ loading library libdl.a that is typically present on all systems. It
is required for LAMMPS to link with this package. If the setting is
not valid for your system, you will need to edit the Makefile.lammps
file. See lib/molfile/README and lib/molfile/Makefile.lammps for
details.
details. It is also possible to configure a different folder with
the VMD molfile plugin header files. LAMMPS ships with a couple of
default headers, but these are not compatible with all VMD versions,
so it is often best to change this setting to the location of the
same include files of the local VMD installation in use.
:line
@ -932,7 +939,9 @@ LINKFLAGS: -fopenmp # for GNU Compilers
LINKFLAGS: -qopenmp # for Intel compilers on Linux :pre
For other platforms and compilers, please consult the documentation
about OpenMP support for your compiler.
about OpenMP support for your compiler. Please see the note about
how to address compatibility "issues with the 'default(none)'
directive"_Build_basics.html#default-none-issues of some compilers.
:line

View File

@ -41,13 +41,13 @@ packages:
"KIM"_Build_extras.html#kim,
"KOKKOS"_Build_extras.html#kokkos,
"LATTE"_Build_extras.html#latte,
"MEAM"_Build_extras.html#meam,
"MESSAGE"_Build_extras.html#message,
"MSCG"_Build_extras.html#mscg,
"OPT"_Build_extras.html#opt,
"POEMS"_Build_extras.html#poems,
"PYTHON"_Build_extras.html#python,
"VORONOI"_Build_extras.html#voronoi,
"USER-ADIOS"_Build_extras.html#user-adios,
"USER-ATC"_Build_extras.html#user-atc,
"USER-AWPMD"_Build_extras.html#user-awpmd,
"USER-COLVARS"_Build_extras.html#user-colvars,
@ -148,26 +148,41 @@ system. Using these files you can enable/disable portions of the
available packages in LAMMPS. If you need a custom preset you can take
one of them as a starting point and customize it to your needs.
cmake -C ../cmake/presets/all_on.cmake \[OPTIONS\] ../cmake | enable all packages
cmake -C ../cmake/presets/all_off.cmake \[OPTIONS\] ../cmake | disable all packages
cmake -C ../cmake/presets/std.cmake \[OPTIONS\] ../cmake | enable standard packages
cmake -C ../cmake/presets/user.cmake \[OPTIONS\] ../cmake | enable user packages
cmake -C ../cmake/presets/std_nolib.cmake \[OPTIONS\] ../cmake | enable standard packages that do not require extra libraries
cmake -C ../cmake/presets/nolib.cmake \[OPTIONS\] ../cmake | disable all packages that do not require extra libraries
cmake -C ../cmake/presets/manual_selection.cmake \[OPTIONS\] ../cmake | example of how to create a manual selection of packages :tb(s=|,a=l)
cmake -C ../cmake/presets/all_on.cmake \[OPTIONS\] ../cmake |
enable all packages |
cmake -C ../cmake/presets/all_off.cmake \[OPTIONS\] ../cmake |
disable all packages |
cmake -C ../cmake/presets/minimal.cmake \[OPTIONS\] ../cmake |
enable just a few core packages |
cmake -C ../cmake/presets/most.cmake \[OPTIONS\] ../cmake |
enable most common packages |
cmake -C ../cmake/presets/nolib.cmake \[OPTIONS\] ../cmake |
disable packages that do require extra libraries or tools |
cmake -C ../cmake/presets/clang.cmake \[OPTIONS\] ../cmake |
change settings to use the Clang compilers by default |
cmake -C ../cmake/presets/mingw.cmake \[OPTIONS\] ../cmake |
enable all packages compatible with MinGW compilers :tb(c=2,s=|,a=l)
NOTE: Running cmake this way manipulates the variable cache in your
current build directory. You can combine presets and options with
multiple cmake runs.
current build directory. You can combine multiple presets and options
in a single cmake run, or change settings incrementally by running
cmake with new flags.
[Example:]
# build LAMMPS with all "standard" packages which don't
# use libraries and enable GPU package
# build LAMMPS with most commonly used packages, but then remove
# those requiring additional library or tools, but still enable
# GPU package and configure it for using CUDA. You can run.
mkdir build
cd build
cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake :pre
cmake -C ../cmake/presets/most.cmake -C ../cmake/presets/nolib.cmake -D PKG_GPU=on -D GPU_API=cuda ../cmake :pre
# to add another package, say BODY to the previous configuration you can run:
cmake -D PKG_BODY=on . :pre
# to reset the package selection from above to the default of no packages
# but leaving all other settings untouched. You can run:
cmake -C ../cmake/presets/no_all.cmake . :pre
:line
[Make shortcuts for installing many packages]:

View File

@ -57,10 +57,10 @@ FFT_INC = -DFFT_SINGLE # do not specify for double precision
FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY :pre
# default is FFT_PACK_ARRAY if not specified
FFT_INC = -I/usr/local/include
FFT_INC = -I/usr/local/include
FFT_PATH = -L/usr/local/lib
FFT_LIB = -lfftw3 # FFTW3 double precision
FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision
FFT_LIB = -lfftw3 # FFTW3 double precision
FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision
FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler
FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compier :pre
@ -179,8 +179,11 @@ e.g. from 511 to -512, which can cause diagnostics like the
mean-squared displacement, as calculated by the "compute
msd"_compute_msd.html command, to be faulty.
Note that the USER-ATC package is not currently compatible with the
"bigbig" setting.
Note that the USER-ATC package and the USER-INTEL package are currently
not compatible with the "bigbig" setting. Also, there are limitations
when using the library interface. Some functions with known issues
have been replaced by dummy calls printing a corresponding error rather
than crashing randomly or corrupting data.
Also note that the GPU package requires its lib/gpu library to be
compiled with the same size setting, or the link will fail. A CMake

View File

@ -51,11 +51,10 @@ provides a unix/linux interface to low-level Windows functions, so LAMMPS
can be compiled on Windows. The necessary (minor) modifications to LAMMPS
are included, but may not always up-to-date for recently added functionality
and the corresponding new code. A machine makefile for using cygwin for
the old build system is provided. The CMake build system is untested
for this; you will have to request that makefiles are generated and
manually set the compiler.
the old build system is provided. Using CMake for this mode of compilation
is untested and not likely to work.
When compiling for Windows [not] set the -DLAMMPS_MEMALIGN define
When compiling for Windows do [not] set the -DLAMMPS_MEMALIGN define
in the LMP_INC makefile variable and add -lwsock32 -lpsapi to the linker
flags in LIB makefile variable. Try adding -static-libgcc or -static or
both to the linker flags when your resulting LAMMPS Windows executable
@ -79,7 +78,13 @@ probably the currently best tested and supported way to build LAMMPS
executables for Windows. There are makefiles provided for the
traditional build system, but CMake has also been successfully tested
using the mingw32-cmake and mingw64-cmake wrappers that are bundled
with the cross-compiler environment on Fedora machines.
with the cross-compiler environment on Fedora machines. A CMake preset
selecting all packages compatible with this cross-compilation build
is provided. You likely need to disable the GPU package unless you
download and install the contents of the pre-compiled "OpenCL ICD loader
library"_https://download.lammps.org/thirdparty/opencl-win-devel.tar.gz
into your MinGW64 cross-compiler environment. The cross-compilation
currently will only produce non-MPI serial binaries.
Please keep in mind, though, that this only applies to compiling LAMMPS.
Whether the resulting binaries do work correctly is no tested by the

View File

@ -33,6 +33,11 @@ commands in it are used to define a LAMMPS simulation.
Commands_bond
Commands_kspace
.. toctree::
:maxdepth: 1
Commands_removed
END_RST -->
<!-- HTML_ONLY -->
@ -49,5 +54,7 @@ END_RST -->
"Bond, angle, dihedral, improper commands"_Commands_bond.html
"KSpace solvers"_Commands_kspace.html :all(b)
"Removed commands and packages"_Commands_removed.html :all(b)
<!-- END_HTML_ONLY -->

View File

@ -48,12 +48,14 @@ An alphabetic list of all general LAMMPS commands.
"dimension"_dimension.html,
"displace_atoms"_displace_atoms.html,
"dump"_dump.html,
"dump adios"_dump_adios.html,
"dump image"_dump_image.html,
"dump_modify"_dump_modify.html,
"dump movie"_dump_image.html,
"dump netcdf"_dump_netcdf.html,
"dump netcdf/mpiio"_dump_netcdf.html,
"dump vtk"_dump_vtk.html,
"dynamical_matrix"_dynamical_matrix.html,
"echo"_echo.html,
"fix"_fix.html,
"fix_modify"_fix_modify.html,
@ -66,6 +68,7 @@ An alphabetic list of all general LAMMPS commands.
"improper_style"_improper_style.html,
"include"_include.html,
"jump"_jump.html,
"kim_query"_kim_query.html,
"kspace_modify"_kspace_modify.html,
"kspace_style"_kspace_style.html,
"label"_label.html,
@ -76,9 +79,11 @@ An alphabetic list of all general LAMMPS commands.
"minimize"_minimize.html,
"min_modify"_min_modify.html,
"min_style"_min_style.html,
"min_style spin"_min_spin.html,
"molecule"_molecule.html,
"ndx2group"_group2ndx.html,
"neb"_neb.html,
"neb/spin"_neb_spin.html,
"neigh_modify"_neigh_modify.html,
"neighbor"_neighbor.html,
"newton"_newton.html,

View File

@ -61,7 +61,7 @@ OPT.
"charmm (iko)"_angle_charmm.html,
"class2 (ko)"_angle_class2.html,
"class2/p6"_angle_class2.html,
"cosine (o)"_angle_cosine.html,
"cosine (ko)"_angle_cosine.html,
"cosine/buck6d"_angle_cosine_buck6d.html,
"cosine/delta (o)"_angle_cosine_delta.html,
"cosine/periodic (o)"_angle_cosine_periodic.html,

View File

@ -116,6 +116,7 @@ Actions:
"minimize"_minimize.html,
"neb"_neb.html,
"neb_spin"_neb_spin.html,
"prd"_prd.html,
"rerun"_rerun.html,
"run"_run.html,

View File

@ -61,6 +61,7 @@ OPT.
"edpd/source"_fix_dpd_source.html,
"efield"_fix_efield.html,
"ehex"_fix_ehex.html,
"electron/stopping"_fix_electron_stopping.html,
"enforce2d (k)"_fix_enforce2d.html,
"eos/cv"_fix_eos_cv.html,
"eos/table"_fix_eos_table.html,
@ -106,6 +107,7 @@ OPT.
"mvv/edpd"_fix_mvv_dpd.html,
"mvv/tdpd"_fix_mvv_dpd.html,
"neb"_fix_neb.html,
"neb_spin"_fix_neb_spin.html,
"nph (ko)"_fix_nh.html,
"nph/asphere (o)"_fix_nph_asphere.html,
"nph/body"_fix_nph_body.html,
@ -224,7 +226,7 @@ OPT.
"wall/body/polyhedron"_fix_wall_body_polyhedron.html,
"wall/colloid"_fix_wall.html,
"wall/ees"_fix_wall_ees.html,
"wall/gran (o)"_fix_wall_gran.html,
"wall/gran"_fix_wall_gran.html,
"wall/gran/region"_fix_wall_gran_region.html,
"wall/harmonic"_fix_wall.html,
"wall/lj1043"_fix_wall.html,

View File

@ -80,6 +80,8 @@ OPT.
"dpd/fdt/energy (k)"_pair_dpd_fdt.html,
"dpd/tstat (go)"_pair_dpd.html,
"dsmc"_pair_dsmc.html,
"e3b"_pair_e3b.html,
"drip"_pair_drip.html,
"eam (gikot)"_pair_eam.html,
"eam/alloy (gikot)"_pair_eam.html,
"eam/cd (o)"_pair_eam.html,
@ -98,6 +100,7 @@ OPT.
"gran/hertz/history (o)"_pair_gran.html,
"gran/hooke (o)"_pair_gran.html,
"gran/hooke/history (ko)"_pair_gran.html,
"granular"_pair_granular.html,
"gw"_pair_gw.html,
"gw/zbl"_pair_gw.html,
"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html,

View File

@ -0,0 +1,66 @@
"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS
Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands.html)
:line
Removed commands and packages :h3
This page lists LAMMPS commands and packages that have been removed from
the distribution and provides suggestions for alternatives or replacements.
LAMMPS has special dummy styles implemented, that will stop LAMMPS and
print a suitable error message in most cases, when a style/command is used
that has been removed.
Fix ave/spatial and fix ave/spatial/sphere :h4
The fixes ave/spatial and ave/spatial/sphere have been removed from LAMMPS
since they were superseded by the more general and extensible "chunk
infrastructure". Here the system is partitioned in one of many possible
ways through the "compute chunk/atom"_compute_chunk_atom.html command
and then averaging is done using "fix ave/chunk"_fix_ave_chunk.html.
Please refer to the "chunk HOWTO"_Howto_chunk.html section for an overview.
MEAM package :h4
The MEAM package has been removed since it was superseded by the
"USER-MEAMC package"_Package_details.html#PKG-USER-MEAMC. The code in
the USER-MEAMC package is a translation of the Fortran code of MEAM into C++,
which removes several restrictions (e.g. there can be multiple instances
in hybrid pair styles) and allows for some optimizations leading
to better performance. The new pair style "meam/c"_pair_meamc.html has
the exact same syntax as the old "meam" pair style and thus pair style
"meam"_pair_meamc.html is an alias to the new style and backward
compatibility of old inputs is preserved.
REAX package :h4
The REAX package has been removed since it was superseded by the
"USER-REAXC package"_Package_details.html#PKG-USER-REAXC. The USER-REAXC
package has been tested to yield equivalent results to the REAX package,
offers better performance, supports OpenMP multi-threading via USER-OMP,
and GPU and threading parallelization through KOKKOS. The new pair styles
are not syntax compatible with the removed reax pair style, so input
files will have to be adapted.
USER-CUDA package :h4
The USER-CUDA package had been removed, since it had been unmaintained
for a long time and had known bugs and problems. Significant parts of
the design were transferred to the
"KOKKOS package"_Package_details.html#PKG-KOKKOS, which has similar
performance characteristics on Nvidia GPUs. Both, the KOKKOS
and the "GPU package"_Package_details.html#PKG-GPU are maintained
and allow running LAMMPS with GPU acceleration.
restart2data tool :h4
The functionality of the restart2data tool has been folded into the
LAMMPS executable directly instead of having a separate tool. A
combination of the commands "read_restart"_read_restart.html and
"write_data"_write_data.html can be used to the same effect. For added
convenience this conversion can also be triggered by "command line
flags"_Run_options.html

BIN
doc/src/Eqs/e3b.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

15
doc/src/Eqs/e3b.tex Normal file
View File

@ -0,0 +1,15 @@
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
E =& E_2 \sum_{i,j}e^{-k_2 r_{ij}} + E_A \sum_{\substack{i,j,k,\ell \\\in \textrm{type A}}} f(r_{ij})f(r_{k\ell}) + E_B \sum_{\substack{i,j,k,\ell \\\in \textrm{type B}}} f(r_{ij})f(r_{k\ell}) + E_C \sum_{\substack{i,j,k,\ell \\\in \textrm{type C}}} f(r_{ij})f(r_{k\ell}) \\
f(r) =& e^{-k_3 r}s(r) \\
s(r) =& \begin{cases}
1 & r<R_s \\
\displaystyle\frac{(R_f-r)^2(R_f-3R_s+2r)}{(R_f-R_s)^3} & R_s\leq r\leq R_f \\
0 & r>R_f\\
\end{cases}
\end{align*}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,21 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\bm{H}_{cubic} = -\sum_{{ i}=1}^{N} K_{1}
\Big[
\left(\vec{s}_{i} \cdot \vec{n1} \right)^2
\left(\vec{s}_{i} \cdot \vec{n2} \right)^2 +
\left(\vec{s}_{i} \cdot \vec{n2} \right)^2
\left(\vec{s}_{i} \cdot \vec{n3} \right)^2 +
\left(\vec{s}_{i} \cdot \vec{n1} \right)^2
\left(\vec{s}_{i} \cdot \vec{n3} \right)^2 \Big]
+K_{2}^{(c)} \left(\vec{s}_{i} \cdot \vec{n1} \right)^2
\left(\vec{s}_{i} \cdot \vec{n2} \right)^2
\left(\vec{s}_{i} \cdot \vec{n3} \right)^2 \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -0,0 +1,13 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath, amssymb, graphics, setspace}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\frac{d \vec{s}_{i}}{dt} = \lambda\, \vec{s}_{i} \times\left( \vec{\omega}_{i} \times\vec{s}_{i} \right)
\nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -0,0 +1,14 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath, amssymb, graphics, setspace}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
{\Delta t}_{\rm max} = \frac{2\pi}{\kappa
\left|\vec{\omega}_{\rm max} \right|}
\nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -0,0 +1,15 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath, amssymb, graphics, setspace}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\omega_i^{\nu} =
(\nu - 1) \Delta \omega_i
{\rm ~~and~~} \Delta \omega_i = \frac{\omega_i}{Q-1}
, \nonumber
\end{equation}
\end{varwidth}
\end{document}

BIN
doc/src/Eqs/neb_spin_k.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -0,0 +1,16 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath, amssymb, graphics, setspace}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\vec{k}_i =
\frac{\vec{m}_i^I \times \vec{m}_i^F}{\left|\vec{m}_i^I
\times \vec{m}_i^F\right|}
%&{\rm ~if~}& \vec{m}_i^I \times \vec{m}_i^F
, \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,16 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath, amssymb, graphics, setspace}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\vec{m}_i^{\nu} = \vec{m}_i^{I} \cos(\omega_i^{\nu})
+ (\vec{k}_i \times \vec{m}_i^{I}) \sin(\omega_i^{\nu})
+ (1.0-\cos(\omega_i^{\nu})) \vec{k}_i (\vec{k}_i\cdot
\vec{m}_i^{I})
, \nonumber
\end{equation}
\end{varwidth}
\end{document}

BIN
doc/src/Eqs/pair_drip.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

14
doc/src/Eqs/pair_drip.tex Normal file
View File

@ -0,0 +1,14 @@
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{bm}
\begin{document}
\begin{eqnarray*}
E &=& \frac{1}{2} \sum_{i} \sum_{j\notin\text{layer}\,i} \phi_{ij} \\\phi_{ij} &=& f_\text{c}(x_r) \left[ e^{-\lambda(r_{ij} - z_0 )} \left[C+f(\rho_{ij})+ g(\rho_{ij}, \{\alpha_{ij}^{(m)}\}) \right]- A\left (\frac{z_0}{r_{ij}} \right)^6 \right] \\
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,9 +1,9 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
$$
E(r) = \frac{A}{r^{12}} - \frac{A}{r^{6}}
E(r) = \frac{A}{r^{12}} - \frac{B}{r^{6}}
$$
\end{document}

View File

@ -610,6 +610,62 @@ This means there is something invalid about the topology definitions. :dd
The data file header lists bonds but no bond types. :dd
{Bond/react: Cannot use fix bond/react with non-molecular systems} :dt
Only systems with bonds that can be changed can be used. Atom_style
template does not qualify. :dd
{Bond/react: Rmax cutoff is longer than pairwise cutoff} :dt
This is not allowed because bond creation is done using the pairwise
neighbor list. :dd
{Bond/react: Molecule template ID for fix bond/react does not exist} :dt
A valid molecule template must have been created with the molecule
command. :dd
{Bond/react: Reaction templates must contain the same number of atoms} :dt
There should be a one-to-one correspondence between atoms in the
pre-reacted and post-reacted templates, as specified by the map file. :dd
{Bond/react: Unknown section in map file} :dt
Please ensure reaction map files are properly formatted. :dd
{Bond/react: Atom affected by reaction too close to template edge} :dt
This means an atom which changes type during the reaction is too close
to an 'edge' atom defined in the superimpose file. This could cause
incorrect assignment of bonds, angle, etc. Generally, this means you
must include more atoms in your templates, such that there are at
least two atoms between each atom involved in the reaction and an edge
atom. :dd
{Bond/react: Fix bond/react needs ghost atoms from farther away} :dt
This is because a processor needs to superimpose the entire unreacted
molecule template onto simulation atoms it knows about. The
comm_modify cutoff command can be used to extend the communication
range. :dd
{Bond/react: A deleted atom cannot remain bonded to an atom that is not deleted} :dt
Self-explanatory. :dd
{Bond/react special bond generation overflow} :dt
The number of special bonds per-atom created by a reaction exceeds the
system setting. See the read_data or create_box command for how to
specify this value. :dd
{Bond/react topology/atom exceed system topology/atom} :dt
The number of bonds, angles etc per-atom created by a reaction exceeds
the system setting. See the read_data or create_box command for how to
specify this value. :dd
{Both restart files must use % or neither} :dt
Self-explanatory. :dd
@ -5828,6 +5884,12 @@ Must have periodic x,y dimensions and non-periodic z dimension to use
Must have periodic x,y dimensions and non-periodic z dimension to use
2d slab option with pppm/disp. :dd
{Incorrect conversion in format string} :dt
A format style variable was not using either a %f, a %g, or a %e conversion.
Or an immediate variable with format suffix was not using either
a %f, a %g or a %e conversion in the format suffix. :dd
{Incorrect element names in ADP potential file} :dt
The element names in the ADP file do not match those requested. :dd
@ -6988,12 +7050,6 @@ The atom style defined does not have this attribute. :dd
The atom style defined does not have these attributes. :dd
{KIM neighbor iterator exceeded range} :dt
This should not happen. It likely indicates a bug
in the KIM implementation of the interatomic potential
where it is requesting neighbors incorrectly. :dd
{KOKKOS package does not yet support comm_style tiled} :dt
Self-explanatory. :dd
@ -7454,6 +7510,11 @@ The Atoms section of a data file must come before a Triangles section. :dd
The Atoms section of a data file must come before a Velocities
section. :dd
{Must re-specify non-restarted pair style (xxx) after read_restart} :dt
For pair styles, that do not store their settings in a restart file,
it must be defined with a new 'pair_style' command after read_restart. :dd
{Must set both respa inner and outer} :dt
Cannot use just the inner or outer option with respa without using the
@ -9996,25 +10057,25 @@ quote. :dd
Self-explanatory. :dd
{Unexpected end of AngleCoeffs section} :dt
{Unexpected empty line in AngleCoeffs section} :dt
Read a blank line. :dd
Read a blank line where there should be coefficient data. :dd
{Unexpected end of BondCoeffs section} :dt
{Unexpected empty line in BondCoeffs section} :dt
Read a blank line. :dd
Read a blank line where there should be coefficient data. :dd
{Unexpected end of DihedralCoeffs section} :dt
{Unexpected empty line in DihedralCoeffs section} :dt
Read a blank line. :dd
Read a blank line where there should be coefficient data. :dd
{Unexpected end of ImproperCoeffs section} :dt
{Unexpected empty line in ImproperCoeffs section} :dt
Read a blank line. :dd
Read a blank line where there should be coefficient data. :dd
{Unexpected end of PairCoeffs section} :dt
{Unexpected empty line in PairCoeffs section} :dt
Read a blank line. :dd
Read a blank line where there should be coefficient data. :dd
{Unexpected end of custom file} :dt
@ -10055,19 +10116,19 @@ create_box command. :dd
A universe or uloop style variable must specify a number of values >= to the
number of processor partitions. :dd
{Unknown angle style} :dt
{Unrecognized angle style} :dt
The choice of angle style is unknown. :dd
{Unknown atom style} :dt
{Unrecognized atom style} :dt
The choice of atom style is unknown. :dd
{Unknown body style} :dt
{Unrecognized body style} :dt
The choice of body style is unknown. :dd
{Unknown bond style} :dt
{Unrecognized bond style} :dt
The choice of bond style is unknown. :dd
@ -10083,23 +10144,23 @@ Self-explanatory. :dd
Self-explanatory. :dd
{Unknown command: %s} :dt
{Unrecognized command: %s} :dt
The command is not known to LAMMPS. Check the input script. :dd
{Unknown compute style} :dt
{Unrecognized compute style} :dt
The choice of compute style is unknown. :dd
{Unknown dihedral style} :dt
{Unrecognized dihedral style} :dt
The choice of dihedral style is unknown. :dd
{Unknown dump reader style} :dt
{Unrecognized dump reader style} :dt
The choice of dump reader style via the format keyword is unknown. :dd
{Unknown dump style} :dt
{Unrecognized dump style} :dt
The choice of dump style is unknown. :dd
@ -10107,7 +10168,7 @@ The choice of dump style is unknown. :dd
Self-explanatory. :dd
{Unknown fix style} :dt
{Unrecognized fix style} :dt
The choice of fix style is unknown. :dd
@ -10115,7 +10176,7 @@ The choice of fix style is unknown. :dd
A section of the data file cannot be read by LAMMPS. :dd
{Unknown improper style} :dt
{Unrecognized improper style} :dt
The choice of improper style is unknown. :dd
@ -10123,7 +10184,7 @@ The choice of improper style is unknown. :dd
One or more specified keywords are not recognized. :dd
{Unknown kspace style} :dt
{Unrecognized kspace style} :dt
The choice of kspace style is unknown. :dd
@ -10139,7 +10200,7 @@ Self-explanatory. :dd
Self-explanatory. :dd
{Unknown pair style} :dt
{Unrecognized pair style} :dt
The choice of pair style is unknown. :dd
@ -10147,7 +10208,7 @@ The choice of pair style is unknown. :dd
The choice of sub-style is unknown. :dd
{Unknown region style} :dt
{Unrecognized region style} :dt
The choice of region style is unknown. :dd
@ -10185,10 +10246,6 @@ valid. :dd
Self-explanatory. :dd
{Unrecognized virial argument in pair_style command} :dt
Only two options are supported: LAMMPSvirial and KIMvirial :dd
{Unsupported mixing rule in kspace_style ewald/disp} :dt
Only geometric mixing is supported. :dd

View File

@ -82,6 +82,11 @@ bond/angle/dihedral. LAMMPS computes this by taking the maximum bond
length, multiplying by the number of bonds in the interaction (e.g. 3
for a dihedral) and adding a small amount of stretch. :dd
{Bond/react: An atom in 'react #%d' changes bond connectivity but not atom type} :dt
You may want to double-check that all atom types are properly assigned
in the post-reaction template. :dd
{Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero} :dt
Self-explanatory. :dd
@ -178,12 +183,6 @@ When using fixes like box/relax, the potential energy used by the minimizer
is augmented by an additional energy provided by the fix. Thus the printed
converged energy may be different from the total potential energy. :dd
{Energy tally does not account for 'zero yes'} :dt
The energy removed by using the 'zero yes' flag is not accounted
for in the energy tally and thus energy conservation cannot be
monitored in this case. :dd
{Estimated error in splitting of dispersion coeffs is %g} :dt
Error is greater than 0.0001 percent. :dd

View File

@ -11,7 +11,7 @@ Section"_Tools.html :c
Example scripts :h3
The LAMMPS distribution includes an examples sub-directory with many
sample problems. Many are 2d models that run quickly are are
sample problems. Many are 2d models that run quickly and are
straightforward to visualize, requiring at most a couple of minutes to
run on a desktop machine. Each problem has an input script (in.*) and
produces a log file (log.*) when it runs. Some use a data file
@ -52,13 +52,14 @@ Lowercase directories :h4
accelerate: run with various acceleration options (OpenMP, GPU, Phi)
airebo: polyethylene with AIREBO potential
atm: Axilrod-Teller-Muto potential example
balance: dynamic load balancing, 2d system
body: body particles, 2d system
cmap: CMAP 5-body contributions to CHARMM force field
colloid: big colloid particles in a small particle solvent, 2d system
comb: models using the COMB potential
coreshell: core/shell model using CORESHELL package
controller: use of fix controller as a thermostat
coreshell: core/shell model using CORESHELL package
crack: crack propagation in a 2d solid
deposit: deposit atoms and molecules on a surface
dipole: point dipolar particles, 2d system
@ -70,10 +71,13 @@ friction: frictional contact of spherical asperities between 2d surfaces
gcmc: Grand Canonical Monte Carlo (GCMC) via the fix gcmc command
granregion: use of fix wall/region/gran as boundary on granular particles
hugoniostat: Hugoniostat shock dynamics
hyper: global and local hyperdynamics of diffusion on Pt surface
indent: spherical indenter into a 2d solid
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
latte: examples for using fix latte for DFTB via the LATTE library
meam: MEAM test for SiC and shear (same as shear examples)
melt: rapid melt of 3d LJ system
message: demos for LAMMPS client/server coupling with the MESSAGE package
micelle: self-assembly of small lipid-like molecules into 2d bilayers
min: energy minimization of 2d LJ melt
mscg: parameterize a multi-scale coarse-graining (MSCG) model
@ -88,6 +92,7 @@ pour: pouring of granular particles into a 3d box, then chute flow
prd: parallel replica dynamics of vacancy diffusion in bulk Si
python: using embedded Python in a LAMMPS input script
qeq: use of the QEQ package for charge equilibration
rdf-adf: computing radial and angle distribution functions for water
reax: RDX and TATB models using the ReaxFF
rigid: rigid bodies modeled as independent or coupled
shear: sideways shear applied to 2d solid, with and without a void
@ -95,6 +100,7 @@ snap: NVE dynamics for BCC tantalum crystal using SNAP potential
srd: stochastic rotation dynamics (SRD) particles as solvent
streitz: use of Streitz/Mintmire potential with charge equilibration
tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si
threebody: regression test input for a variety of manybody potentials
vashishta: use of the Vashishta potential
voronoi: Voronoi tesselation via compute voronoi/atom command :tb(s=:)
@ -131,8 +137,10 @@ COUPLE: examples of how to use LAMMPS as a library
DIFFUSE: compute diffusion coefficients via several methods
ELASTIC: compute elastic constants at zero temperature
ELASTIC_T: compute elastic constants at finite temperature
HEAT: compute thermal conductivity for LJ and water via fix ehex
KAPPA: compute thermal conductivity via several methods
MC: using LAMMPS in a Monte Carlo mode to relax the energy of a system
SPIN: examples for features of the SPIN package
USER: examples for USER packages and USER-contributed commands
VISCOSITY: compute viscosity via several methods :tb(s=:)

View File

@ -148,7 +148,7 @@ END_RST -->
<!-- HTML_ONLY -->
"CHARMM, AMBER, and DREIDING force fields"_Howto_bioFF.html
"CHARMM, AMBER, COMPASS, and DREIDING force fields"_Howto_bioFF.html
"TIP3P water model"_Howto_tip3p.html
"TIP4P water model"_Howto_tip4p.html
"SPC water model"_Howto_spc.html :all(b)

View File

@ -7,29 +7,31 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
:line
CHARMM, AMBER, and DREIDING force fields :h3
CHARMM, AMBER, COMPASS, and DREIDING force fields :h3
A force field has 2 parts: the formulas that define it and the
coefficients used for a particular system. Here we only discuss
formulas implemented in LAMMPS that correspond to formulas commonly
used in the CHARMM, AMBER, and DREIDING force fields. Setting
coefficients is done in the input data file via the
"read_data"_read_data.html command or in the input script with
used in the CHARMM, AMBER, COMPASS, and DREIDING force fields. Setting
coefficients is done either from special sections in an input data file
via the "read_data"_read_data.html command or in the input script with
commands like "pair_coeff"_pair_coeff.html or
"bond_coeff"_bond_coeff.html. See the "Tools"_Tools.html doc page for
additional tools that can use CHARMM or AMBER to assign force field
coefficients and convert their output into LAMMPS input.
"bond_coeff"_bond_coeff.html and so on. See the "Tools"_Tools.html doc
page for additional tools that can use CHARMM, AMBER, or Materials
Studio generated files to assign force field coefficients and convert
their output into LAMMPS input.
See "(MacKerell)"_#howto-MacKerell for a description of the CHARMM force
field. See "(Cornell)"_#howto-Cornell for a description of the AMBER force
field.
field. See "(Cornell)"_#howto-Cornell for a description of the AMBER
force field. See "(Sun)"_#howto-Sun for a description of the COMPASS
force field.
:link(charmm,http://www.scripps.edu/brooks)
:link(amber,http://amber.scripps.edu)
These style choices compute force field formulas that are consistent
with common options in CHARMM or AMBER. See each command's
documentation for the formula it computes.
The interaction styles listed below compute force field formulas that
are consistent with common options in CHARMM or AMBER. See each
command's documentation for the formula it computes.
"bond_style"_bond_harmonic.html harmonic
"angle_style"_angle_charmm.html charmm
@ -44,28 +46,54 @@ documentation for the formula it computes.
"special_bonds"_special_bonds.html charmm
"special_bonds"_special_bonds.html amber :ul
NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were
released in March 2017. We recommend they be used instead of the
older {charmm} styles. See discussion of the differences on the "pair
charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html
doc pages.
NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were released
in March 2017. We recommend they be used instead of the older {charmm}
styles. See discussion of the differences on the "pair
charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html doc
pages.
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 "Tools"_Tools.html doc page for the msi2lmp tool for creating
LAMMPS template input and data files from BIOVIA's Materials Studio
files. Please note that the msi2lmp tool is very old and largely
unmaintained, so it does not support all features of Materials Studio
provided force field files, especially additions during the last decade.
You should watch the output carefully and compare results, where
possible. See "(Sun)"_#howto-Sun for a description of the COMPASS force
field.
These interaction styles listed below compute force field formulas that
are consistent with the COMPASS force field. See each command's
documentation for the formula it computes.
"bond_style"_bond_class2.html class2
"angle_style"_angle_class2.html class2
"dihedral_style"_dihedral_class2.html class2
"improper_style"_improper_class2.html class2 :ul
"pair_style"_pair_class2.html lj/class2
"pair_style"_pair_class2.html lj/class2/coul/cut
"pair_style"_pair_class2.html lj/class2/coul/long :ul
"special_bonds"_special_bonds.html lj/coul 0 0 1 :ul
DREIDING is a generic force field developed by the "Goddard
group"_http://www.wag.caltech.edu at Caltech and is useful for
predicting structures and dynamics of organic, biological and
main-group inorganic molecules. The philosophy in DREIDING is to use
general force constants and geometry parameters based on simple
hybridization considerations, rather than individual force constants
and geometric parameters that depend on the particular combinations of
atoms involved in the bond, angle, or torsion terms. DREIDING has an
"explicit hydrogen bond term"_pair_hbond_dreiding.html to describe
interactions involving a hydrogen atom on very electronegative atoms
(N, O, F).
predicting structures and dynamics of organic, biological and main-group
inorganic molecules. The philosophy in DREIDING is to use general force
constants and geometry parameters based on simple hybridization
considerations, rather than individual force constants and geometric
parameters that depend on the particular combinations of atoms involved
in the bond, angle, or torsion terms. DREIDING has an "explicit hydrogen
bond term"_pair_hbond_dreiding.html to describe interactions involving a
hydrogen atom on very electronegative atoms (N, O, F).
See "(Mayo)"_#howto-Mayo for a description of the DREIDING force field
These style choices compute force field formulas that are consistent
with the DREIDING force field. See each command's
The interaction styles listed below compute force field formulas that
are consistent with the DREIDING force field. See each command's
documentation for the formula it computes.
"bond_style"_bond_harmonic.html harmonic
@ -100,6 +128,9 @@ Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
[(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson,
Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
:link(howto-Sun)
[(Sun)] Sun, J. Phys. Chem. B, 102, 7338-7364 (1998).
:link(howto-Mayo)
[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
(1990).

View File

@ -29,3 +29,5 @@ diffusion coefficient. The instantaneous VACF values can be
accumulated in a vector via the "fix vector"_fix_vector.html command,
and time integrated via the "variable trap"_variable.html function,
and thus extract D.
:line

View File

@ -274,7 +274,7 @@ crash. Even without reaching this extreme case, the correlation
between nearby dipoles on the same molecule may be exaggerated. Often,
special bond relations prevent bonded neighboring atoms to see the
charge of each other's DP, so that the problem does not always appear.
It is possible to use screened dipole dipole interactions by using the
It is possible to use screened dipole-dipole interactions by using the
"{pair_style thole}"_pair_thole.html. This is implemented as a
correction to the Coulomb pair_styles, which dampens at short distance
the interactions between the charges representing the induced dipoles.

View File

@ -166,9 +166,6 @@ void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *)
void lammps_scatter_atoms(void *, char *, int, int, void *)
void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) :pre
void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
imageint *, int) :pre
The gather functions collect peratom info of the requested type (atom
coords, atom types, forces, etc) from all processors, and returns the
same vector of values to each calling processor. The scatter
@ -176,6 +173,11 @@ functions do the inverse. They distribute a vector of peratom values,
passed by all calling processors, to individual atoms, which may be
owned by different processors.
IMPORTANT NOTE: These functions are not compatible with the
-DLAMMPS_BIGBIG setting when compiling LAMMPS. Dummy functions
that result in an error message and abort will be substituted
instead of resulting in random crashes and memory corruption.
The lammps_gather_atoms() function does this for all N atoms in the
system, ordered by atom ID, from 1 to N. The
lammps_gather_atoms_concat() function does it for all N atoms, but
@ -196,6 +198,9 @@ those values to each atom in the system. The
lammps_scatter_atoms_subset() function takes a subset of IDs as an
argument and only scatters those values to the owning atoms.
void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
imageint *, int) :pre
The lammps_create_atoms() function takes a list of N atoms as input
with atom types and coords (required), an optionally atom IDs and
velocities and image flags. It uses the coords of each atom to assign

View File

@ -57,6 +57,17 @@ library is then loaded by the Python interface. In this example we enable the
MOLECULE package and compile LAMMPS with C++ exceptions, PNG, JPEG and FFMPEG
output support enabled.
Step 1a: For the CMake based build system, the steps are:
mkdir $LAMMPS_DIR/build-shared
cd $LAMMPS_DIR/build-shared :pre
# MPI, PNG, Jpeg, FFMPEG are auto-detected
cmake ../cmake -DPKG_MOLECULE=yes -DLAMMPS_EXCEPTIONS=yes -DBUILD_LIB=yes -DBUILD_SHARED_LIBS=yes
make :pre
Step 1b: For the legacy, make based build system, the steps are:
cd $LAMMPS_DIR/src :pre
# add packages if necessary
@ -68,10 +79,9 @@ make mpi mode=shlib LMP_INC="-DLAMMPS_PNG -DLAMMPS_JPEG -DLAMMPS_FFMPEG -DLAMMPS
Step 2: Installing the LAMMPS Python package :h6
PyLammps is part of the lammps Python package. To install it simply install
that package into your current Python installation.
that package into your current Python installation with:
cd $LAMMPS_DIR/python
python install.py :pre
make install-python :pre
NOTE: Recompiling the shared library requires re-installing the Python package
@ -94,14 +104,21 @@ apt-get install python-virtualenv :pre
Creating a virtualenv with lammps installed :h6
# create virtualenv name 'testing' :pre
# create virtualenv named 'testing'
virtualenv $HOME/python/testing :pre
# activate 'testing' environment
source testing/bin/activate :pre
source $HOME/python/testing/bin/activate :pre
Now configure and compile the LAMMPS shared library as outlined above.
When using CMake and the shared library has already been build, you
need to re-run CMake to update the location of the python executable
to the location in the virtual environment with:
cmake . -DPYTHON_EXECUTABLE=$(which python) :pre
# install LAMMPS package in virtualenv
(testing) cd $LAMMPS_DIR/python
(testing) python install.py :pre
(testing) make install-python :pre
# install other useful packages
(testing) pip install matplotlib jupyter mpi4py :pre

View File

@ -17,6 +17,7 @@ periodically.
These are the relevant commands:
"neb"_neb.html for nudged elastic band calculations
"neb_spin"_neb_spin.html for magnetic nudged elastic band calculations
"prd"_prd.html for parallel replica dynamics
"tad"_tad.html for temperature accelerated dynamics
"temper"_temper.html for parallel tempering

View File

@ -10,7 +10,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
Magnetic spins :h3
The magnetic spin simulations are enabled by the SPIN package, whose
implementation is detailed in "Tranchida"_#Tranchida7.
implementation is detailed in "Tranchida"_#Tranchida.
The model represents the simulation of atomic magnetic spins coupled
to lattice vibrations. The dynamics of those magnetic spins can be used
@ -36,13 +36,28 @@ A Langevin thermostat can be applied to those magnetic spins using
"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat
can be coupled to another Langevin thermostat applied to the atoms
using "fix langevin"_fix_langevin.html in order to simulate
thermostatted spin-lattice system.
thermostatted spin-lattice systems.
The magnetic Gilbert damping can also be applied using "fix
langevin/spin"_fix_langevin_spin.html. It allows to either dissipate
the thermal energy of the Langevin thermostat, or to perform a
relaxation of the magnetic configuration toward an equilibrium state.
The command "fix setforce/spin"_fix_setforce.html allows to set the
components of the magnetic precession vectors (while erasing and
replacing the previously computed magnetic precession vectors on
the atom).
This command can be used to freeze the magnetic moment of certain
atoms in the simulation by zeroing their precession vector.
The command "fix nve/spin"_fix_nve_spin.html can be used to
perform a symplectic integration of the combined dynamics of spins
and atomic motions.
The minimization style "min/spin"_min_spin.html can be applied
to the spins to perform a minimization of the spin configuration.
All the computed magnetic properties can be output by two main
commands. The first one is "compute spin"_compute_spin.html, that
enables to evaluate magnetic averaged quantities, such as the total
@ -54,6 +69,6 @@ magnetic spin, or the magnetic force acting on this spin.
:line
:link(Tranchida7)
:link(Tranchida)
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
arXiv preprint arXiv:1801.10233, (2018).
Journal of Computational Physics, 372, 406-425, (2018).

View File

@ -10,7 +10,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
TIP3P water model :h3
The TIP3P water model as implemented in CHARMM
"(MacKerell)"_#howto-MacKerell specifies a 3-site rigid water molecule with
"(MacKerell)"_#howto-tip3p specifies a 3-site rigid water molecule with
charges and Lennard-Jones parameters assigned to each of the 3 atoms.
In LAMMPS the "fix shake"_fix_shake.html command can be used to hold
the two O-H bonds and the H-O-H angle rigid. A bond style of
@ -60,6 +60,10 @@ models"_http://en.wikipedia.org/wiki/Water_model.
:line
:link(howto-tip3p)
[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
:link(Jorgensen1)
[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
Phys, 79, 926 (1983).

View File

@ -52,7 +52,7 @@ as if you unpacked a current LAMMPS tarball, with the exception, that
the HTML documentation files are not included. They can be fetched
from the LAMMPS website by typing "make fetch" in the doc directory.
Or they can be generated from the content provided in doc/src by
typing "make html" from the the doc directory.
typing "make html" from the doc directory.
After initial cloning, as bug fixes and new features are added to
LAMMPS, as listed on "this page"_Errors_bugs.html, you can stay

View File

@ -40,7 +40,7 @@ as if you unpacked a current LAMMPS tarball, with the exception, that
the HTML documentation files are not included. They can be fetched
from the LAMMPS website by typing "make fetch" in the doc directory.
Or they can be generated from the content provided in doc/src by
typing "make html" from the the doc directory.
typing "make html" from the doc directory.
After initial checkout, as bug fixes and new features are added to
LAMMPS, as listed on "this page"_Errors_bugs.html, you can stay

View File

@ -12,7 +12,7 @@ Download an executable for Windows :h3
Pre-compiled Windows installers which install LAMMPS executables on a
Windows system can be downloaded from this site:
"http://rpm.lammps.org/windows.html"_http://rpm.lammps.org/windows.html
"http://packages.lammps.org/windows.html"_http://packages.lammps.org/windows.html
Note that each installer package has a date in its name, which
corresponds to the LAMMPS version of the same date. Installers for

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -1,7 +1,7 @@
<!-- HTML_ONLY -->
<HEAD>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="1 Feb 2019 version">
<META NAME="docnumber" CONTENT="5 Jun 2019 version">
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
</HEAD>
@ -21,7 +21,7 @@
:line
LAMMPS Documentation :c,h1
1 Feb 2019 version :c,h2
5 Jun 2019 version :c,h2
"What is a LAMMPS version?"_Manual_version.html
@ -37,27 +37,21 @@ LAMMPS is an open-source code, distributed freely under the terms of
the GNU Public License (GPL).
The "LAMMPS website"_lws has a variety of information about the code.
It includes links to an on-line version of this manual, a "mail
It includes links to an on-line version of this manual, a "mailing
list"_http://lammps.sandia.gov/mail.html where users can post
questions, and a "GitHub site"https://github.com/lammps/lammps where
questions, and a "GitHub site"_https://github.com/lammps/lammps where
all LAMMPS development is coordinated.
:line
"PDF file"_Manual.pdf of the entire manual, generated by
"htmldoc"_http://freecode.com/projects/htmldoc
The content for this manual is part of the LAMMPS distribution. You
can build a local copy of the Manual as HTML pages or a PDF file, by
following the steps on the "Manual build"_Manual_build.html doc page.
There is also a "Developer.pdf"_Developer.pdf document which gives
a brief description of the basic code structure of LAMMPS.
:line
This manual is organized into the following sections.
Once you are familiar with LAMMPS, you may want to bookmark "this
page"_Commands.html since it gives quick access to a doc page for
every LAMMPS command.

View File

@ -63,6 +63,7 @@ as contained in the file name.
"SRD"_#PKG-SRD,
"VORONOI"_#PKG-VORONOI :tb(c=6,ea=c)
"USER-ADIOS"_#PKG-USER-ADIOS,
"USER-ATC"_#PKG-USER-ATC,
"USER-AWPMD"_#PKG-USER-AWPMD,
"USER-BOCS"_#PKG-USER-BOCS,
@ -207,7 +208,7 @@ available on your system.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#compress on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -340,23 +341,24 @@ KIM package :link(PKG-KIM),h4
A "pair_style kim"_pair_kim.html command which is a wrapper on the
Knowledge Base for Interatomic Models (KIM) repository of interatomic
potentials, enabling any of them to be used in LAMMPS simulations.
Also a "kim_query"_kim_query.html command, which allows to query
the OpenKIM database for stored properties.
To use this package you must have the KIM library available on your
system.
Information about the KIM project can be found at its website:
https://openkim.org. The KIM project is led by Ellad Tadmor and Ryan
Elliott (U Minnesota) and James Sethna (Cornell U).
Elliott (U Minnesota).
[Authors:] Ryan Elliott (U Minnesota) is the main developer for the KIM
API which the "pair_style kim"_pair_kim.html command uses. He
developed the pair style in collaboration with Valeriu Smirichinski (U
Minnesota).
developed the pair style.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#kim on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -402,7 +404,7 @@ lib/kokkos.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#kokkos on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -475,7 +477,7 @@ Cawkwell, Anders Niklasson, and Christian Negre.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#latte on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -652,7 +654,7 @@ University of Chicago.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#mscg on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -684,7 +686,7 @@ and Vincent Natoli (Stone Ridge Technolgy).
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#opt on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -704,7 +706,7 @@ PERI package :link(PKG-PERI),h4
An atom style, several pair styles which implement different
Peridynamics materials models, and several computes which calculate
diagnostics. Peridynamics is a a particle-based meshless continuum
diagnostics. Peridynamics is a particle-based meshless continuum
model.
[Authors:] The original package was created by Mike Parks (Sandia).
@ -741,7 +743,7 @@ connections at hinge points.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#poems on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -773,7 +775,7 @@ lib/python/README for more details.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#python on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -903,7 +905,7 @@ SPIN package :link(PKG-SPIN),h4
Model atomic magnetic spins classically, coupled to atoms moving in
the usual manner via MD. Various pair, fix, and compute styles.
[Author:] Julian Tranchida (Sandia).
[Author:] Julien Tranchida (Sandia).
[Supporting info:]
@ -916,6 +918,7 @@ src/SPIN: filenames -> commands
"fix nve/spin"_fix_nve_spin.html
"fix precession/spin"_fix_precession_spin.html
"compute spin"_compute_spin.html
"neb/spin"_neb_spin.html
examples/SPIN :ul
:line
@ -962,7 +965,7 @@ and LBNL.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#voronoi on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -975,6 +978,31 @@ examples/voronoi :ul
:line
USER-ADIOS package :link(PKG-USER-ADIOS),h4
[Contents:]
ADIOS is a high-performance I/O library. This package implements the
dump "atom/adios" and dump "custom/adios" commands to write data using
the ADIOS library.
[Authors:] Norbert Podhorszki (ORNL) from the ADIOS developer team.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#user-adios on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
src/USER-ADIOS: filenames -> commands
src/USER-ADIOS/README
examples/USER/adios
https://github.com/ornladios/ADIOS2 :ul
:line
USER-ATC package :link(PKG-USER-ATC),h4
[Contents:]
@ -989,7 +1017,7 @@ atomic information to continuum fields.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-atc on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -1016,7 +1044,7 @@ model.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-awpmd on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -1156,7 +1184,7 @@ Tribello.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-plumed on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -1201,7 +1229,7 @@ isothermal, isoenergetic, isobaric and isenthalpic conditions are
included. These enable long timesteps via the Shardlow splitting
algorithm.
[Authors:] Jim Larentzos (ARL), Tim Mattox (Engility Corp), and and John
[Authors:] Jim Larentzos (ARL), Tim Mattox (Engility Corp), and John
Brennan (ARL).
[Supporting info:]
@ -1334,7 +1362,7 @@ H5MD format.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-h5md on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -1372,7 +1400,7 @@ NOTE: the USER-INTEL package contains styles that require using the
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-intel on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -1509,7 +1537,7 @@ USER-MESO package :link(PKG-USER-MESO),h4
[Contents:]
Several extensions of the the dissipative particle dynamics (DPD)
Several extensions of the dissipative particle dynamics (DPD)
method. Specifically, energy-conserving DPD (eDPD) that can model
non-isothermal processes, many-body DPD (mDPD) for simulating
vapor-liquid coexistence, and transport DPD (tDPD) for modeling
@ -1592,7 +1620,7 @@ at
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-molfile on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -1632,7 +1660,7 @@ tools:
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-netcdf on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -1676,7 +1704,7 @@ install/un-install the package and build LAMMPS in the usual manner:
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-omp on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -1700,14 +1728,19 @@ USER-PHONON package :link(PKG-USER-PHONON),h4
A "fix phonon"_fix_phonon.html command that calculates dynamical
matrices, which can then be used to compute phonon dispersion
relations, directly from molecular dynamics simulations.
And a "dynamical_matrix" command to compute the dynamical matrix
from finite differences.
[Authors:] Ling-Ti Kong (Shanghai Jiao Tong University) for "fix phonon"
and Charlie Sievers (UC Davis) for "dynamical_matrix"
[Author:] Ling-Ti Kong (Shanghai Jiao Tong University).
[Supporting info:]
src/USER-PHONON: filenames -> commands
src/USER-PHONON/README
"fix phonon"_fix_phonon.html
"dynamical_matrix"_dynamical_matrix.html
examples/USER/phonon :ul
:line
@ -1755,7 +1788,7 @@ without changes to LAMMPS itself.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-qmmm on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -1813,7 +1846,7 @@ on your system.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-quip on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -1931,7 +1964,7 @@ Dynamics, Ernst Mach Institute, Germany).
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-smd on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -2057,7 +2090,7 @@ system.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
instructions"_Build_extras.html#user-vtk on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
@ -2102,5 +2135,3 @@ src/USER-YAFF/README
"pair_style mm3/switch3/coulgauss/long"_pair_mm3_switch3_coulgauss.html
"pair_style lj/switch3/coulgauss/long"_pair_lj_switch3_coulgauss.html
examples/USER/yaff :ul

View File

@ -38,6 +38,7 @@ int = internal library: provided with LAMMPS, but you may need to build it
ext = external library: you will need to download and install it on your machine :ul
Package, Description, Doc page, Example, Library
"USER-ADIOS"_Packages_details.html#PKG-USER-ADIOS, dump output via ADIOS, "dump adios"_dump_adios.html, USER/adios, ext
"USER-ATC"_Packages_details.html#PKG-USER-ATC, Atom-to-Continuum coupling, "fix atc"_fix_atc.html, USER/atc, int
"USER-AWPMD"_Packages_details.html#PKG-USER-AWPMD, wave packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int
"USER-BOCS"_Packages_details.html#PKG-USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, no

View File

@ -12,16 +12,23 @@ Installing LAMMPS in Python :h3
For Python to invoke LAMMPS, there are 2 files it needs to know about:
python/lammps.py
src/liblammps.so :ul
liblammps.so or liblammps.dylib :ul
Lammps.py is the Python wrapper on the LAMMPS library interface.
Liblammps.so is the shared LAMMPS library that Python loads, as
described above.
The python source code in lammps.py is the Python wrapper on the
LAMMPS library interface. The liblammps.so or liblammps.dylib file
is the shared LAMMPS library that Python loads dynamically.
You can insure Python can find these files in one of two ways:
You can achieve that Python can find these files in one of two ways:
set two environment variables
run the python/install.py script :ul
set two environment variables pointing to the location in the source tree
run "make install-python" or run the python/install.py script explicitly :ul
When calling "make install-python" LAMMPS will try to install the
python module and the shared library into the python site-packages folders;
either the system-wide ones, or the local users ones (in case of insufficient
permissions for the global install). Python will then find the module
and shared library file automatically. The exact location of these folders
depends on your python version and your operating system.
If you set the paths to these files as environment variables, you only
have to do it once. For the csh or tcsh shells, add something like
@ -30,42 +37,28 @@ this to your ~/.cshrc file, one line for each of the two files:
setenv PYTHONPATH $\{PYTHONPATH\}:/home/sjplimp/lammps/python
setenv LD_LIBRARY_PATH $\{LD_LIBRARY_PATH\}:/home/sjplimp/lammps/src :pre
If you use the python/install.py script, you need to invoke it every
time you rebuild LAMMPS (as a shared library) or make changes to the
python/lammps.py file.
On MacOSX you may also need to set DYLD_LIBRARY_PATH accordingly.
For Bourne/Korn shells accordingly into the corresponding files using
the "export" shell builtin.
You can invoke install.py from the python directory as
If you use "make install-python" or the python/install.py script, you need
to invoke it every time you rebuild LAMMPS (as a shared library) or
make changes to the python/lammps.py file, so that the site-packages
files are updated with the new version.
% python install.py \[libdir\] \[pydir\] :pre
If the default settings of "make install-python" are not what you want,
you can invoke install.py from the python directory manually as
The optional libdir is where to copy the LAMMPS shared library to; the
default is /usr/local/lib. The optional pydir is where to copy the
lammps.py file to; the default is the site-packages directory of the
version of Python that is running the install script.
% python install.py -m \<python module\> -l <shared library> -v <version.h file> \[-d \<pydir\>\] :pre
Note that libdir must be a location that is in your default
LD_LIBRARY_PATH, like /usr/local/lib or /usr/lib. And pydir must be a
location that Python looks in by default for imported modules, like
its site-packages dir. If you want to copy these files to
non-standard locations, such as within your own user space, you will
need to set your PYTHONPATH and LD_LIBRARY_PATH environment variables
accordingly, as above.
The -m flag points to the lammps.py python module file to be installed,
the -l flag points to the LAMMPS shared library file to be installed,
the -v flag points to the version.h file in the LAMMPS source
and the optional -d flag to a custom (legacy) installation folder :ul
If the install.py script does not allow you to copy files into system
directories, prefix the python command with "sudo". If you do this,
make sure that the Python that root runs is the same as the Python you
run. E.g. you may need to do something like
% sudo /usr/local/bin/python install.py \[libdir\] \[pydir\] :pre
You can also invoke install.py from the make command in the src
directory as
% make install-python :pre
In this mode you cannot append optional arguments. Again, you may
need to prefix this with "sudo". In this mode you cannot control
which Python is invoked by root.
If you use a legacy installation folder, you will need to set your
PYTHONPATH and LD_LIBRARY_PATH (and/or DYLD_LIBRARY_PATH) environment
variables accordingly, as described above.
Note that if you want Python to be able to load different versions of
the LAMMPS shared library (see "this section"_Python_shlib.html), you will

View File

@ -180,7 +180,7 @@ doubles is returned, one value per atom, which you can use via normal
Python subscripting. The values will be zero for atoms not in the
specified group.
The get_thermo() method returns returns the current value of a thermo
The get_thermo() method returns the current value of a thermo
keyword as a float.
The get_natoms() method returns the total number of atoms in the

View File

@ -13,11 +13,11 @@ Overview of Python and LAMMPS :h3
LAMMPS can work together with Python in three ways. First, Python can
wrap LAMMPS through the its "library interface"_Howto_library.html, so
that a Python script can create one or more instances of LAMMPS and
launch one or more simulations. In Python lingo, this is "extending"
Python with LAMMPS.
launch one or more simulations. In Python lingo, this is called
"extending" Python with a LAMMPS module.
Second, a lower-level Python interface can be used indirectly through
provided PyLammps and IPyLammps wrapper classes, written in Python.
the provided PyLammps and IPyLammps wrapper classes, written in Python.
These wrappers try to simplify the usage of LAMMPS in Python by
providing an object-based interface to common LAMMPS functionality.
They also reduces the amount of code necessary to parameterize LAMMPS
@ -25,11 +25,12 @@ scripts through Python and make variables and computes directly
accessible.
Third, LAMMPS can use the Python interpreter, so that a LAMMPS
input script can invoke Python code directly, and pass information
back-and-forth between the input script and Python functions you
write. This Python code can also callback to LAMMPS to query or change
its attributes. In Python lingo, this is "embedding" Python in
LAMMPS. When used in this mode, Python can perform operations that
the simple LAMMPS input script syntax cannot.
input script or styles can invoke Python code directly, and pass
information back-and-forth between the input script and Python
functions you write. This Python code can also callback to LAMMPS
to query or change its attributes through the LAMMPS Python module
mentioned above. In Python lingo, this is "embedding" Python in
LAMMPS. When used in this mode, Python can perform script operations
that the simple LAMMPS input script syntax can not.

View File

@ -79,7 +79,7 @@ stdin.
Explicitly enable or disable KOKKOS support, as provided by the KOKKOS
package. Even if LAMMPS is built with this package, as described
in "Speed kokkos"_Speed_kokkos.html, this switch must be set to enable
running with the KOKKOS-enabled styles the package provides. If the
running with KOKKOS-enabled styles the package provides. If the
switch is not set (the default), LAMMPS will operate as if the KOKKOS
package were not installed; i.e. you can run standard LAMMPS or with
the GPU or USER-OMP packages, for testing or benchmarking purposes.
@ -242,7 +242,7 @@ processors.
Running with multiple partitions can be useful for running
"multi-replica simulations"_Howto_replica.html, where each replica
runs on on one or a few processors. Note that with MPI installed on a
runs on one or a few processors. Note that with MPI installed on a
machine (e.g. your desktop), you can run on more (virtual) processors
than you have physical processors.
@ -448,7 +448,7 @@ partition screen files file.N.
[-suffix style args] :link(suffix)
Use variants of various styles if they exist. The specified style can
be {cuda}, {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 "Accelerate performance"_Speed.html. The "gpu" style corresponds to the
GPU package, the "intel" style to the USER-INTEL package, the "kk"

View File

@ -93,7 +93,7 @@ monitor thread utilization and load balance is provided. A new {Thread
timings} section is also added, which lists the time spent in reducing
the per-thread data elements to the storage for non-threaded
computation. These thread timings are measured for the first MPI rank
only and and thus, because the breakdown for MPI tasks can change from
only and thus, because the breakdown for MPI tasks can change from
MPI rank to MPI rank, this breakdown can be very different for
individual ranks. Here is an example output for this section:

View File

@ -24,7 +24,7 @@ LAMMPS to run on the CPU cores and co-processor cores simultaneously.
Angle Styles: charmm, harmonic :ulb,l
Bond Styles: fene, fourier, harmonic :l
Dihedral Styles: charmm, harmonic, opls :l
Dihedral Styles: charmm, fourier, harmonic, opls :l
Fixes: nve, npt, nvt, nvt/sllod, nve/asphere :l
Improper Styles: cvff, harmonic :l
Pair Styles: airebo, airebo/morse, buck/coul/cut, buck/coul/long,
@ -34,6 +34,10 @@ rebo, sw, tersoff :l
K-Space Styles: pppm, pppm/disp :l
:ule
IMPORTANT NOTE: None of the styles in the USER-INTEL package currently
support computing per-atom stress. If any compute or fix in your
input requires it, LAMMPS will abort with an error message.
[Speed-ups to expect:]
The speedups will depend on your simulation, the hardware, which

View File

@ -111,16 +111,10 @@ Makefile.kokkos_mpi_only) will give better performance than the OpenMP
back end (i.e. Makefile.kokkos_omp) because some of the overhead to make
the code thread-safe is removed.
NOTE: The default for the "package kokkos"_package.html command is to
use "full" neighbor lists and set the Newton flag to "off" for both
pairwise and bonded interactions. However, when running on CPUs, it
will typically be faster to use "half" neighbor lists and set the
Newton flag to "on", just as is the case for non-accelerated pair
styles. It can also be faster to use non-threaded communication. Use
the "-pk kokkos" "command-line switch"_Run_options.html to change the
default "package kokkos"_package.html options. See its doc page for
details and default settings. Experimenting with its options can
provide a speed-up for specific calculations. For example:
NOTE: Use the "-pk kokkos" "command-line switch"_Run_options.html to
change the default "package kokkos"_package.html options. See its doc
page for details and default settings. Experimenting with its options
can provide a speed-up for specific calculations. For example:
mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm :pre
@ -190,19 +184,18 @@ tasks/node. The "-k on t Nt" command-line switch sets the number of
threads/task as Nt. The product of these two values should be N, i.e.
256 or 264.
NOTE: The default for the "package kokkos"_package.html command is to
use "full" neighbor lists and set the Newton flag to "off" for both
pairwise and bonded interactions. When running on KNL, this will
typically be best for pair-wise potentials. For many-body potentials,
using "half" neighbor lists and setting the Newton flag to "on" may be
faster. It can also be faster to use non-threaded communication. Use
the "-pk kokkos" "command-line switch"_Run_options.html to change the
default "package kokkos"_package.html options. See its doc page for
details and default settings. Experimenting with its options can
provide a speed-up for specific calculations. For example:
NOTE: The default for the "package kokkos"_package.html command when
running on KNL is to use "half" neighbor lists and set the Newton flag
to "on" for both pairwise and bonded interactions. This will typically
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" "command-line switch"_Run_options.html to change
the default "package kokkos"_package.html options. See its doc page for
details and default settings. Experimenting with its options can provide
a speed-up for specific calculations. For example:
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm no -in in.lj # Newton off, full neighbor list, non-threaded comm
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton on neigh half comm no -in in.reax # Newton on, half neighbor list, non-threaded comm :pre
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm host -in in.reax # Newton on, half neighbor list, threaded comm
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton off neigh full comm no -in in.lj # Newton off, full neighbor list, non-threaded comm :pre
NOTE: MPI tasks and threads should be bound to cores as described
above for CPUs.
@ -236,19 +229,19 @@ one or more nodes, each with two GPUs:
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node
mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) :pre
NOTE: The default for the "package kokkos"_package.html command is to
use "full" neighbor lists and set the Newton flag to "off" for both
pairwise and bonded interactions, along with threaded communication.
When running on Maxwell or Kepler GPUs, this will typically be
best. For Pascal GPUs, using "half" neighbor lists and setting the
Newton flag to "on" may be faster. For many pair styles, setting the
neighbor binsize equal to the ghost atom cutoff will give speedup.
Use the "-pk kokkos" "command-line switch"_Run_options.html to change
the default "package kokkos"_package.html options. See its doc page
for details and default settings. Experimenting with its options can
provide a speed-up for specific calculations. For example:
NOTE: The default for the "package kokkos"_package.html command when
running on GPUs is to use "full" neighbor lists and set the Newton flag
to "off" for both pairwise and bonded interactions, along with threaded
communication. When running on Maxwell or Kepler GPUs, this will
typically be best. For Pascal GPUs, using "half" neighbor lists and
setting the Newton flag to "on" may be faster. For many pair styles,
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" "command-line switch"_Run_options.html to change the default
"package kokkos"_package.html options. See its doc page for details and
default settings. Experimenting with its options can provide a speed-up
for specific calculations. For example:
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff :pre
NOTE: For good performance of the KOKKOS package on GPUs, you must

View File

@ -77,6 +77,7 @@ Post-processing tools :h3
"python"_#pythontools,
"reax"_#reax_tool,
"smd"_#smd,
"spin"_#spin,
"xmgrace"_#xmgrace :tb(c=6,ea=c,a=l)
Miscellaneous tools :h3
@ -511,6 +512,20 @@ Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
:line
spin tool :h4,link(spin)
The spin sub-directory contains a C file interpolate.c which can
be compiled and used to perform a cubic polynomial interpolation of
the MEP following a GNEB calculation.
See the README file in tools/spin/interpolate_gneb for more details.
This tool was written by the SPIN package author, Julien
Tranchida at Sandia National Labs (jtranch at sandia.gov, and by Aleksei
Ivanov, at University of Iceland (ali5 at hi.is).
:line
vim tool :h4,link(vim)
The files in the tools/vim directory are add-ons to the VIM editor

View File

@ -8,6 +8,7 @@
angle_style cosine command :h3
angle_style cosine/omp command :h3
angle_style cosine/kk command :h3
[Syntax:]

View File

@ -32,6 +32,7 @@ Commands :h1
dimension
displace_atoms
dump
dump_adios
dump_cfg_uef
dump_h5md
dump_image
@ -39,6 +40,7 @@ Commands :h1
dump_molfile
dump_netcdf
dump_vtk
dynamical_matrix
echo
fix
fix_modify
@ -51,6 +53,7 @@ Commands :h1
include
info
jump
kim_query
kspace_modify
kspace_style
label
@ -59,10 +62,12 @@ Commands :h1
mass
message
min_modify
min_spin
min_style
minimize
molecule
neb
neb_spin
neigh_modify
neighbor
newton

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