Compare commits

...

738 Commits

Author SHA1 Message Date
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
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
26b90727b3 whitespace cleanup 2019-03-26 13:26:09 -04:00
cf349633f7 cosmetic changes 2019-03-26 13:09:49 -04: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
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
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
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
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
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
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
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
a3c936d283 bug fixes for new local hyperdynamics reduced comm 2019-03-14 15:13:02 -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
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
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
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
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
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
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
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
d6eaf73db1 Merge pull request #1307 from akohlmey/next-patch-release
Patch release 1 February 2019
2019-02-01 20:22:18 +01:00
2b5073fb90 Merge pull request #1311 from akohlmey/correct-delete-callback
Correct calls to atom->delete_callback()
2019-02-01 17:25:25 +01: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
f2a977884c Merge pull request #1290 from akohlmey/python-script-portability
Use argparse module in for Install.py scripts in lib and further portability and consistency enhancements. Some lint removal as well.
2019-02-01 01:18:40 +01:00
bc2eeaf22a remove extraneous atom->delete_callback() 2019-01-31 19:10:14 -05:00
5c927d484e add missing atom->delete_callback() 2019-01-31 19:09:59 -05:00
8ee1fefe19 add pointer to README and Manual to help. 2019-01-31 18:46:43 -05:00
763dda64af update lib/gpu/README to current state 2019-01-31 18:45:17 -05:00
a9f8b17cbd Merge pull request #1282 from akohlmey/collected-small-changes
Collected small changes and bugfixes for the next patch release
2019-02-01 00:24:15 +01:00
f28ab59695 output bounding box info for regions, if present 2019-01-31 18:12:56 -05:00
2e60e461a0 must convert regions bounding box to lattice coordinates before checking to reduce lattice creation range 2019-01-31 18:12:37 -05:00
d6a918f4fd Merge pull request #1270 from akohlmey/get-moltemplate-from-web
Replace bundled moltemplate distribution with installation instructions only
2019-01-31 22:58:31 +01:00
7606529f03 Merge pull request #1302 from akohlmey/combined-user-fep-soft-updates
Combined USER-FEP related updates
2019-01-31 22:57:51 +01:00
cdb07f9f06 Merge pull request #1310 from akohlmey/reaxc-with-qeq-shielded
Support using fix qeq/shielded with pair style reax/c
2019-01-31 22:57:31 +01:00
0cce3387bb Merge pull request #1285 from Adrian-Diaz/4D-grow-memory
Added 4D memory grow routine
2019-01-31 17:32:45 +01:00
a93d8dda3c add example input and logfiles for using fix qeq/shielded with pair style reax/c 2019-01-31 14:14:29 +01:00
327ca344ff make fix qeq/shielded fully compatible with pair style reax/c as a replacement for fix qeq/reax 2019-01-31 13:49:05 +01:00
c5256624e8 document coul/streitz and reax/c keywords to extract qeq parameters from pair styles 2019-01-31 13:48:06 +01:00
ae6fb92478 whitespace cleanup 2019-01-31 12:02:43 +01:00
14ab0ec459 remove references to pre-installed packages as this was changed with the 22 August 2018 version 2019-01-31 12:02:22 +01:00
8338969af5 bugfix for create_atoms region optimization 2019-01-31 11:46:03 +01:00
ef5c327f74 Merge branch 'master' into collected-small-changes 2019-01-31 11:45:15 +01:00
06d5c1d62f Merge pull request #1279 from akohlmey/create-atoms-bounding-box
Optimize performance of create_atoms for large boxes and small regions
2019-01-31 09:39:55 +01:00
0e1c6082b0 Merge pull request #1309 from PabloPiaggi/pair_entropy
compute entropy/atom - enhancement/optimization
2019-01-31 09:36:44 +01:00
a59a385d6e fix storage size for internal compute ids in fix plumed 2019-01-31 02:55:37 -05:00
d2846404bd update development workflow description to state of latest discussions 2019-01-31 02:55:11 -05:00
ee5f39d895 Patch release 1 February 2019 2019-01-30 16:16:32 -05:00
1d6bf1ea7d add overlooked entry to Purge.list 2019-01-30 18:05:10 +01:00
e195d6faee Fixed issue with not setting i-j, j-i coefficients correctly 2019-01-30 08:37:04 -07:00
ccdfde4978 Update example log file 2019-01-30 15:16:35 +01:00
136e247cd8 compute entropy/atom - Use NL with ghost atoms only with avg yes 2019-01-30 14:59:23 +01:00
8cc593fe6b Merge pull request #1308 from agiliopadua/master
Fix in extract() method of pair_thole
2019-01-30 08:12:30 +01:00
f7bb48102f Fix in extract() method of pair_thole 2019-01-29 18:03:12 +01:00
bad6c8aa35 Patch release 30 January 2019 2019-01-29 13:37:50 +01:00
1465352454 some cleanups and small bugfixes to conform better with python conventions 2019-01-28 17:37:05 -05:00
0cae619320 increase portability by using python modules instead of subprocesses 2019-01-28 15:54:19 -05:00
54b9a1335c Add Kokkos version of angle_cosine 2019-01-28 11:29:28 -07:00
b7ab017a76 improve portability by using shutil.copyfile, os.path.join, and make -C 2019-01-28 17:44:46 +01:00
4fcfa4987a fix typo 2019-01-28 14:56:47 +01:00
53f600ea35 use enable all available plumed modules when using download/compile mode 2019-01-26 09:55:48 -05:00
8c323a7056 fix issue in USER-PLUMED due to incorrectly copying strings 2019-01-26 05:58:41 -05:00
21dac57c7c fix typo 2019-01-26 05:16:38 -05:00
6c72d15c31 Merge branch 'core_soft' of https://github.com/agiliopadua/lammps into combined-user-fep-soft-updates
Resolved Conflicts:
	doc/src/Commands_pair.txt
	doc/src/pair_fep_soft.txt
	doc/src/pair_style.txt
	doc/src/pairs.txt
2019-01-25 16:25:19 +01:00
f2aab01e96 Approximation in tail correction better explained 2019-01-25 15:04:52 +01:00
fb30d2d078 Merge pull request #1303 from pastewka/19_dump_nc1
ENH: Output computes/fixes of with arbitrary number of columns to NetCDF
2019-01-25 10:42:46 +01:00
a278df586d cleanup up rendezvous diagnostic output 2019-01-24 09:56:21 -07:00
1927659fb1 fix cut-n-paste bug in extract_setting() method 2019-01-24 17:55:37 +01:00
272ff1dbdf link class2 soft-core pair styles from pair style overviews 2019-01-24 11:20:12 -05:00
06c8a67247 Updated broken links to pair_fep_soft 2019-01-24 17:10:39 +01:00
1e3cc7784b update false positives list for spell checking 2019-01-24 11:06:22 -05:00
e83600eee3 make naming of extract-able parameters consistent across similar pair styles (a/b/cparm -> a/b/c) 2019-01-24 10:54:17 -05:00
5c09732dc3 file spelling 2019-01-24 10:49:47 -05:00
82905dc62d correctly spell "through" 2019-01-24 10:29:51 -05:00
89a3f60289 replace references to pair_lj_soft with pair_fep_soft in docs 2019-01-24 15:49:46 +01:00
a6ecd3d08c Merge branch 'core_soft' of https://github.com/agiliopadua/lammps into combined-user-fep-soft-updates
Resolved Conflicts:
	doc/src/compute_fep.txt
	doc/src/fix_adapt_fep.txt
2019-01-24 15:41:41 +01:00
1be589fb33 Merge branch 'patch-2' of https://github.com/evoyiatzis/lammps into combined-user-fep-soft-updates 2019-01-24 15:35:52 +01:00
536e34974a Merge branch 'soft_class2_potentials' of https://github.com/evoyiatzis/lammps into combined-user-fep-soft-updates 2019-01-24 15:33:30 +01:00
4464f62c8f another permission fix 2019-01-24 08:20:24 -05:00
57b804eecf Merge pull request #1301 from stevenvdb/add-user-yaff
Fix mistake in mixing rules for mm3/switch3
2019-01-24 14:16:36 +01:00
a432b668f6 Fix mistake in mixing rules for mm3/switch3 2019-01-24 13:52:46 +01:00
985913bce2 Merge pull request #1297 from stevenvdb/add-user-yaff
Add USER-YAFF package for MOF simulations with QuickFF
2019-01-24 11:05:55 +01:00
f88c5e147a Merge pull request #1298 from jrgissing/bond/react-distance_constraints
Bond/react: add reaction constraints support
2019-01-24 10:55:22 +01:00
48542f1832 permission update for some bundled PDF files 2019-01-24 04:51:55 -05:00
098f2906e0 Merge pull request #1299 from ohenrich/user-cgdna
USER-CGDNA PDF docs update
2019-01-24 10:50:44 +01:00
f2544fa738 remove (evil) tabs 2019-01-24 04:44:54 -05: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
0bfb34389b Consolidated doc of soft-core pair styles 2019-01-23 20:56:54 +01:00
bdbb36e570 Merge branch 'master' into core_soft 2019-01-23 12:04:22 +00:00
012d5a55bf Consolidated doc for soft pair styles 2019-01-23 12:02:23 +00:00
5f3a7cbc33 MAINT: Replaced special character with a space. 2019-01-23 11:29:49 +01:00
fbee21f495 distance constraint: clarify use case in docs 2019-01-22 23:22:51 -07:00
7a10ac2019 bond/react:reaction_constraints
introduce a distance constraint between any two reaction-site atoms, in order for reaction to occur
2019-01-22 23:14:58 -07:00
a5248090fa Update fix_adapt.txt 2019-01-22 19:46:35 +01:00
ade023861d Update compute_fep.txt 2019-01-22 19:42:52 +01:00
24bede9fff Update fix_adapt_fep.txt 2019-01-22 19:37:58 +01:00
54a481ef1f use correct pair style name in comment about error messages 2019-01-22 12:33:17 -05:00
dd3dbfaee2 restore aphabetical order of improper styles 2019-01-22 12:26:51 -05:00
9caf0ce3e1 add USER-YAFF package to build system 2019-01-22 12:17:04 -05:00
ca31147d00 Fix USER-YAFF documentation issues 2019-01-22 14:58:38 +01:00
7ec6e4b262 Merge branch 'master' into user-cgdna 2019-01-22 13:06:42 +00:00
874e4fdafc Corrected required input angular velocity -> momentum 2019-01-22 13:05:15 +00:00
60b137f241 Add examples for the USER-YAFF package 2019-01-22 10:09:10 +01:00
794bf5084c Implementation and documentation for USER-YAFF package 2019-01-22 10:09:10 +01:00
fb6942a325 Merge pull request #41 from lammps/master
rebase
2019-01-21 20:22:23 -07:00
e789715d92 Update fix_adapt_fep.txt 2019-01-21 23:12:34 +01:00
0fde0f99bc ENH: Support for outputting computes and fixes with arbitrary number of columns. 2019-01-21 23:04:22 +01:00
49da946398 fix bug reported in https://github.com/lammps/lammps/issues/1294 2019-01-21 05:52:28 -05:00
53673cd99c fix typo 2019-01-20 16:01:34 -05:00
cab3380b55 Updating the list of potentials in fix_adapt_fep.txt
There are several potentials that contain the method extract() but they are not included in the "fix adapt" and "fix adapt/fep"
A small update of the list is attempted here. The same potentials might be added to the documentation of fix_adapt if it is useful.
2019-01-20 13:35:40 +01:00
bd3b712902 Merge pull request #1263 from stanmoore1/kk_snap
Optimize Kokkos SNAP energy calculation
2019-01-18 21:12:56 +01:00
e5b86910e9 Merge branch 'master' of https://github.com/lammps/lammps into kk_snap 2019-01-18 12:03:09 -07:00
b3747ce99b Fix some issues in new version of pair_snap_kokkos_impl.h 2019-01-18 11:58:10 -07:00
037cdfe046 Merge pull request #1291 from stevenvdb/bugfix_improper_virial
Fix bug in virial calculation for impropers fourier and umbrella
2019-01-18 13:51:04 +01:00
3609a33eb8 Merge pull request #1292 from jrgissing/bond/react-limit-total-number-of-reactions
bond/react: strict reaction limit and serial compilation bugfix
2019-01-18 13:16:56 +01:00
94dc5e1133 bond/react: strict reaction limit
also, fixes a bug in the 'serial' build introduced in #1099, wherein no reactions could occur in some cases
2019-01-17 23:13:21 -07:00
23ce00f366 Merge remote-tracking branch 'lammps/master' into kim-v2-update 2019-01-16 21:49:14 -06:00
683f8854c2 a few more Install.py script changes. untested. 2019-01-15 23:02:49 -05: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
f8a8704ef4 use os.path.join(), os.symlink(), shutile.copyfile() and tarfile module 2019-01-15 18:07:50 -05: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
6702f65fbb Fix mistake in virial calculation for improper_fourier and improper_umbrella 2019-01-15 10:06:42 +01:00
1ae112e563 small tweaks and improved consistency for Install.py in lib/kim 2019-01-14 18:03:32 -05:00
cea0855fe4 small programming style cleanup 2019-01-14 17:47:58 -05:00
d01c28002f update plumed support to use newer version of the library 2019-01-14 17:47:36 -05:00
54679b69f4 add argparse support to Install.py for kim library 2019-01-14 17:40:18 -05:00
dc5385b290 add argparse support to Install.py in message lib 2019-01-14 17:13:46 -05:00
659bec582e update Install.py for LATTE to use the argparse module 2019-01-14 16:54:44 -05:00
2604b60eb8 properly apply version flag 2019-01-14 16:29:07 -05:00
718428df68 add md5 sum check for Voro++ download via Install.py 2019-01-14 15:03:29 -05:00
4eb141391b add md5 sum check for Eigen3 download via Install.py 2019-01-14 15:03:07 -05:00
23ad82a074 add md5sum check for ScaFaCoS download via Install.py 2019-01-14 15:02:38 -05:00
b20be581c1 update Eigen3 download to version 3.3.7 for CMake as well 2019-01-14 15:02:09 -05:00
ef25afcedb update Install.py for ScaFaCoS to use argparse 2019-01-14 14:44:32 -05:00
e4cf409d69 update default Eigen3 version to the latest release 2019-01-14 14:13:53 -05:00
c3a15e221d use sys.exit() instead of the removed error() function 2019-01-14 14:13:40 -05:00
59559f74e6 make smd/Eigen library Install.py script use argparse module 2019-01-14 13:55:22 -05:00
1e1f754d0c make gpu library Install.py use argparse module 2019-01-14 12:52:21 -05:00
8d4bfa1aa7 port plumed and mscg Install.py files to use argparse 2019-01-14 12:52:21 -05:00
3aacea671e use argparse in colvars lib build 2019-01-14 12:52:21 -05:00
4e7329151d update generic Install.py script to use argparse 2019-01-14 12:52:21 -05:00
aad8dd1462 use argparse for more consistent and robust argument parsing.
this uses the code in PR #1244 as template. it supersedes the PR and thus closes #1244
2019-01-14 12:52:21 -05:00
1dbdadcf89 Add files via upload 2019-01-14 09:53:10 +01:00
7a4b6526de Create in.deletion 2019-01-14 09:52:28 +01:00
16b8c94aae Add files via upload 2019-01-14 09:49:37 +01:00
62b4c69360 Create in.insertion 2019-01-14 09:48:40 +01:00
261122d59c Update README 2019-01-14 09:43:13 +01:00
a5ce656c32 Merge pull request #1288 from jrgissing/bond/react-limit-total-number-of-reactions
Bond/react: limit number of reactions, bugfixes
2019-01-13 10:26:06 -05:00
b0af54ac37 bond/react:limit reaction occurrences 2019-01-13 00:07:03 -07:00
4ec21e1b31 Merge pull request #40 from lammps/master
rebase
2019-01-12 23:28:09 -07:00
a3b45d789a correct local/aligned storage issue in airebo/intel macros for vecorization 2019-01-11 10:08:06 -05:00
29dcdec875 Separated templated pair granular from pair granular/multi 2019-01-10 16:53:50 -07:00
15b475690c fix memory leak in fix bond/react 2019-01-10 17:09:30 -05:00
cf00346db4 detect when something tries to delete a callback that was never added 2019-01-10 16:52:40 -05:00
4155b88468 fix 2 bugs in fix bond/react
- correct logic when deleting internal fix
- remove line attempting to dele a callback to Atom(), that was never added
2019-01-10 16:51:30 -05:00
bedbf408f7 use per-target unique temporary name to avoid corruption when creating lmpinstalledpkgs.h from concurrent builds 2019-01-10 16:50:00 -05:00
6f8c544a7d add option to print_var_error() function to delegate errors to error->one() instead of error->all()
this change is applied to cases that may happen on individual ranks only, e.g. out-of-range access, division by zero, invalid argument.
2019-01-10 16:50:00 -05:00
6fbd0c08cc if we want to check for C++ includes, we should now check for cmath not math.h 2019-01-10 16:50:00 -05:00
3cbf009ce6 Merge pull request #1286 from jrgissing/bond_react-memory_correction
Bond/react: memory correction
2019-01-10 07:09:45 -05:00
48cbfc2b1b Update README 2019-01-10 09:09:09 +01:00
8387b2953b bond_react:correctly delete internally-created fixes 2019-01-09 23:14:24 -07:00
e82999ecb4 Merge pull request #39 from lammps/master
rebase
2019-01-09 22:17:33 -07:00
4377662a1e Added 4D memory grow routine
Added a 4D memory grow routine that will be required in possible future patches.
2019-01-09 17:28:42 -05:00
31a712b510 Update Install.sh
Addition of the six files for the class 2 potentials in the end of Install.sh
2019-01-09 09:50:32 +01:00
57df2d81e4 files for soft lj/class2 potentials
the source code for the three soft core class2 potentials
2019-01-09 09:24:12 +01: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
e572235ecf optimize create_atoms performance for large boxes and small regions. warn if taking a long time 2019-01-08 14:33:07 -05:00
faa716e348 Added PairGranular::single method 2019-01-07 16:27:04 -07:00
60693a5f8a Change Kokkos SNAP energy shared arrays from thread to team 2019-01-07 16:26:16 -07:00
61c36dd768 Merge pull request #1277 from stanmoore1/kk_reax_bugfix
Fix memory issue in Kokkos Reax
2019-01-07 14:36:22 -05:00
7fe7dd95d0 Fix memory issue in pair_reaxc_kokkos 2019-01-07 12:09:36 -07:00
06f9933c55 Merge pull request #1276 from akohlmey/rename-lebedva-sources
Rename pair style lebedeva/z sources
2019-01-07 11:32:54 -05:00
3d374aa8b3 Merge branch 'master' into kk_snap 2019-01-07 08:44:36 -07:00
98e0d6eab2 rename sources for pair style lebedeva to be consistent with style name 2019-01-06 21:42:08 -05:00
5ec9623294 Merge pull request #1274 from lammps/rerun-doc
add parallel dump file info to rerun doc page
2019-01-06 21:36:56 -05:00
43edcf4c02 Merge pull request #1275 from jrgissing/bond/react-check-template-topology-overflow
Bond/react: check for molecule template topology overflow
2019-01-06 21:36:13 -05:00
9ae84bc367 bond/react: check template for topology overflow 2019-01-06 17:07:35 -07:00
ca6c1c4b41 Merge pull request #38 from lammps/master
rebase
2019-01-06 16:58:33 -07:00
0cc9a445e8 add parallel dump file info to rerun doc page 2019-01-04 17:09:11 -07:00
dced4c1fca More changes, fixed indentation issues 2019-01-04 17:03:31 -07:00
c26b2078ee Merge pull request #1271 from akohlmey/next-patch-release
Patch release 4 January 2019
2019-01-03 22:28:55 -05:00
856c325ac4 Merge pull request #1273 from akohlmey/rename-lebedeva
Rename pair style lebedeva to lebedeva/z
2019-01-03 19:43:08 -05:00
7323179de3 rename pair style lebedeva to lebedeva/z to be consistent with kolmolgorov/crespi/z 2019-01-03 17:30:16 -05:00
19e12aada5 Patch release 4 January 2019 2019-01-03 13:44:18 -05:00
abcba913ab Merge pull request #1242 from akohlmey/collected-post-stable-patches
Collected post stable patches
2019-01-03 13:20:28 -05:00
f96f98241c replace outdated moltemplate distribution with README explaining how to install the latest version 2019-01-03 00:39:58 -05:00
fd18660463 Merge branch 'collected-small-changes' into collected-post-stable-patches 2018-12-29 17:08:32 -05:00
1991ff6c48 consistent formatting: replace "if( XXX)" with "if (XXX)" 2018-12-29 17:08:12 -05:00
f25bfd5931 consistent formatting: replace "if( XXX )" with "if (XXX)" 2018-12-29 17:04:28 -05:00
6e866f82a7 correct typo (missing increment operator) in fix bond/react 2018-12-29 16:31:44 -05:00
01163c9ae8 correct error in Purge.list for removed files of the REAX package 2018-12-29 16:30:38 -05:00
e7361728a1 Merge branch 'collected-small-changes' into collected-post-stable-patches 2018-12-29 14:51:31 -05:00
37a597cc0f Merge branch 'master' into collected-post-stable-patches 2018-12-29 14:51:21 -05:00
2e70541134 consistent formatting: replace '}else' with '} else' 2018-12-29 14:50:26 -05:00
991ca25dd7 consistent formatting: adjust cases of "dangling else", add curly braces 2018-12-29 14:47:50 -05:00
444dcca433 Merge pull request #1254 from akohlmey/remove-reax-meam
Remove REAX and MEAM packages
2018-12-29 13:06:07 -05:00
25a4fd4793 Merge pull request #1262 from evoyiatzis/evoyiatzis-patch-1
Addition of extract() method for class2 pair potentials
2018-12-29 13:05:38 -05:00
dd6688609d Merge pull request #1259 from athomps/npt-econs-varv
Fix two problems with NPT: volume fluctuations (with iso, previously with aniso/tri) and energy conservation (with aniso/tri)
2018-12-29 13:05:25 -05:00
4725d4be20 Merge pull request #1255 from stanmoore1/sllod
Change fix nvt/sllod to allow suffix styles of fix deform
2018-12-29 13:05:06 -05:00
9355e7e5cc Merge pull request #1243 from athomps/snap-foundtest
Removed redundant element list from pair_coeff snap syntax
2018-12-29 13:04:47 -05:00
cf3aee06f3 Merge pull request #1239 from jrgissing/bond/react-delete_atoms
fix bond/react: allow deleting atoms
2018-12-29 13:04:23 -05:00
bad7be4126 Merge pull request #1265 from junghans/linux_doc
Update pre-packaged LAMMPS for linux docs
2018-12-29 12:54:45 -05:00
08455b9cc3 Merge pull request #1267 from evoyiatzis/patch-1
add "mixing rule" check for inconsistent lambda in init_one() method of lj/cut/soft
2018-12-29 12:36:20 -05:00
c588b44cf1 consistent formating: replace "} else{" with "} else {" 2018-12-29 12:35:01 -05:00
31427a2380 consistent formatting: replace "if( XXX ){" with "if (XXX) {" 2018-12-29 12:32:59 -05:00
7177c541d4 consistent source format: replace '}else{' with '} else {' 2018-12-29 12:20:24 -05:00
dd028e9071 Merge pull request #1266 from junghans/cmake_doc
doc: add CMAKE_VERBOSE_MAKEFILE and CXX_COMPILER_LAUNCHER
2018-12-29 12:09:06 -05:00
484b4f2f0e Merge pull request #1268 from junghans/cmake_install
cmake: adjust install location of FindLAMMPS.cmake
2018-12-29 12:08:00 -05:00
89ca07c76e Merge branch 'collected-small-changes' into collected-post-stable-patches 2018-12-29 12:05:30 -05:00
92e1cbe788 cmake: find install location of FindLAMMPS.cmake 2018-12-28 17:57:13 -07:00
3a7350575c tweak coeff argument parsing settings for lj/class2/coul/long 2018-12-28 17:38:55 -05:00
99ace5b435 "mixing rule" for lambda in init_one() method
The values of the lambda[i][j] were equal to zero and different from lambda[i][i] when the user was not using explicit pair_coeff commands for the i-j pairs in the input script. The "mixing rule" included in this file is the same with the one in the pair_lj_cut_coul_cut_soft.cpp and pair_lj_cut_coul_long_soft.cpp files.
2018-12-28 11:21:13 +01:00
b19ee27f86 initialize two more struct Tree members to appease coverity scan 2018-12-28 01:01:33 -05:00
2d4411130f ensure that binsize is initialized in all cases 2018-12-28 01:01:07 -05:00
cc1c93a3d9 correct broken formatting and add explicit links to ParmEd and InterMol, a few tweaks 2018-12-28 00:29:40 -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
f8a5a78c2c doc: add CMAKE_VERBOSE_MAKEFILE and CXX_COMPILER_LAUNCHER 2018-12-20 09:17:34 -07:00
e2d871ac23 update Fedora rpm docu 2018-12-20 09:01:44 -07:00
6ebef96c23 Gentoo is not pre-built 2018-12-20 08:58:32 -07:00
fd8130859b fix a small memory leak in SHAKE setup 2018-12-19 17:40:35 -07:00
8cc4354894 Optimize Kokkos SNAP energy calculation 2018-12-19 17:11:54 -07:00
685ed827d7 small formatting changes 2018-12-19 06:46:19 -05:00
5fb8f23cb4 update false positives list for recent manual changes 2018-12-19 02:24:16 -05:00
ba3ee71edf update the github workflow checklist with a missing requirement 2018-12-19 02:09:31 -05:00
caba050f29 update list of items to check for contributing code to current status 2018-12-19 02:03:27 -05: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
6c839eb667 Merge branch 'npt-econs-varv' of https://github.com/athomps/lammps into collected-post-stable-patches 2018-12-17 14:16:47 -05:00
6dcd0ccfc3 Merge branch 'collected-small-changes' into collected-post-stable-patches 2018-12-17 14:15:28 -05:00
68b62bec29 Merge branch 'evoyiatzis-patch-1' of https://github.com/evoyiatzis/lammps into collected-post-stable-patches 2018-12-17 14:14:11 -05:00
90e125a73a make error message for input parameter type mismatch more specific to show what is incorrect 2018-12-17 14:03:26 -05:00
96eb0ad527 Update pair_lj_class2_coul_long.cpp 2018-12-17 18:04:13 +01:00
d91c7f38f6 Update pair_lj_class2_coul_cut.cpp 2018-12-17 18:03:25 +01:00
968e56694f Update pair_lj_class2.cpp 2018-12-17 18:02:27 +01:00
0ad44efe24 Update pair_lj_class2_coul_cut.h 2018-12-17 18:00:47 +01:00
6625a066b6 Update pair_lj_class2.h 2018-12-17 17:57:51 +01:00
980f7e3b36 Merge branch 'collected-small-changes' into collected-post-stable-patches 2018-12-16 20:41:02 -05:00
34e0c05b09 allow -suffix and -package command line flags to be use independently 2018-12-16 20:36:48 -05:00
5508438ba1 make included Pizza.py code for reading dumps compatible with python 2.7 2018-12-16 18:30:44 -05: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
f7a2cd689b document default setting for flip flag 2018-12-15 19:14:59 -05:00
24e2d4bb49 Added changes to other FixNH variants (just KOKKOS, in this case) 2018-12-14 18:27:34 -07:00
875f7776c6 small whitespace adjustment 2018-12-14 15:28:31 -05:00
94a4b59961 place queries for OS and compiler into functions in Info and use them for both, the info command and lmp -h/-help 2018-12-14 14:22:13 -05:00
ea8376b3fa skip writing redundant version information to the screen when using the -h/-help flag. 2018-12-14 14:21:31 -05:00
deb21ad4e2 support variables for more region properties
add code to allow the center of a spherical or cylindrical
region to be determined as variables and thus change over time.
2018-12-13 14:06:12 -05:00
4f38878cf4 Removed unnecessary changes to ComputePressure 2018-12-12 17:48:02 -07:00
6f33ce9dba Made two changes:
-recomputed up-to-date pressure tensor (fixes energy
conservation problem with aniso)
	-changed ndof for iso (fixes volume fluctuation problem with iso)
2018-12-12 17:31:42 -07: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
e39ba20e42 Merge branch 'collected-small-changes' into collected-post-stable-patches 2018-12-12 16:40:07 -05:00
5b0c43108d detect missing initialization and run it instead of crashing with a non-descript segfault 2018-12-12 16:39:27 -05:00
0ed4da0bf9 Merge branch 'bond/react-delete_atoms' of https://github.com/jrgissing/lammps into collected-post-stable-patches 2018-12-12 00:20:17 -05:00
96c7f256f9 Merge branch 'snap-foundtest' of https://github.com/athomps/lammps into collected-post-stable-patches 2018-12-12 00:16:36 -05:00
02bdda0d05 Merge branch 'remove-reax-meam' into collected-post-stable-patches 2018-12-12 00:14:58 -05:00
be3c80829a Merge branch 'collected-small-changes' into collected-post-stable-patches 2018-12-12 00:14:41 -05:00
0a610cb482 Merge branch 'sllod' into collected-post-stable-patches 2018-12-12 00:14:33 -05:00
5362b1cfde use more accurate strncmp() check instead of strstr() and apply the same change to all affected variants of fix nvt/sllod 2018-12-12 00:02:06 -05:00
f2f7bcfa5a add new false positive 2018-12-11 23:45:27 -05:00
d15e4b1546 Merge branch 'master' into remove-reax-meam 2018-12-11 23:31:48 -05:00
c4f7b36dc5 whitespace cleanup 2018-12-11 23:14:43 -05:00
ba98cff5a8 avoid merge conflict 2018-12-11 23:03:01 -05:00
04b365818e fix typo 2018-12-11 23:01:52 -05:00
35cfedab39 document PDF manual generation 2018-12-11 21:13:03 -05:00
3ad4c0db35 expose "make spelling" in the doc folder to the documentation 2018-12-11 21:02:52 -05:00
113a2e328e Change fix nvt/sllod to allow suffix styles of fix deform 2018-12-11 10:47:34 -07:00
ad1b1897d8 Merge pull request #1253 from akohlmey/final-cosmetic-changes
Final cosmetic changes for stable release, update version.
2018-12-11 12:39:04 -05:00
bbe863f1ac add input for controlling a wall for a slab 2018-12-11 05:43:19 -05:00
eeaeab0832 add example for using fix controller with a moving wall to adjust pressure 2018-12-11 05:31:12 -05:00
264dd59c75 also output integer sizes and the corresponding define with lmp -h 2018-12-10 17:58:42 -05:00
8422bf64fa prevent configuring -D PKG_USER-ATC=yes with -D LAMMPS_SIZES=bigbig in CMake 2018-12-10 17:42:38 -05:00
70868ca070 remove extra line from PDF manual config 2018-12-10 15:31:38 -05:00
30017697e3 update src/.gitignore and src/Purge.list for removed styles 2018-12-10 15:20:39 -05:00
0b5c273e2d update examples for removal of reax and meam 2018-12-10 15:16:34 -05:00
052828284d fix typo 2018-12-10 14:53:31 -05:00
1933c2eb5f next chunk of documentation changes for the removal of REAX and MEAM 2018-12-10 14:51:21 -05:00
e2c39a1acd rename page for fix reax/c/bonds 2018-12-10 14:38:58 -05:00
e86b933862 remove meam and reax from documentation 2018-12-10 14:38:25 -05:00
52a1f257c5 fix typo 2018-12-10 14:19:03 -05:00
dedc6cf20c remove obsolete reax tools and rename pair_meam.txt to pair_meamc.txt 2018-12-10 14:16:08 -05:00
93efe3e40e update docs for meam and meam/c pair style 2018-12-10 12:21:15 -05:00
3f49eb8515 remove meam and reax from build system 2018-12-10 12:14:03 -05:00
1de2f5fc01 make pair style meam an alias of meam/c 2018-12-10 12:12:29 -05:00
a9c3b8aca0 add reax to DEPRECATED pair style and state when it was removed from LAMMPS 2018-12-10 12:11:56 -05:00
054c525842 remove REAX and MEAM from src folder 2018-12-10 12:07:51 -05:00
8b5887bfb1 remove MEAM and REAX from lib folder 2018-12-10 12:05:29 -05:00
fb08d3ea46 ignore MSCG build folder more generally 2018-12-10 11:25:24 -05:00
7d3caaa1a4 step version date for stable release on wednesday 2018-12-10 11:24:35 -05:00
b6b813459b update example logfiles for USER-DRUDE package 2018-12-10 11:04:52 -05:00
8f95cdcb27 small update to the fix rigid/meso command docs 2018-12-09 16:24:06 -05:00
802bf4bc1f update .gitignore for recently added files 2018-12-08 15:00:33 -05:00
4078c7897e fix permissions 2018-12-08 15:00:14 -05: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
afaaf442d3 bond/react doc tweaks 2 2018-12-06 21:32:10 -07:00
3021189cc9 Merge branch 'master' of github.com:lammps/lammps into gran_mods 2018-12-05 13:52:52 -07:00
00d719459f Fixed one error 2018-12-04 17:46:31 -07:00
fa7e02ea71 Removed redundant element list from pair_coeff snap syntax 2018-12-03 20:28:01 -07:00
cf3aee9083 bond/react doc tweaks 2018-12-03 20:12:38 -07:00
45b6b4bf52 Merge branch 'python-script-portability' into collected-post-stable-patches 2018-12-03 19:47:37 -05:00
be721fe75a more Install.py refactoring 2018-12-03 19:47:10 -05:00
4168855ba3 reduce distracting nvcc (or rather ptxas) verbosity 2018-12-03 19:27:03 -05:00
4adbacf8e5 Merge branch 'python-script-portability' into collected-post-stable-patches 2018-12-03 19:14:47 -05:00
d603d084c4 Fix typo, whitespace cleanup 2018-12-03 18:12:10 -05:00
46c0be57de Restore deleted deps file (if deletion is intentional, please delete again) 2018-12-03 18:08:27 -05:00
db2c8887cf Merge branch 'python-script-portability' into collected-post-stable-patches 2018-12-03 17:50:47 -05:00
e5c555fa7d consolidate shared code from various Install.py files into install_helpers.py 2018-12-03 17:50:20 -05:00
ee82143a29 more false positives to handle 2018-12-03 16:21:18 -05:00
a0bd1bd755 fix typo 2018-12-03 16:12:32 -05:00
aeb7854aca update false positives list for newly added documentation 2018-12-03 16:11:39 -05:00
ac51d0fb89 remove old versions of read_dump and rerun w/o parallel reading support 2018-12-03 15:32:43 -05:00
22f99be57e Merge remote-tracking branch 'github/read-dump-parallel' into collected-post-stable-patches
# Conflicts:
#	src/read_dump.cpp
2018-12-03 15:28:34 -05:00
55077cea4d Merge branch 'lebedeva2' of https://github.com/zbych127/lammps into collected-post-stable-patches 2018-12-03 15:24:31 -05:00
98728cddbe Merge remote-tracking branch 'devel/python-script-portability' into collected-post-stable-patches 2018-12-03 15:18:03 -05:00
d14404254e check for illegally deleted atoms 2018-12-01 15:18:11 -07:00
53e66dcd15 bond/react: delete atoms
allows deleting of a user-specified set of atoms, based on topology
2018-11-30 22:35:10 -07:00
482e120af4 Merge pull request #35 from lammps/master
rebase
2018-11-30 21:36:01 -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
4e9b987fec bug fix in original read_dump for add keep atom count 2018-11-29 15:54:14 -07:00
eda79bd1c2 use shutil.rmtree() instead of calling 'rm -rf' for increased portability 2018-11-28 20:46:50 -05:00
0d9e3779b8 capitalization of pre-processor inclusion guard 2018-11-28 08:45:15 -05:00
1616886c97 Corrected Another attempt to add Lebedeva potential 2018-11-28 11:56:39 +01:00
2d0d08093b Another attempt to add Lebedeva potential 2018-11-28 09:33:44 +01: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
a2671f8943 doc files for new parallel dump file read capability 2018-10-26 18:06:34 -06:00
0a4007c55b add parallel file read capability to ReadDump 2018-10-26 17:37:50 -06:00
85c8877aeb make 2 copy of old read_dump and rerun for comparison to new 2018-10-26 17:31:42 -06: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
2333 changed files with 58042 additions and 231674 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,7 @@ 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)
list(APPEND SRC_AUTOGEN_FILES ${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})
@ -171,14 +173,14 @@ set(LAMMPS_DEPS)
set(LAMMPS_API_DEFINES)
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
KSPACE MANYBODY MC MEAM MESSAGE MISC MOLECULE PERI REAX REPLICA RIGID SHOCK
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-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})
@ -191,16 +193,27 @@ endforeach()
######################################################
# packages with special compiler needs or external libs
######################################################
if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE OR PKG_USER-SCAFACOS)
if(PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE OR PKG_USER-SCAFACOS)
enable_language(Fortran)
endif()
if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_USER-SCAFACOS)
if(PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_USER-SCAFACOS)
enable_language(C)
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})
@ -221,7 +234,7 @@ else()
endif()
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS size limit")
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})
validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES)
@ -368,19 +381,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)
@ -453,7 +457,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 ""
)
@ -559,10 +563,15 @@ if(PKG_USER-PLUMED)
message(STATUS "PLUMED download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(plumed_build
URL https://github.com/plumed/plumed2/releases/download/v2.4.3/plumed-src-2.4.3.tgz
URL_MD5 b1be7c48971627febc11c61b70767fc5
URL https://github.com/plumed/plumed2/releases/download/v2.4.4/plumed-src-2.4.4.tgz
URL_MD5 71ed465bdc7c2059e282dbda8d564e71
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> ${CONFIGURE_REQUEST_PIC})
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
${CONFIGURE_REQUEST_PIC}
--enable-modules=all
CXX=${CMAKE_MPI_CXX_COMPILER}
CC=${CMAKE_MPI_C_COMPILER}
)
ExternalProject_get_property(plumed_build INSTALL_DIR)
set(PLUMED_INSTALL_DIR ${INSTALL_DIR})
list(APPEND LAMMPS_DEPS plumed_build)
@ -595,8 +604,9 @@ 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_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIRS})
target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS})
list(APPEND LAMMPS_LINK_LIBS molfile)
endif()
@ -614,8 +624,8 @@ if(PKG_USER-SMD)
message(STATUS "Eigen3 download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(Eigen3_build
URL http://bitbucket.org/eigen/eigen/get/3.3.4.tar.gz
URL_MD5 1a47e78efe365a97de0c022d127607c3
URL http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz
URL_MD5 f2a417d083fe8ca4b8ed2bc613d20f07
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
)
ExternalProject_get_property(Eigen3_build SOURCE_DIR)
@ -651,28 +661,40 @@ 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()
option(DOWNLOAD_KIM "Download KIM-API from OpenKIM instead of using an already installed one" OFF)
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")
find_package(KIM-API)
if(NOT KIM-API_FOUND)
message(FATAL_ERROR "KIM-API not found, help CMake to find it by setting PKG_CONFIG_PATH, or set DOWNLOAD_KIM=ON to download it")
endif()
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)
@ -756,7 +778,7 @@ endif()
# Basic system tests (standard libraries, headers, functions, types) #
########################################################################
include(CheckIncludeFileCXX)
foreach(HEADER math.h)
foreach(HEADER cmath)
check_include_file_cxx(${HEADER} FOUND_${HEADER})
if(NOT FOUND_${HEADER})
message(FATAL_ERROR "Could not find needed header - ${HEADER}")
@ -826,7 +848,7 @@ endforeach()
##############################################
# add lib sources of (simple) enabled packages
############################################
foreach(SIMPLE_LIB REAX MEAM POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD
foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD
USER-QMMM)
if(PKG_${SIMPLE_LIB})
string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}")
@ -856,6 +878,9 @@ if(PKG_USER-AWPMD)
endif()
if(PKG_USER-ATC)
if(LAMMPS_SIZES STREQUAL BIGBIG)
message(FATAL_ERROR "The USER-ATC Package is not compatible with -DLAMMPS_BIGBIG")
endif()
target_link_libraries(atc ${LAPACK_LIBRARIES})
endif()
@ -1143,6 +1168,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)")
@ -1206,7 +1235,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)
@ -1300,6 +1329,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
############################################
@ -1322,7 +1363,7 @@ if(BUILD_LIB)
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
configure_file(FindLAMMPS.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Module)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Modules)
else()
list(APPEND LMP_SOURCES ${LIB_SOURCES})
endif()
@ -1346,6 +1387,7 @@ if(BUILD_EXE)
endif()
endif()
###############################################################################
# Build documentation
###############################################################################
@ -1420,6 +1462,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
#

View File

@ -0,0 +1,50 @@
#
# 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
#
find_package(PkgConfig REQUIRED)
include(FindPackageHandleStandardArgs)
pkg_check_modules(KIM-API REQUIRED libkim-api>=2.0)
pkg_get_variable(KIM-API-V2-CMAKE_C_COMPILER libkim-api CMAKE_C_COMPILER)
pkg_get_variable(KIM-API-V2-CMAKE_CXX_COMPILER libkim-api CMAKE_CXX_COMPILER)
pkg_get_variable(KIM-API-V2_CMAKE_Fortran_COMPILER libkim-api CMAKE_Fortran_COMPILER)
# 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

@ -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)

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

@ -24,7 +24,7 @@ tasks, act as a reference and provide examples of typical use cases.
* [Build directory vs. Source Directory](#build-directory-vs-source-directory)
* [Defining and using presets](#defining-and-using-presets)
* [Reference](#reference)
* [Common CMAKE Configuration Options](#common-cmake-configuration-options)
* [Common CMake Configuration Options](#common-cmake-configuration-options)
* [LAMMPS Configuration Options](#lammps-configuration-options)
* [Parallelization and Accelerator Packages](#parallelization-and-accelerator-packages)
* [Default Packages](#default-packages)
@ -179,7 +179,7 @@ cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake
# Reference
## Common CMAKE Configuration Options
## Common CMake Configuration Options
<table>
@ -208,6 +208,16 @@ cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake
</dl>
</td>
</tr>
<tr>
<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>
<dt><code>off</code> (default)</dt>
<dt><code>on</code></dt>
</dl>
</td>
</tr>
</tbody>
</table>
@ -1493,6 +1503,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>
@ -1729,6 +1749,13 @@ cache by setting the `CMAKE_C_COMPILER`, `CMAKE_CXX_COMPILER`,
value of `FC` environment variable at first `cmake` run
</td>
</tr>
<tr>
<td><code>CXX_COMPILER_LAUNCHER</code></td>
<td>CMake will run this tool and pass the compiler and its arguments to the tool. Some example tools are distcc and ccache.</td>
<td>
(empty)
</td>
</tr>
</tbody>
</table>

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)"
@ -48,6 +48,7 @@ help:
@echo " clean-all reset the entire build environment"
@echo " txt2html build txt2html tool"
@echo " anchor_check scan for duplicate anchor labels"
@echo " spelling spell-check the manual"
# ------------------------------------------
@ -55,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:
@ -114,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
@ -138,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
@ -175,7 +211,7 @@ $(VENV):
@( \
$(VIRTUALENV) -p $(PYTHON) $(VENV); \
. $(VENV)/bin/activate; \
pip install Sphinx; \
pip install Sphinx==1.7.6; \
deactivate;\
)

View File

@ -6,7 +6,7 @@ choices the LAMMPS developers have agreed on. Git and GitHub provide the
tools, but do not set policies, so it is up to the developers to come to
an agreement as to how to define and interpret policies. This document
is likely to change as our experiences and needs change and we try to
adapt accordingly. Last change 2018-11-15.
adapt accordingly. Last change 2018-12-19.
## Table of Contents
@ -50,8 +50,8 @@ This is indicated by who the pull request is assigned to. LAMMPS core
developers can self-assign or they can decide to assign a pull request
to a different LAMMPS developer. Being assigned to a pull request means,
that this pull request may need some work and the assignee is tasked to
determine what this might be needed or not, and may either implement the
required changes or ask the submitter of the pull request to implement
determine whether this might be needed or not, and may either implement
the required changes or ask the submitter of the pull request to implement
them. Even though, all LAMMPS developers may have write access to pull
requests (if enabled by the submitter, which is the default), only the
submitter or the assignee of a pull request may do so. During this
@ -76,12 +76,15 @@ People can be assigned to review a pull request in two ways:
Reviewers are requested to state their appraisal of the proposed changes
and either approve or request changes. People may unassign themselves
from review, if they feel not competent about the changes proposed. At
least one review from a LAMMPS developer with write access is required
before merging in addition to the automated compilation tests. The
feature, that reviews from code owners are "hard" reviews (i.e. they
must all be approved before merging is allowed), is currently disabled
and it is in the discretion of the merge maintainer to assess when
a sufficient degree of approval has been reached. Reviews may be
least two approvals from LAMMPS developers with write access are required
before merging in addition to the automated compilation tests.
Merging counts as implicit approval, so does submission of a pull request
(by a LAMMPS developer). So the person doing the merge may not also submit
an approving review. The feature, that reviews from code owners are "hard"
reviews (i.e. they must all be approved before merging is allowed), is
currently disabled and it is in the discretion of the merge maintainer to
assess when a sufficient degree of approval, especially from external
contributors, has been reached in these cases. Reviews may be
(automatically) dismissed, when the reviewed code has been changed,
and then approval is required a second time.
@ -120,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
@ -129,16 +132,17 @@ Here are some items to check:
* stdlib.h -> cstdlib
* string.h -> cstring
* time.h -> ctime
Do not replace (as they are C++-11): `inttypes.h` and `stdint.h`.
* Do NOT replace (as they are C++-11): `inttypes.h` and `stdint.h`.
* Code should follow the C++-98 standard. C++-11 is only accepted
in individual special purpose packages
* indentation is two spaces per level
* there should be no tabs and no trailing whitespace
* indentation is 2 spaces per level
* there should be NO tabs and no trailing whitespace
* header files, especially of new styles, should not include any
other headers, except the header with the base class or cstdio.
Forward declarations should be used instead when possible.
* iostreams should be avoided. LAMMPS uses stdio from the C-library.
* use of STL in headers and class definitions should be avoided.
* there MUST NOT be any "using namespace XXX;" statements in headers.
* static class members should be avoided at all cost.
* anything storing atom IDs should be using `tagint` and not `int`.
This can be flagged by the compiler only for pointers and only when

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

@ -36,8 +36,8 @@ This is the list of packages that may require additional steps.
"OPT"_#opt,
"POEMS"_#poems,
"PYTHON"_#python,
"REAX"_#reax,
"VORONOI"_#voronoi,
"USER-ADIOS"_#user-adios,
"USER-ATC"_#user-atc,
"USER-AWPMD"_#user-awpmd,
"USER-COLVARS"_#user-colvars,
@ -82,20 +82,23 @@ 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:
sm_12 or sm_13 for GT200 (supported by CUDA 3.2 until CUDA 6.5)
sm_20 or sm_21 for Fermi (supported by CUDA 3.2 until CUDA 7.5)
sm_30 or sm_35 or sm_37 for Kepler (supported since CUDA 5)
sm_50 or sm_52 for Maxwell (supported since CUDA 6)
@ -136,7 +139,7 @@ specified by the "-m" switch. For your convenience, machine makefiles
for "mpi" and "serial" are provided, which have the same settings as
the corresponding machine makefiles in the main LAMMPS source
folder. In addition you can alter 4 important settings in the
Makefile.machine you start from via the corresponding -h, -a, -p, -e
Makefile.machine you start from via the corresponding -c, -a, -p, -e
switches (as in the examples above), and also save a copy of the new
Makefile if desired:
@ -168,39 +171,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 +211,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
@ -536,45 +533,6 @@ build fails.
:line
REAX package :h4,link(reax)
NOTE: the use of the REAX package and its "pair_style
reax"_pair_reax.html command is discouraged, as it is no longer
maintained. Please use the USER-REAXC package and its "pair_style
reax/c"_pair_reaxc.html command instead, and possibly its KOKKOS
enabled variant (pair_style reax/c/kk), which has a more robust memory
management. See the "pair_style reax/c"_pair_reaxc.html doc page for
details.
[CMake build]:
No additional settings are needed besides "-D PKG_REAX=yes".
[Traditional make]:
Before building LAMMPS, you must build the REAX library in lib/reax.
You can do this manually if you prefer; follow the instructions in
lib/reax/README. You can also do it in one step from the lammps/src
dir, using a command like these, which simply invoke the
lib/reax/Install.py script with the specified args:
make lib-reax # print help message
make lib-reax args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
make lib-reax args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
make lib-reax args="-m ifort" # build with Intel ifort compiler :pre
The build should produce two files: lib/reax/libreax.a and
lib/reax/Makefile.lammps. The latter is copied from an existing
Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with
Fortran (REAX library). Typically the two compilers used for LAMMPS
and the REAX library need to be consistent (e.g. both Intel or both
GNU compilers). If necessary, you can edit/create a new
lib/reax/Makefile.machine file for your system, which should define an
EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine
file.
:line
VORONOI package :h4,link(voronoi)
To build with this package, you must download and build the "Voro++
@ -615,14 +573,40 @@ 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.
[CMake build]:
No additional settings are needed besides "-D PKG_REAX=yes" and "-D
PKG_MANYBODY=yes".
No additional settings are needed besides "-D PKG_USER-ATC=yes"
and "-D PKG_MANYBODY=yes".
[Traditional make]:
@ -913,7 +897,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]:
@ -922,7 +916,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
@ -971,7 +969,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

@ -78,7 +78,7 @@ description of the Python interface to LAMMPS, which wraps the C-style
interface.
See the sample codes in examples/COUPLE/simple for examples of C++ and
C and Fortran codes that invoke LAMMPS thru its library interface.
C and Fortran codes that invoke LAMMPS through its library interface.
Other examples in the COUPLE directory use coupling ideas discussed on
the "Howto couple"_Howto_couple.html doc page.

View File

@ -47,8 +47,8 @@ packages:
"OPT"_Build_extras.html#opt,
"POEMS"_Build_extras.html#poems,
"PYTHON"_Build_extras.html#python,
"REAX"_Build_extras.html#reax,
"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,

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,6 +79,7 @@ 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,

View File

@ -37,6 +37,7 @@ OPT.
"harmonic (iko)"_bond_harmonic.html,
"harmonic/shift (o)"_bond_harmonic_shift.html,
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
"mm3"_bond_mm3.html,
"morse (o)"_bond_morse.html,
"nonlinear (o)"_bond_nonlinear.html,
"oxdna/fene"_bond_oxdna.html,
@ -60,17 +61,19 @@ 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,
"cosine/shift (o)"_angle_cosine_shift.html,
"cosine/shift/exp (o)"_angle_cosine_shift_exp.html,
"cosine/squared (o)"_angle_cosine_squared.html,
"cross"_angle_cross.html,
"dipole (o)"_angle_dipole.html,
"fourier (o)"_angle_fourier.html,
"fourier/simple (o)"_angle_fourier_simple.html,
"harmonic (iko)"_angle_harmonic.html,
"mm3"_angle_mm3.html,
"quartic (o)"_angle_quartic.html,
"sdk (o)"_angle_sdk.html,
"table (o)"_angle_table.html :tb(c=4,ea=c)
@ -120,8 +123,10 @@ OPT.
"cossq (o)"_improper_cossq.html,
"cvff (io)"_improper_cvff.html,
"distance"_improper_distance.html,
"distharm"_improper_distharm.html,
"fourier (o)"_improper_fourier.html,
"harmonic (iko)"_improper_harmonic.html,
"inversion/harmonic"_improper_inversion_harmonic.html,
"ring (o)"_improper_ring.html,
"sqdistharm"_improper_sqdistharm.html,
"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c)

View File

@ -169,8 +169,7 @@ OPT.
"qmmm"_fix_qmmm.html,
"qtb"_fix_qtb.html,
"rattle"_fix_shake.html,
"reax/bonds"_fix_reax_bonds.html,
"reax/c/bonds (k)"_fix_reax_bonds.html,
"reax/c/bonds (k)"_fix_reaxc_bonds.html,
"reax/c/species (k)"_fix_reaxc_species.html,
"recenter"_fix_recenter.html,
"restrain"_fix_restrain.html,
@ -225,7 +224,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

@ -63,13 +63,13 @@ OPT.
"comb (o)"_pair_comb.html,
"comb3"_pair_comb.html,
"coul/cut (gko)"_pair_coul.html,
"coul/cut/soft (o)"_pair_lj_soft.html,
"coul/cut/soft (o)"_pair_fep_soft.html,
"coul/debye (gko)"_pair_coul.html,
"coul/diel (o)"_pair_coul_diel.html,
"coul/dsf (gko)"_pair_coul.html,
"coul/long (gko)"_pair_coul.html,
"coul/long/cs (g)"_pair_cs.html,
"coul/long/soft (o)"_pair_lj_soft.html,
"coul/long/soft (o)"_pair_fep_soft.html,
"coul/msm (o)"_pair_coul.html,
"coul/shield"_pair_coul_shield.html,
"coul/streitz"_pair_coul.html,
@ -107,38 +107,42 @@ OPT.
"kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html,
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
"lcbop"_pair_lcbop.html,
"lebedeva/z"_pair_lebedeva_z.html,
"lennard/mdf"_pair_mdf.html,
"line/lj"_pair_line_lj.html,
"list"_pair_list.html,
"lj/charmm/coul/charmm (iko)"_pair_charmm.html,
"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html,
"lj/charmm/coul/long (gikot)"_pair_charmm.html,
"lj/charmm/coul/long/soft (o)"_pair_lj_soft.html,
"lj/charmm/coul/long/soft (o)"_pair_fep_soft.html,
"lj/charmm/coul/msm (o)"_pair_charmm.html,
"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html,
"lj/charmmfsw/coul/long"_pair_charmm.html,
"lj/class2 (gko)"_pair_class2.html,
"lj/class2/coul/cut (ko)"_pair_class2.html,
"lj/class2/coul/cut/soft"_pair_fep_soft.html,
"lj/class2/coul/long (gko)"_pair_class2.html,
"lj/class2/coul/long/soft"_pair_fep_soft.html,
"lj/class2/soft"_pair_fep_soft.html,
"lj/cubic (go)"_pair_lj_cubic.html,
"lj/cut (gikot)"_pair_lj.html,
"lj/cut/coul/cut (gko)"_pair_lj.html,
"lj/cut/coul/cut/soft (o)"_pair_lj_soft.html,
"lj/cut/coul/cut/soft (o)"_pair_fep_soft.html,
"lj/cut/coul/debye (gko)"_pair_lj.html,
"lj/cut/coul/dsf (gko)"_pair_lj.html,
"lj/cut/coul/long (gikot)"_pair_lj.html,
"lj/cut/coul/long/cs"_pair_cs.html,
"lj/cut/coul/long/soft (o)"_pair_lj_soft.html,
"lj/cut/coul/long/soft (o)"_pair_fep_soft.html,
"lj/cut/coul/msm (go)"_pair_lj.html,
"lj/cut/coul/wolf (o)"_pair_lj.html,
"lj/cut/dipole/cut (go)"_pair_dipole.html,
"lj/cut/dipole/long (g)"_pair_dipole.html,
"lj/cut/dipole/sf (go)"_pair_dipole.html,
"lj/cut/soft (o)"_pair_lj_soft.html,
"lj/cut/soft (o)"_pair_fep_soft.html,
"lj/cut/thole/long (o)"_pair_thole.html,
"lj/cut/tip4p/cut (o)"_pair_lj.html,
"lj/cut/tip4p/long (ot)"_pair_lj.html,
"lj/cut/tip4p/long/soft (o)"_pair_lj_soft.html,
"lj/cut/tip4p/long/soft (o)"_pair_fep_soft.html,
"lj/expand (gko)"_pair_lj_expand.html,
"lj/expand/coul/long (g)"_pair_lj_expand.html,
"lj/gromacs (gko)"_pair_gromacs.html,
@ -153,6 +157,7 @@ OPT.
"lj/sf/dipole/sf (go)"_pair_dipole.html,
"lj/smooth (o)"_pair_lj_smooth.html,
"lj/smooth/linear (o)"_pair_lj_smooth_linear.html,
"lj/switch3/coulgauss/long"_pair_lj_switch3_coulgauss.html,
"lj96/cut (go)"_pair_lj96.html,
"lubricate (o)"_pair_lubricate.html,
"lubricate/poly (o)"_pair_lubricate.html,
@ -160,8 +165,7 @@ OPT.
"lubricateU/poly"_pair_lubricateU.html,
"mdpd"_pair_meso.html,
"mdpd/rhosum"_pair_meso.html,
"meam"_pair_meam.html,
"meam/c"_pair_meam.html,
"meam/c"_pair_meamc.html,
"meam/spline (o)"_pair_meam_spline.html,
"meam/sw/spline"_pair_meam_sw_spline.html,
"mgpt"_pair_mgpt.html,
@ -169,7 +173,7 @@ OPT.
"momb"_pair_momb.html,
"morse (gkot)"_pair_morse.html,
"morse/smooth/linear (o)"_pair_morse.html,
"morse/soft"_pair_morse.html,
"morse/soft"_pair_fep_soft.html,
"multi/lucy"_pair_multi_lucy.html,
"multi/lucy/rx (k)"_pair_multi_lucy_rx.html,
"nb3b/harmonic"_pair_nb3b_harmonic.html,
@ -194,7 +198,6 @@ OPT.
"polymorphic"_pair_polymorphic.html,
"python"_pair_python.html,
"quip"_pair_quip.html,
"reax"_pair_reax.html,
"reax/c (ko)"_pair_reaxc.html,
"rebo (io)"_pair_airebo.html,
"resquared (go)"_pair_resquared.html,
@ -230,7 +233,7 @@ OPT.
"thole"_pair_thole.html,
"tip4p/cut (o)"_pair_coul.html,
"tip4p/long (o)"_pair_coul.html,
"tip4p/long/soft (o)"_pair_lj_soft.html,
"tip4p/long/soft (o)"_pair_fep_soft.html,
"tri/lj"_pair_tri_lj.html,
"ufm (got)"_pair_ufm.html,
"vashishta (gko)"_pair_vashishta.html,

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
$$
E = K_{SS} \left(r_{12}-r_{12,0}\right)\left(r_{32}-r_{32,0}\right) + K_{BS0}\left(r_{12}-r_{12,0}\right)\left(\theta-\theta_0\right) + K_{BS1}\left(r_{32}-r_{32,0}\right)\left(\theta-\theta_0\right)
$$
\end{document}

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
$$
E = K (\theta - \theta_0)^2 \left[ 1 - 0.014(\theta - \theta_0) + 5.6(10)^{-5} (\theta - \theta_0)^2 - 7.0(10)^{-7} (\theta - \theta_0)^3 + 9(10)^{-10} (\theta - \theta_0)^4 \right]
$$
\end{document}

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

9
doc/src/Eqs/bond_mm3.tex Normal file
View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
$$
E = K (r - r_0)^2 \left[ 1 - 2.55(r-r_0) + (7/12) 2.55^2(r-r_0)^2 \right]
$$
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
$$
E = K (d - d_0)^2
$$
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
$$
E = K (d^2 - d_0^2)^2
$$
\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: 4.5 KiB

View File

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
\begin{eqnarray*}
E &=& \frac{q_i q_j \mathrm{erf}\left( r/\sqrt{\gamma_1^2+\gamma_2^2} \right) }{\epsilon r_{ij}}
\end{eqnarray*}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,11 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
\begin{eqnarray*}
E = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12}-\left(\frac{\sigma}{r}\right)^{6} \right]
% \qquad r < r_c \\
\end{eqnarray*}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,11 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
\begin{eqnarray*}
E &=& \epsilon_{ij} \left[ -2.25 \left(\frac{r_{v,ij}}{r_{ij}}\right)^6 + 1.84(10)^5 \exp\left[-12.0 r_{ij}/r_{v,ij}\right] \right] S_3(r_{ij}) \\
r_{v,ij} &=& r_{v,i} + r_{v,j} \\
\epsilon_{ij} &=& \sqrt{\epsilon_i \epsilon_j}
\end{eqnarray*}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -0,0 +1,14 @@
\documentclass[12pt]{article}
\begin{document}
\thispagestyle{empty}
\begin{eqnarray*}
S_3(r) = \left\lbrace \begin{array}{ll}
1 & \quad\mathrm{if}\quad r < r_\mathrm{c} - w \\
3x^2 - 2x^3 & \quad\mathrm{if}\quad r < r_\mathrm{c} \quad\mathrm{with\quad} x=\frac{r_\mathrm{c} - r}{w} \\
0 & \quad\mathrm{if}\quad r >= r_\mathrm{c}
\end{array} \right.
\end{eqnarray*}
\end{document}

View File

@ -74,7 +74,7 @@ is an integer or floating-point number, respectively, and reject the
input with an error message (for instance, when an integer is required,
but a floating-point number 1.0 is provided):
ERROR: Expected integer parameter in input script or data file :pre
ERROR: Expected integer parameter instead of '1.0' in input script or data file :pre
Some commands allow for using variable references in place of numeric
constants so that the value can be evaluated and may change over the
@ -85,6 +85,9 @@ reading the input and before parsing commands,
NOTE: Using a variable reference (i.e. {v_name}) is only allowed if
the documentation of the corresponding command explicitly says it is.
Otherwise, you will receive an error message of this kind:
ERROR: Expected floating point parameter instead of 'v_name' in input script or data file :pre
Generally, LAMMPS will print a message to the screen and logfile and
exit gracefully when it encounters a fatal error. Sometimes it will

View File

@ -6917,7 +6917,7 @@ types. :dd
{Invalid use of library file() function} :dt
This function is called thru the library interface. This
This function is called through the library interface. This
error should not occur. Contact the developers if it does. :dd
{Invalid value in set command} :dt
@ -6988,12 +6988,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
@ -10185,10 +10179,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

@ -178,12 +178,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

0
doc/src/Howto_bash.txt Executable file → Normal file
View File

View File

@ -82,7 +82,7 @@ Monte Carlo client code as the driver.
The lammps_vasp dir shows how to couple LAMMPS as a client code
running MD timestepping to VASP acting as a server providing quantum
DFT forces, thru a Python wrapper script on VASP.
DFT forces, through a Python wrapper script on VASP.
Here is how to launch a client and server code together for any of the
4 modes of message exchange that the "message"_message.html command

View File

@ -50,7 +50,7 @@ In this scenario, the other code can be called as a library, as in
(1), or it could be a stand-alone code, invoked by a system() call
made by the command (assuming your parallel machine allows one or more
processors to start up another program). In the latter case the
stand-alone code could communicate with LAMMPS thru files that the
stand-alone code could communicate with LAMMPS through files that the
command writes and reads.
See the "Modify command"_Modify_command.html doc page for info on how

View File

@ -87,7 +87,7 @@ commands to LAMMPS to execute, the same as if they were coming from an
input script.
Via these functions, the calling code can read or generate a series of
LAMMPS commands one or multiple at a time and pass it thru the library
LAMMPS commands one or multiple at a time and pass it through the library
interface to setup a problem and then run it in stages. The caller
can interleave the command function calls with operations it performs,
calls to extract information from or set information within LAMMPS, or

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

@ -48,15 +48,8 @@ your machine and "unstable" is one of the 3 branches listed above.
between them at any time using "git checkout <branch name>".)
Once the command completes, your directory will contain the same files
as if you unpacked a current LAMMPS tarball, with two exceptions:
1) No LAMMPS packages are initially installed in the src dir (a few
packages are installed by default in the tarball src dir). You can
install whichever packages you wish before building LAMMPS; type "make
package" from the src dir to see the options, and the
"Packages"_Packages.html doc page for a discussion of packages.
2) The HTML documentation files are not included. They can be fetched
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.

View File

@ -15,7 +15,7 @@ Binaries are available for different versions of Linux:
"Pre-built Fedora Linux executables"_#fedora
"Pre-built EPEL Linux executables (RHEL, CentOS)"_#epel
"Pre-built OpenSuse Linux executables"_#opensuse
"Pre-built Gentoo Linux executable"_#gentoo :all(b)
"Gentoo Linux executable"_#gentoo :all(b)
:line
@ -87,11 +87,11 @@ linking to the C library interface (lammps-devel, lammps-mpich-devel,
lammps-openmpi-devel), the header for compiling programs using
the C library interface (lammps-headers), and the LAMMPS python
module for Python 3. All packages can be installed at the same
time and the name of the LAMMPS executable is {lmp} in all 3 cases.
By default, {lmp} will refer to the serial executable, unless
one of the MPI environment modules is loaded
time and the name of the LAMMPS executable is {lmp} and {lmp_openmpi}
or {lmp_mpich} respectively. By default, {lmp} will refer to the
serial executable, unless one of the MPI environment modules is loaded
("module load mpi/mpich-x86_64" or "module load mpi/openmpi-x86_64").
Then the corresponding parallel LAMMPS executable is used.
Then the corresponding parallel LAMMPS executable can be used.
The same mechanism applies when loading the LAMMPS python module.
To install LAMMPS with OpenMPI and run an input in.lj with 2 CPUs do:
@ -150,7 +150,7 @@ Thanks to Christoph Junghans (LANL) for making LAMMPS available in OpenSuse.
:line
Pre-built Gentoo Linux executable :h4,link(gentoo)
Gentoo Linux executable :h4,link(gentoo)
LAMMPS is part of Gentoo's main package tree and can be installed by
typing:

View File

@ -36,15 +36,8 @@ where "mylammps" is the name of the directory you wish to create on
your machine.
Once the command completes, your directory will contain the same files
as if you unpacked a current LAMMPS tarball, with two exceptions:
1) No LAMMPS packages are initially installed in the src dir (a few
packages are installed by default in the tarball src dir). You can
install whichever packages you wish before building LAMMPS; type "make
package" from the src dir to see the options, and the
"Packages"_Packages.html doc page for a discussion of packages.
2) The HTML documentation files are not included. They can be fetched
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.

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
@ -23,8 +23,8 @@ install the Windows MPI package (MPICH2 from Argonne National Labs),
needed to run in parallel.
The LAMMPS binaries contain all optional packages included in the
source distribution except: KIM, REAX, KOKKOS, USER-INTEL,
and USER-QMMM. The serial version also does not include the MPIIO and
source distribution except: KIM, KOKKOS, USER-INTEL, and USER-QMMM.
The serial version also does not include the MPIIO and
USER-LB packages. GPU support is provided for OpenCL.
The installer site also has instructions on how to run LAMMPS under
@ -42,7 +42,7 @@ environment manipulations.
Note that to update to a newer version of LAMMPS, you should typically
uninstall the version you currently have, download a new installer,
and go thru the install procedure described above. I.e. the same
and go through the install procedure described above. I.e. the same
procedure for installing/updating most Windows programs. You can
install multiple versions of LAMMPS (in different directories), but
only the executable for the last-installed package will be found

View File

@ -40,7 +40,7 @@ General features :h4,link(general)
syntax for defining and using variables and formulas
syntax for looping over runs and breaking out of loops
run one or multiple simulations simultaneously (in parallel) from one script
build as library, invoke LAMMPS thru library interface or provided Python wrapper
build as library, invoke LAMMPS through library interface or provided Python wrapper
couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul
Particle and model types :h4,link(particle)

View File

@ -15,8 +15,8 @@ functionality for setting up simulations and analyzing their output.
Specifically, LAMMPS was not conceived and designed for:
being run thru a GUI
build molecular systems, or building molecular topologies
being run through a GUI
building molecular systems, or building molecular topologies
assign force-field coefficients automagically
perform sophisticated analysis of your MD simulation
visualize your MD simulation interactively
@ -24,18 +24,18 @@ plot your output data :ul
Although over the years these limitations have been somewhat
reduced through features added to LAMMPS or external tools
that either interface with LAMMPS or extend LAMMPS.
that either closely interface with LAMMPS or extend LAMMPS.
Here are suggestions on how to perform these tasks:
GUI: LAMMPS can be built as a library and a Python wrapper that wraps
[GUI:] LAMMPS can be built as a library and a Python wrapper that wraps
the library interface is provided. Thus, GUI interfaces can be
written in Python (or C or C++ if desired) that run LAMMPS and
visualize or plot its output. Examples of this are provided in the
python directory and described on the "Python"_Python_head.html doc
page. Also, there are several external wrappers or GUI front ends.:ulb,l
page. Also, there are several external wrappers or GUI front ends. :ulb,l
Builder: Several pre-processing tools are packaged with LAMMPS. Some
[Builder:] Several pre-processing tools are packaged with LAMMPS. Some
of them convert input files in formats produced by other MD codes such
as CHARMM, AMBER, or Insight into LAMMPS input formats. Some of them
are simple programs that will build simple molecular systems, such as
@ -45,15 +45,20 @@ the "Tools"_Tools.html doc page for details on tools packaged with
LAMMPS. The "Pre/post processing
page"_http:/lammps.sandia.gov/prepost.html of the LAMMPS website
describes a variety of 3rd party tools for this task. Furthermore,
some LAMMPS internal commands to reconstruct topology, as well as
the option to insert molecule templates instead of atoms.:l
some LAMMPS internal commands allow to reconstruct, or selectively add
topology information, as well as provide the option to insert molecule
templates instead of atoms for building bulk molecular systems. :l
Force-field assignment: The conversion tools described in the previous
[Force-field assignment:] The conversion tools described in the previous
bullet for CHARMM, AMBER, and Insight will also assign force field
coefficients in the LAMMPS format, assuming you provide CHARMM, AMBER,
or BIOVIA (formerly Accelrys) force field files. :l
or BIOVIA (formerly Accelrys) force field files. The tools
"ParmEd"_https://parmed.github.io/ParmEd/html/index.html and
"InterMol"_https://github.com/shirtsgroup/InterMol are particularly
powerful and flexible in converting force field and topology data
between various MD simulation programs. :l
Simulation analysis: If you want to perform analysis on-the-fly as
[Simulation analysis:] If you want to perform analysis on-the-fly as
your simulation runs, see the "compute"_compute.html and
"fix"_fix.html doc pages, which list commands that can be used in a
LAMMPS input script. Also see the "Modify"_Modify.html doc page for
@ -71,22 +76,22 @@ tools/python directory can extract and massage data in dump files to
make it easier to import into other programs. See the
"Tools"_Tools.html doc page for details on these various options. :l
Visualization: LAMMPS can produce JPG or PNG snapshot images
[Visualization:] LAMMPS can produce NETPBM, JPG or PNG snapshot images
on-the-fly via its "dump image"_dump_image.html command and pass
them to an external program FFmpeg to generate movies from them. For
high-quality, interactive visualization there are many excellent and
free tools available. See the "Other Codes
them to an external program, "FFmpeg"_https://www.ffmpeg.org to generate
movies from them. For high-quality, interactive visualization there are
many excellent and free tools available. See the "Other Codes
page"_http://lammps.sandia.gov/viz.html page of the LAMMPS website for
visualization packages that can use LAMMPS output data. :l
Plotting: See the next bullet about Pizza.py as well as the
[Plotting:] See the next bullet about Pizza.py as well as the
"Python"_Python_head.html doc page for examples of plotting LAMMPS
output. Scripts provided with the {python} tool in the tools
directory will extract and massage data in log and dump files to make
it easier to analyze and plot. See the "Tools"_Tools.html doc page
for more discussion of the various tools. :l
Pizza.py: Our group has also written a separate toolkit called
[Pizza.py:] Our group has also written a separate toolkit called
"Pizza.py"_http://pizza.sandia.gov which can do certain kinds of
setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS
simulations. It thus provides some functionality for several of the

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="7 Dec 2018 version">
<META NAME="docnumber" CONTENT="29 Mar 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
7 Dec 2018 version :c,h2
29 Mar 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

@ -65,6 +65,8 @@ make epub # generate LAMMPS.epub in ePUB format using Sphinx
make mobi # generate LAMMPS.mobi in MOBI format using ebook-convert
make clean # remove intermediate RST files created by HTML build
make clean-all # remove entire build folder and any cached data :pre
make anchor_check # check for duplicate anchor labels
make spelling # spell-check the manual
:line
@ -106,7 +108,14 @@ This will install virtualenv from the Python Package Index.
Installing prerequisites for PDF build
[TBA]
Building the PDF manual requires a working C++ compiler (to
compile the txt2html tool and a working installation of
"HTMLDOC"_https://www.msweet.org/htmldoc/
HTMLDOC has its own list of prerequisites, but in most cases
you can install a binary package of it either through your
Linux package manager or MacOS (dmg) and Windows installer
(msi) packages from its
"GitHub releases page at"_https://github.com/michaelrsweet/htmldoc/releases
:line

View File

@ -108,9 +108,13 @@ 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.
the C-style stdio library (mixing of stdio and iostreams is generally
discouraged), class header files should not import any system headers
outside of <cstdio>, STL containers should be avoided in headers,
system header from the C library should use the C++-style names
(<cstdlib>, <cstdio>, or <cstring>) instead of the C-style names
<stdlib.h>, <stdio.h>, or <string.h>), and forward declarations
used where possible or needed to avoid including headers.
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.

0
doc/src/PDF/SPH_LAMMPS_userguide.pdf Executable file → Normal file
View File

Binary file not shown.

0
doc/src/PDF/kspace.pdf Executable file → Normal file
View File

View File

@ -45,7 +45,6 @@ as contained in the file name.
"LATTE"_#PKG-LATTE,
"MANYBODY"_#PKG-MANYBODY,
"MC"_#PKG-MC,
"MEAM"_#PKG-MEAM,
"MESSAGE"_#PKG-MESSAGE,
"MISC"_#PKG-MISC,
"MOLECULE"_#PKG-MOLECULE,
@ -56,7 +55,6 @@ as contained in the file name.
"POEMS"_#PKG-POEMS,
"PYTHON"_#PKG-PYTHON,
"QEQ"_#PKG-QEQ,
"REAX"_#PKG-REAX,
"REPLICA"_#PKG-REPLICA2,
"RIGID"_#PKG-RIGID,
"SHOCK"_#PKG-SHOCK,
@ -65,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,
@ -102,7 +101,8 @@ as contained in the file name.
"USER-SPH"_#PKG-USER-SPH,
"USER-TALLY"_#PKG-USER-TALLY,
"USER-UEF"_#PKG-USER-UEF,
"USER-VTK"_#PKG-USER-VTK :tb(c=6,ea=c)
"USER-VTK"_#PKG-USER-VTK,
"USER-YAFF"_#PKG-USER-YAFF, :tb(c=6,ea=c)
:line
@ -341,18 +341,19 @@ 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:]
@ -533,37 +534,6 @@ http://lammps.sandia.gov/movies.html#gcmc :ul
:line
MEAM package :link(PKG-MEAM),h4
[Contents:]
A pair style for the modified embedded atom (MEAM) potential.
Please note that the use of the MEAM package is discouraged as
it has been superseded by the "USER-MEAMC"_#PKG-USER-MEAMC package,
which is a direct translation of the MEAM package to C++.
USER-MEAMC contains additional optimizations making it run faster
than MEAM on most machines, while providing the identical features
and user interface.
[Author:] Greg Wagner (Northwestern U) while at Sandia.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
src/MEAM: filenames -> commands
src/meam/README
lib/meam/README
"pair_style meam"_pair_meam.html
examples/meam :ul
:line
MESSAGE package :link(PKG-MESSAGE),h4
[Contents:]
@ -834,38 +804,6 @@ examples/streitz :ul
:line
REAX package :link(PKG-REAX),h4
[Contents:]
NOTE: the use of the REAX package is discouraged, as it is no longer
maintained. Please use the "USER-REAXC"_#PKG-USER-REAXC package instead,
and possibly the KOKKOS enabled variant of that, which has a more robust
memory management.
A pair style which wraps a Fortran library which implements the ReaxFF
potential, which is a universal reactive force field. Also included is
a "fix reax/bonds"_fix_reax_bonds.html command for monitoring molecules
as bonds are created and destroyed.
[Author:] Aidan Thompson (Sandia).
[Install:]
This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
src/REAX: filenames -> commands
lib/reax/README
"pair_style reax"_pair_reax.html
"fix reax/bonds"_fix_reax_bonds.html
examples/reax :ul
:line
REPLICA package :link(PKG-REPLICA2),h4
[Contents:]
@ -1039,6 +977,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:]
@ -1370,7 +1333,7 @@ src/USER-FEP: filenames -> commands
src/USER-FEP/README
"fix adapt/fep"_fix_adapt_fep.html
"compute fep"_compute_fep.html
"pair_style */soft"_pair_lj_soft.html
"pair_style */soft"_pair_fep_soft.html
examples/USER/fep
tools/fep/README
tools/fep :ul
@ -1552,10 +1515,9 @@ USER-MEAMC package :link(PKG-USER-MEAMC),h4
[Contents:]
A pair style for the modified embedded atom (MEAM) potential
translated from the Fortran version in the "MEAM"_#PKG-MEAM package
to plain C++. In contrast to the MEAM package, no library
needs to be compiled and the pair style can be instantiated
multiple times.
translated from the Fortran version in the (obsolete) "MEAM" package
to plain C++. The USER-MEAMC fully replaces the MEAM package, which
has been removed from LAMMPS after the 12 December 2018 version.
[Author:] Sebastian Huetter, (Otto-von-Guericke University Magdeburg)
based on the Fortran version of Greg Wagner (Northwestern U) while at
@ -1565,8 +1527,8 @@ Sandia.
src/USER-MEAMC: filenames -> commands
src/USER-MEAMC/README
"pair_style meam/c"_pair_meam.html
examples/meam :ul
"pair_style meam/c"_pair_meamc.html
examples/meamc :ul
:line
@ -1765,14 +1727,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
@ -1894,9 +1861,8 @@ USER-REAXC package :link(PKG-USER-REAXC),h4
[Contents:]
A pair style which implements the ReaxFF potential in C/C++ (in
contrast to the "REAX package"_#PKG-REAX and its Fortran library). ReaxFF
is universal reactive force field. See the src/USER-REAXC/README file
A pair style which implements the ReaxFF potential in C/C++. ReaxFF
is a universal reactive force field. See the src/USER-REAXC/README file
for more info on differences between the two packages. Also two fixes
for monitoring molecules as bonds are created and destroyed.
@ -1907,7 +1873,7 @@ for monitoring molecules as bonds are created and destroyed.
src/USER-REAXC: filenames -> commands
src/USER-REAXC/README
"pair_style reax/c"_pair_reaxc.html
"fix reax/c/bonds"_fix_reax_bonds.html
"fix reax/c/bonds"_fix_reaxc_bonds.html
"fix reax/c/species"_fix_reaxc_species.html
examples/reax :ul
@ -2134,3 +2100,37 @@ lib/vtk/README
"dump vtk"_dump_vtk.html :ul
:line
USER-YAFF package :link(PKG-USER-YAFF),h4
[Contents:]
Some potentials that are also implemented in the Yet Another Force Field ("YAFF"_yaff) code.
The expressions and their use are discussed in the following papers
Vanduyfhuys et al., J. Comput. Chem., 36 (13), 1015-1027 (2015) "link"_vanduyfhuys2015
Vanduyfhuys et al., J. Comput. Chem., 39 (16), 999-1011 (2018) "link"_vanduyfhuys2018 :ul
which discuss the "QuickFF"_quickff methodology.
:link(vanduyfhuys2015,http://dx.doi.org/10.1002/jcc.23877)
:link(vanduyfhuys2018,http://dx.doi.org/10.1002/jcc.25173)
:link(quickff,http://molmod.github.io/QuickFF)
:link(yaff,https://github.com/molmod/yaff)
[Author:] Steven Vandenbrande.
[Supporting info:]
src/USER-YAFF/README
"angle_style cross"_angle_cross.html
"angle_style mm3"_angle_mm3.html
"bond_style mm3"_bond_mm3.html
"improper_style distharm"_improper_distharm.html
"improper_style sqdistharm"_improper_sqdistharm.html
"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

@ -46,7 +46,6 @@ Package, Description, Doc page, Example, Library
"LATTE"_Packages_details.html#PKG-LATTE, quantum DFTB forces via LATTE, "fix latte"_fix_latte.html, latte, ext
"MANYBODY"_Packages_details.html#PKG-MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, no
"MC"_Packages_details.html#PKG-MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, n/a, no
"MEAM"_Packages_details.html#PKG-MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int
"MESSAGE"_Packages_details.html#PKG-MESSAGE, client/server messaging, "message"_message.html, message, int
"MISC"_Packages_details.html#PKG-MISC, miscellaneous single-file commands, n/a, no, no
"MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, no
@ -57,7 +56,6 @@ Package, Description, Doc page, Example, Library
"POEMS"_Packages_details.html#PKG-POEMS, coupled rigid body motion, "fix poems"_fix_poems.html, rigid, int
"PYTHON"_Packages_details.html#PKG-PYTHON, embed Python code in an input script, "python"_python.html, python, sys
"QEQ"_Packages_details.html#PKG-QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, no
"REAX"_Packages_details.html#PKG-REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int
"REPLICA"_Packages_details.html#PKG-REPLICA2, multi-replica methods, "Howto replica"_Howto_replica.html, tad, no
"RIGID"_Packages_details.html#PKG-RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, no
"SHOCK"_Packages_details.html#PKG-SHOCK, shock loading methods, "fix msst"_fix_msst.html, n/a, no

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
@ -53,7 +54,7 @@ Package, Description, Doc page, Example, Library
"USER-INTEL"_Packages_details.html#PKG-USER-INTEL, optimized Intel CPU and KNL styles,"Speed intel"_Speed_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no
"USER-LB"_Packages_details.html#PKG-USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, no
"USER-MANIFOLD"_Packages_details.html#PKG-USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, no
"USER-MEAMC"_Packages_details.html#PKG-USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, no
"USER-MEAMC"_Packages_details.html#PKG-USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meamc.html, meamc, no
"USER-MESO"_Packages_details.html#PKG-USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, no
"USER-MGPT"_Packages_details.html#PKG-USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, no
"USER-MISC"_Packages_details.html#PKG-USER-MISC, single-file contributions, USER-MISC/README, USER/misc, no
@ -75,7 +76,8 @@ Package, Description, Doc page, Example, Library
"USER-SPH"_Packages_details.html#PKG-USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, no
"USER-TALLY"_Packages_details.html#PKG-USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, no
"USER-UEF"_Packages_details.html#PKG-USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, no
"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, n/a, ext :tb(ea=c,ca1=l)
"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, n/a, ext
"USER-YAFF"_Packages_details.html#PKG-USER-YAFF, additional styles implemented in YAFF, "angle_style cross"_angle_cross.html, USER/yaff, no :tb(ea=c,ca1=l)
:link(MOFplus,https://www.mofplus.org/content/show/MOF-FF)
:link(PLUMED,http://www.plumed.org)

View File

@ -15,7 +15,7 @@ things that are possible when Python wraps LAMMPS. If you create your
own scripts, send them to us and we can include them in the LAMMPS
distribution.
trivial.py, read/run a LAMMPS input script thru Python,
trivial.py, read/run a LAMMPS input script through Python,
demo.py, invoke various LAMMPS library interface routines,
simple.py, run in parallel, similar to examples/COUPLE/simple/simple.cpp,
split.py, same as simple.py but running in parallel on a subset of procs,

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

@ -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

@ -31,7 +31,7 @@ language is, and that it can be run interactively, enabling rapid
development and debugging. If you use it to mostly invoke costly
operations within LAMMPS, such as running a simulation for a
reasonable number of timesteps, then the overhead cost of invoking
LAMMPS thru Python will be negligible.
LAMMPS through Python will be negligible.
The Python wrapper for LAMMPS uses the "ctypes" package in Python,
which auto-generates the interface code needed between Python and a

View File

@ -32,7 +32,7 @@ first importing from the lammps.py file:
>>> from ctypes import CDLL
>>> CDLL("liblammps.so") :pre
If an error occurs, carefully go thru the steps on the
If an error occurs, carefully go through the steps on the
"Build_basics"_Build_basics.html doc page about building a shared
library and the "Python_install"_Python_install.html doc page about
insuring Python can find the necessary two files it needs.

View File

@ -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

@ -391,15 +391,16 @@ definition file. This tool was used to create the system for the
moltemplate tool :h4,link(moltemplate)
The moltemplate sub-directory contains a Python-based tool for
building molecular systems based on a text-file description, and
creating LAMMPS data files that encode their molecular topology as
lists of bonds, angles, dihedrals, etc. See the README.TXT file for
more information.
The moltemplate sub-directory contains instructions for installing
moltemplate, a Python-based tool for building molecular systems based
on a text-file description, and creating LAMMPS data files that encode
their molecular topology as lists of bonds, angles, dihedrals, etc.
See the README.txt file for more information.
This tool was written by Andrew Jewett (jewett.aij at gmail.com), who
supports it. It has its own WWW page at
"http://moltemplate.org"_http://moltemplate.org.
The latest sources can be found "on its GitHub page"_https://github.com/jewettaij/moltemplate/releases
:line
@ -485,9 +486,9 @@ README for more info on Pizza.py and how to use these scripts.
reax tool :h4,link(reax_tool)
The reax sub-directory contains stand-alond codes that can
post-process the output of the "fix reax/bonds"_fix_reax_bonds.html
command from a LAMMPS simulation using "ReaxFF"_pair_reax.html. See
The reax sub-directory contains stand-alone codes that can
post-process the output of the "fix reax/c/bonds"_fix_reaxc_bonds.html
command from a LAMMPS simulation using "ReaxFF"_pair_reaxc.html. See
the README.txt file for more info.
These tools were written by Aidan Thompson at Sandia.

View File

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

62
doc/src/angle_cross.txt Normal file
View File

@ -0,0 +1,62 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands_all.html)
:line
angle_style cross command :h3
[Syntax:]
angle_style cross :pre
[Examples:]
angle_style cross
angle_coeff 1 200.0 100.0 100.0 1.25 1.25 107.0 :pre
[Description:]
The {cross} angle style uses a potential that couples the bond stretches of
a bend with the angle stretch of that bend:
:c,image(Eqs/angle_cross.jpg)
where r12,0 is the rest value of the bond length between atom 1 and 2,
r32,0 is the rest value of the bond length between atom 2 and 2,
and theta0 is the rest value of the angle. KSS is the force constant of
the bond stretch-bond stretch term and KBS0 and KBS1 are the force constants
of the bond stretch-angle stretch terms.
The following coefficients must be defined for each angle type via the
"angle_coeff"_angle_coeff.html command as in the example above, or in
the data file or restart files read by the "read_data"_read_data.html
or "read_restart"_read_restart.html commands:
KSS (energy/distance^2)
KBS0 (energy/distance/rad)
KBS1 (energy/distance/rad)
r12,0 (distance)
r32,0 (distance)
theta0 (degrees) :ul
Theta0 is specified in degrees, but LAMMPS converts it to radians
internally; hence the units of KBS0 and KBS1 are in energy/distance/radian.
[Restrictions:]
This angle style can only be used if LAMMPS was built with the
USER_YAFF package. See the "Build package"_Build_package.html doc
page for more info.
[Related commands:]
"angle_coeff"_angle_coeff.html
[Default:] none
:line

55
doc/src/angle_mm3.txt Normal file
View File

@ -0,0 +1,55 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands_all.html)
:line
angle_style mm3 command :h3
[Syntax:]
angle_style mm3 :pre
[Examples:]
angle_style mm3
angle_coeff 1 100.0 107.0 :pre
[Description:]
The {mm3} angle style uses the potential that is anharmonic in the angle
as defined in "(Allinger)"_#mm3-allinger1989
:c,image(Eqs/angle_mm3.jpg)
where theta0 is the equilibrium value of the angle, and K is a
prefactor. The anharmonic prefactors have units deg^(-n), for example
-0.014 deg^(-1), 5.6(10)^(-5) deg^(-2), ...
The following coefficients must be defined for each angle type via the
"angle_coeff"_angle_coeff.html command as in the example above, or in
the data file or restart files read by the "read_data"_read_data.html
or "read_restart"_read_restart.html commands:
K (energy/radian^2)
theta0 (degrees) :ul
Theta0 is specified in degrees, but LAMMPS converts it to radians
internally; hence the units of K are in energy/radian^2.
[Restrictions:]
This angle style can only be used if LAMMPS was built with the
USER_YAFF package. See the "Build package"_Build_package.html doc
page for more info.
[Related commands:]
"angle_coeff"_angle_coeff.html
[Default:] none
:line

View File

@ -81,10 +81,12 @@ of (g,i,k,o,t) to indicate which accelerated styles exist.
"cosine/shift"_angle_cosine_shift.html - angle cosine with a shift
"cosine/shift/exp"_angle_cosine_shift_exp.html - cosine with shift and exponential term in spring constant
"cosine/squared"_angle_cosine_squared.html - angle with cosine squared term
"cross"_angle_cross.html - cross term coupling angle and bond lengths
"dipole"_angle_dipole.html - angle that controls orientation of a point dipole
"fourier"_angle_fourier.html - angle with multiple cosine terms
"fourier/simple"_angle_fourier_simple.html - angle with a single cosine term
"harmonic"_angle_harmonic.html - harmonic angle
"mm3"_angle_mm3.html - anharmonic angle
"quartic"_angle_quartic.html - angle with cubic and quartic terms
"sdk"_angle_sdk.html - harmonic angle with repulsive SDK pair style between 1-3 atoms
"table"_angle_table.html - tabulated by angle :ul

View File

@ -14,11 +14,13 @@ Angle Styles :h1
angle_cosine_shift
angle_cosine_shift_exp
angle_cosine_squared
angle_cross
angle_dipole
angle_fourier
angle_fourier_simple
angle_harmonic
angle_hybrid
angle_mm3
angle_none
angle_quartic
angle_sdk

58
doc/src/bond_mm3.txt Normal file
View File

@ -0,0 +1,58 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands_all.html)
:line
bond_style mm3 command :h3
[Syntax:]
bond_style mm3 :pre
[Examples:]
bond_style mm3
bond_coeff 1 100.0 107.0 :pre
[Description:]
The {mm3} bond style uses the potential that is anharmonic in the bond
as defined in "(Allinger)"_#mm3-allinger1989
:c,image(Eqs/bond_mm3.jpg)
where r0 is the equilibrium value of the bond, and K is a
prefactor. The anharmonic prefactors have units angstrom^(-n):
-2.55 angstrom^(-1) and (7/12)2.55^2 angstrom^(-2). The code takes
care of the necessary unit conversion for these factors internally.
Note that the MM3 papers contains an error in Eq (1):
(7/12)2.55 should be replaced with (7/12)2.55^2
The following coefficients must be defined for each bond type via the
"bond_coeff"_bond_coeff.html command as in the example above, or in
the data file or restart files read by the "read_data"_read_data.html
or "read_restart"_read_restart.html commands:
K (energy/distance^2)
r0 (distance) :ul
[Restrictions:]
This bond style can only be used if LAMMPS was built with the
USER_YAFF package. See the "Build package"_Build_package.html doc
page for more info.
[Related commands:]
"bond_coeff"_bond_coeff.html
[Default:] none
:line
:link(mm3-allinger1989)
[(Allinger)] Allinger, Yuh, Lii, JACS, 111(23), 8551-8566
(1989),

View File

@ -86,6 +86,7 @@ accelerated styles exist.
"harmonic"_bond_harmonic.html - harmonic bond
"harmonic/shift"_bond_harmonic_shift.html - shifted harmonic bond
"harmonic/shift/cut"_bond_harmonic_shift_cut.html - shifted harmonic bond with a cutoff
"mm3"_bond_mm3.html - MM3 anharmonic bond
"morse"_bond_morse.html - Morse bond
"nonlinear"_bond_nonlinear.html - nonlinear bond
"oxdna/fene"_bond_oxdna.html - modified FENE bond suitable for DNA modeling

View File

@ -13,6 +13,7 @@ Bond Styles :h1
bond_harmonic_shift
bond_harmonic_shift_cut
bond_hybrid
bond_mm3
bond_morse
bond_none
bond_nonlinear

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,6 +62,7 @@ Commands :h1
mass
message
min_modify
min_spin
min_style
minimize
molecule

View File

@ -54,9 +54,10 @@ local quantities have the word "local" in their style,
e.g. {bond/local}. Styles with neither "atom" or "local" in their
style produce global quantities.
Note that a single compute produces either global or per-atom or local
quantities, but never more than one of these (with only a few
exceptions, as documented by individual compute commands).
Note that a single compute can produce either global or per-atom or
local quantities, but not both global and per-atom. It can produce
local quantities in tandem with global or per-atom quantities. The
compute doc page will explain.
Global, per-atom, and local quantities each come in three kinds: a
single scalar value, a vector of values, or a 2d array of values. The

View File

@ -37,7 +37,7 @@ they can be used to measure properties of a system.
This compute calculates the 3 components of the angular momentum
vector for each chunk, due to the velocity/momentum of the individual
atoms in the chunk around the center-of-mass of the chunk. The
calculation includes all effects due to atoms passing thru periodic
calculation includes all effects due to atoms passing through periodic
boundaries.
Note that only atoms in the specified group contribute to the

View File

@ -22,7 +22,7 @@ compute 1 all com :pre
[Description:]
Define a computation that calculates the center-of-mass of the group
of atoms, including all effects due to atoms passing thru periodic
of atoms, including all effects due to atoms passing through periodic
boundaries.
A vector of three quantities is calculated by this compute, which

View File

@ -35,7 +35,7 @@ doc pages for details of how chunks can be defined and examples of how
they can be used to measure properties of a system.
This compute calculates the x,y,z coordinates of the center-of-mass
for each chunk, which includes all effects due to atoms passing thru
for each chunk, which includes all effects due to atoms passing through
periodic boundaries.
Note that only atoms in the specified group contribute to the

View File

@ -38,7 +38,7 @@ they can be used to measure properties of a system.
This compute calculates the x,y,z coordinates of the dipole vector
and the total dipole moment for each chunk, which includes all effects
due to atoms passing thru periodic boundaries. For chunks with a net
due to atoms passing through periodic boundaries. For chunks with a net
charge the resulting dipole is made position independent by subtracting
the position vector of the center of mass or geometric center times the
net charge from the computed dipole vector.

View File

@ -29,7 +29,7 @@ compute 1 all displace/atom refresh myVar :pre
Define a computation that calculates the current displacement of each
atom in the group from its original (reference) coordinates, including
all effects due to atoms passing thru periodic boundaries.
all effects due to atoms passing through periodic boundaries.
A vector of four quantities per atom is calculated by this compute.
The first 3 elements of the vector are the dx,dy,dz displacements.

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