Compare commits

..

543 Commits

Author SHA1 Message Date
7069b52a44 Merge pull request #1172 from akohlmey/next-patch-release
Patch release 24 October 2018
2018-10-23 18:08:38 -04:00
45f28517ef Merge pull request #1174 from akohlmey/fix-kspace-refactor
Bug fix for Kspace refactoring in USER-INTEL package
2018-10-23 13:33:36 -04:00
fccc26758b Merge pull request #1152 from lammps/doc-adjust2
More Documentation consistency improvements
2018-10-23 13:05:04 -04:00
b6b6270716 fix bug reported in issue #1173 2018-10-23 11:58:00 -04:00
0293dee9b2 patch 24Oct2018 2018-10-23 11:03:51 -04:00
6107f00e9d Merge pull request #1164 from akohlmey/fix-halt-for-minimize
Enable use of fix halt for minimizations
2018-10-23 10:35:26 -04:00
1d38f2d725 Merge pull request #1165 from akohlmey/refactor-kspace-base-class
Refactor kspace base class to have a settings() method
2018-10-23 10:35:12 -04:00
4a5c14f60d Merge pull request #1148 from akohlmey/deprecated-styles
Implement dummy classes for deprecated and removed styles
2018-10-23 10:34:58 -04:00
aa27c8f733 convert double quotes to latex style 2018-10-23 09:17:00 -04:00
527ec61586 Merge pull request #1169 from akohlmey/kokkos-parallel-for-workaround
Workaround for parallel_for() compilation issue with newer GNU compilers
2018-10-22 11:17:47 -04:00
8649081904 fix broken links in manual 2018-10-21 18:39:25 -04:00
c0dd187802 make sure all pictures are includes in epub/mobi files 2018-10-21 18:38:46 -04:00
3661836a3b Merge pull request #1168 from athomps/compute-adf
Created new compute ADF for angular distribution function
2018-10-20 20:57:38 -04:00
76a2a9ab0a Fixed normalization error for ordinate degree 2018-10-20 17:16:47 -06:00
8223f5e0a3 Eliminated another initialization error and tweaked rdf-adf example 2018-10-20 16:46:45 -06:00
07a499fcc1 improve check for missing styles in lammps.book 2018-10-20 10:01:55 -04:00
8aecefe233 fix uninitialized data bug in compute adf 2018-10-20 08:12:19 -04:00
2140caa6f5 add an example for RDF and ADF computation with water molecules 2018-10-20 08:12:02 -04:00
fb6f019a11 correct link to output options 2018-10-20 06:45:57 -04:00
79da210dc4 integrate compute adf into manual build infrastructure 2018-10-20 06:45:28 -04:00
348febdf4b work around for parallel_for() compilation issue with newer compilers
apparently, data items used inside parallel_for() constructs have
rather strict requirements on const-ness, which is enforced by
newer GNU compilers. As a workaround we construct explicit const
copies of those class instances. This closes #1045
2018-10-20 02:54:48 -04:00
0783f8ad2f Added compute_rdf.txt 2018-10-19 18:43:58 -06:00
3a735d15d4 Added compute_rdf.cpp 2018-10-19 18:43:04 -06:00
04a4a29fcf Creatd new compute ADF for angular distribution function 2018-10-19 18:36:11 -06:00
52f02f2bbb Merge pull request #1167 from lammps/create-triclinic-lib
fix triclinic rounding bug for lib interface as well
2018-10-19 19:06:01 -04:00
f82a8493fa Merge pull request #1166 from rbberger/cmake_prevent_src_builds
Add src directory to PreventInSourceBuilds checks
2018-10-19 17:56:25 -04:00
8cd70f7d78 fix triclinic rounding bug for lib interface as well 2018-10-19 15:27:38 -06:00
27a46cec8c Add src directory to PreventInSourceBuilds checks 2018-10-19 17:25:18 -04:00
15de09683e Merge pull request #1162 from lammps/restart2dump
added -restart2dump command-line option
2018-10-19 17:24:17 -04:00
f542590090 Merge pull request #1136 from junghans/cmake_out_source
cmake: prevent in-source build
2018-10-19 17:02:05 -04:00
01c3ab5979 update embedded command line help summary string for new feature 2018-10-19 16:49:06 -04:00
709013be5a harden code against buffer overflows 2018-10-19 16:48:37 -04:00
db32373b32 fix some typos caused by trusting emacs' smart case-preserving replace too much 2018-10-19 16:11:13 -04:00
9d7c4ac5f2 add depreacted kspace style 2018-10-19 16:01:26 -04:00
0ec94b2ad6 replace non-ASCII character 2018-10-19 16:01:13 -04:00
83c830fd8a port kspace refactor to GPU and KOKKOS package 2018-10-19 15:47:00 -04:00
3a4bef351c refactor kspace style in USER-SCAFACOS and fix uninitialized handle bug 2018-10-19 15:32:29 -04:00
da84138475 correct scafacos input example 2018-10-19 15:31:53 -04:00
2f52eee6bf kspace refactor compiles for KSPACE and USER-OMP 2018-10-19 15:11:37 -04:00
80e0dddae0 use min_post_force() method to hook fix halt into minimization 2018-10-19 14:08:25 -04:00
1c994bda46 corrections to fix neb doc page 2018-10-19 09:53:19 -06:00
f5206d2f7b more one-liner in pair_style doc page 2018-10-19 09:53:19 -06:00
9bca5ae607 added one-line pair descriptions 2018-10-19 09:53:19 -06:00
d1f260a765 undo changes to PRD doc from another branch 2018-10-19 09:53:19 -06:00
36a1ca7e72 updates some one-line style defs 2018-10-19 09:53:19 -06:00
5f1c77ced2 tweaks to USER-PTM package doc 2018-10-19 09:53:18 -06:00
dc89bdd924 more changes augmenting lists with USER styles and to core/shell doc pages 2018-10-19 09:53:18 -06:00
a979c6eeec updating files that have lists of command styles 2018-10-19 09:53:18 -06:00
cc6f1be82d first attempt to port fix halt to minimizations 2018-10-19 07:26:49 -04:00
9090fd0255 propagate the kspace change to a the first few kspace styles 2018-10-18 16:31:17 -04:00
7deb1df2b6 split kspace style constructor into plain constructor and settings() method 2018-10-18 16:30:45 -04:00
d9dd80b368 added -restart2dump command-line option 2018-10-18 14:24:48 -06:00
4015b36a1a Merge pull request #1161 from lammps/create-atoms-single
bug fix for create_atoms single remap and triclinic
2018-10-18 13:41:28 -04:00
dcde84eb53 bug fix for create_atoms single remap and triclinic 2018-10-18 11:22:51 -06:00
7bb5821baf add deprecated dump and region styles 2018-10-17 18:13:12 -04:00
2b0e474729 implement deprecated styles for bond, angle, dihedral, and improper 2018-10-17 16:26:20 -04:00
65ebbdada3 add DEPRECATED compute style 2018-10-17 16:05:10 -04:00
b71f530bd0 make default style name for deprecated styles uppercase, so it is considered internal
also consolidate the writeout message across styles into a single convenience function
2018-10-17 16:04:52 -04:00
0ec9b9a71a Merge pull request #1160 from akohlmey/user-ptm-portability
Make USER-PTM compile with MinGW64 for Windows
2018-10-16 14:52:26 -04:00
2273604533 resolve portability issues to windows w.r.t. fixed width integer types 2018-10-16 13:49:06 -04:00
6e99b3d8ff Merge pull request #1159 from wmbrownIntel/user-intel-sf-hybrid
Fix to allow suffix and pair hybrid to work together with USER-INTEL.
2018-10-16 06:09:58 -04:00
bea0a3091d Fix to allow suffix and pair hybrid to work together with USER-INTEL. 2018-10-15 10:25:39 -07:00
7968d2ed22 Merge pull request #1155 from athomps/sna-atom-leakfix2
Fixed a segfault introduced by memory-leak fix (#1125)
2018-10-12 13:01:15 -04:00
382e91cf5b Merge pull request #1156 from wmbrownIntel/user-intel-hybrid
Adding hybrid support to USER-INTEL package + EAM/intel bug fix
2018-10-12 12:35:36 -04:00
ce63a22783 Merge pull request #1157 from wmbrownIntel/user-intel-makefiles
Changes to intel Makefiles to make use of MKL consistent.
2018-10-12 12:32:28 -04:00
00c75ecb74 Merge pull request #988 from valleymouth/granular-kokkos
Kokkos port for GRANULAR
2018-10-12 09:04:36 -06:00
8224c89f93 Revert size_velocity change in atom_vec_dpd_kokkos 2018-10-11 16:38:44 -06:00
a223338b47 Fix hang with Kokkos and USER-DPD examples 2018-10-11 16:32:44 -06:00
8eb74d8fb3 Add missing Kokkos pack/unpack comm vel functions 2018-10-11 13:21:44 -06:00
e5c6b6987a Merge branch 'master' of github.com:lammps/lammps into granular-kokkos 2018-10-11 13:14:25 -06:00
8cbee78725 Changes to intel Makefiles to make use of MKL consistent. 2018-10-11 05:46:40 -07:00
c37deebffa Adding full hybrid support to USER-INTEL package and fixing bug with EAM parameter initialization. 2018-10-11 05:12:00 -07:00
c142288eb3 Fixed a segfault introduced by memory-leak fix 2018-10-10 17:24:14 -06:00
7faa48b4c3 Merge pull request #1154 from stanmoore1/small_fixes
Small fixes
2018-10-10 23:05:21 +02:00
a1266a1a1e Fix compile error with copysign function 2018-10-10 14:19:23 -06:00
7cce002cf9 Makefile fix from the mailing list 2018-10-10 14:18:24 -06:00
2def00d4c9 Add missing files to .gitignore 2018-10-10 14:18:00 -06:00
3d0722b974 Merge branch 'master' of github.com:lammps/lammps into granular-kokkos 2018-10-10 10:43:54 -06:00
747f72aca2 Merge branch 'granular-kokkos' of https://github.com/valleymouth/lammps into granular-kokkos 2018-10-10 09:53:15 +01:00
1b76e14224 Merge pull request #1151 from akohlmey/next-patch-release
update version number for next patch release
2018-10-10 02:20:50 +02:00
9a0c02a845 Merge pull request #1150 from mkanski/compute_pair_multiple_pstyles
Extend compute pair to handle multiple instances of a sub-style in pair style hybrid
2018-10-10 00:48:52 +02:00
70bee26641 update version number 2018-10-09 12:59:12 -04:00
7416e113ff Merge pull request #1147 from akohlmey/fix-omp-intel-neighbor
Resolve neighbor list request conflict with USER-INTEL and USER-OMP
2018-10-09 18:40:41 +02:00
791024586e Merge pull request #1131 from ckadding/master
Add compute_pressure_cylinder to USER-MISC package
2018-10-09 18:40:02 +02:00
962fd1df90 Merge pull request #1146 from jrgissing/maxspecial_restarts
put atom->maxspecial in restarts
2018-10-09 17:55:24 +02:00
dc6123fafc fix stupid typo 2018-10-08 17:26:21 +02:00
3c41295e70 change implementation to be consistent with pair_coeff and remain backward compatible 2018-10-08 17:23:22 +02:00
e7ca200e97 Merge pull request #1149 from akohlmey/doc-adjust-bugfix
correct typo in USER-SMD introduced by doc-adjust PR
2018-10-05 22:21:33 +02:00
8b944e06f0 Small changes in doc file 2018-10-05 21:08:18 +02:00
8960774b16 correct typo in USER-SMD introduced by doc-adjust PR 2018-10-05 14:55:18 -04:00
1e9778b81e Extend compute pair to handle multiple instances of a given pair style 2018-10-05 20:34:12 +02:00
d805796cd7 Merge pull request #1133 from lammps/doc-adjust
Multiple documentation adjustments and corrections from Steve and Axel
2018-10-05 20:20:18 +02:00
0c1ff5ac3e Fixing issues with AtomVecSphereKokkos not correctly handling cases with varying and constant radius. 2018-10-05 17:10:31 +01:00
43ae9656d7 add a "deprecated" command style for flagging future removed commands 2018-10-05 17:23:09 +02:00
61e2cd3f61 avoid requesting threaded neighbor lists that are both threaded via USER-OMP and USER-INTEL 2018-10-05 16:03:11 +02:00
e024658cec Merge branch 'doc_cleanup' of https://github.com/jrgissing/lammps into maxspecial_restarts 2018-10-05 14:15:39 +02:00
17853aef20 modify restart changes, so it stays backward compatible and does not result in unexpected behavior when reading old restarts. also use consistent naming conventions for enum entries 2018-10-05 09:47:47 +02:00
7f8302b65b replace extra_special with maxspecial in restarts 2018-10-04 22:08:43 -06:00
fd20eb93b2 remove listing of extinct special_bonds 'extra' keyword 2018-10-04 21:30:34 -06:00
b16a83cddc Merge pull request #28 from lammps/master
rebase
2018-10-04 21:26:22 -06:00
b02d3b1b94 cosmetic change 2018-10-04 12:24:46 +02:00
a1a9f34c18 pair style deprecated now functional and compatible with hybrid pair styles 2018-10-04 12:18:28 +02:00
c3abf13af1 don't allow hybrid/overlay as hybrid substyle as well 2018-10-04 12:18:01 +02:00
cdea8968c2 Merge pull request #1143 from athomps/semigrand_issue_1139
Fixed sign error on mu for semigrand variant of fix atom/swap
2018-10-03 07:42:56 +02:00
9e9b97231c Fixed sign error on mu for semigrand variant 2018-10-02 16:56:27 -06:00
a549752764 reduce compiler warnings and some more whitespace adjustments 2018-10-02 15:18:15 -04:00
590ab1661e convert more system headers to c++ style 2018-10-02 15:17:11 -04:00
08b135ce6b Apply uniform LAMMPS formatting 2018-10-02 14:54:09 -04:00
a6ba55080f Use MathConst namespace 2018-10-02 14:33:49 -04:00
e3b80e734a remove trailing whitespace 2018-10-02 12:37:13 -04:00
177044cd07 Merge pull request #1142 from stanmoore1/kk_eam
Fix bug in Kokkos EAM
2018-10-02 10:28:51 -06:00
ff7449b29a ensure, that we have no division by zero and add an upper limit for bins 2018-10-02 12:27:05 -04:00
13d3903e8d integrate compute pressure/cylinder into build and README 2018-10-02 11:56:29 -04:00
f81836d605 reformat compute pressure/cylinder docs and integrate it into the manual 2018-10-02 11:51:23 -04:00
57b2f60556 Fix bug in Kokkos EAM 2018-10-02 09:45:13 -06:00
c7c0defa77 Insert a comma 2018-10-02 10:45:43 -04:00
ac658a17fc Update compute_pressure_cylinder.cpp 2018-10-02 10:34:08 -04:00
b5a5270f4a fix typos in compute msd/chunk
as reported by @evoyiatzis the example is incorrect,
but also a mention of the compute a few lines above.
2018-10-02 16:29:18 +02:00
b481af51d6 add pair_style deprecated and some tweaks for fix style 2018-10-02 16:26:20 +02:00
69c3ff560e Clarify restrictions and output 2018-10-02 10:11:57 -04:00
af5ac6bcdf Add NULL pointers to constructor init 2018-10-02 09:55:37 -04:00
89c0655809 Add input validation 2018-10-02 09:46:53 -04:00
3a0cfc1d57 Modifying headers 2018-10-02 09:32:26 -04:00
dba8f9c62b Merge pull request #1137 from dilkins/fast-forward-langevin
Fast-forward Langevin functionality included in USER-MISC package
2018-10-02 14:19:37 +02:00
ca3a64ea3e fully integrate fix ffl in conventional build processing 2018-10-02 11:25:39 +02:00
4b4f7d6ee0 implement conventions for unique links in docs 2018-10-02 11:25:12 +02:00
66bfdd20d4 fully integrate fix ffl docs into the manual system 2018-10-02 11:24:45 +02:00
990a93f9d9 fix typo in example input 2018-10-02 10:58:28 +02:00
d5e71e7099 enumeration of flip types 2018-10-02 10:41:55 +02:00
14251948f3 LAMMPS coding conventions 2018-10-02 10:18:40 +02:00
799ffc58d9 C++ system headers included and enumeration of flip_int used;documentation corrected 2018-10-01 17:13:56 +02:00
a333fdac30 correct some documentation issues with the recently added USER-PTM package 2018-09-28 18:02:13 +02:00
ffbc33bea5 Merge branch 'master' into doc-adjust 2018-09-28 17:07:51 +02:00
12d2dd201a update description of RPM based LAMMPS packages with info from @junghans
this fixes #1135
2018-09-28 15:47:56 +02:00
497af2ebb9 document eam/cd/old 2018-09-28 13:44:42 +02:00
21c59d4cf0 Fast-forward Langevin functionality included 2018-09-28 12:46:11 +02:00
4fe23c3854 Merge pull request #1120 from pmla/polyhedral-template-matching
Added compute for Polyhedral Template Matching
2018-09-28 12:26:06 +02:00
1de76c33fd Merge pull request #1122 from oywg11/master
collecting small changes for potential #839
2018-09-28 12:22:29 +02:00
2da999d864 cmake: prevent in-source build 2018-09-27 12:18:43 -06:00
e4d4f3a775 Merge pull request #1132 from martok/meam-init
Small fixes to MEAM/C
2018-09-27 19:40:05 +02:00
f58aa05e02 remove references to USER-OMP version of pair style nb3b/harmonic 2018-09-27 07:44:54 -04:00
9ae6cb5c4f add recently renamed file to purge list 2018-09-27 07:28:44 -04:00
f23b638d47 include USER-PTM into git management 2018-09-27 07:23:38 -04:00
e1627caf04 integrate compute ptm/atom and USER-PTM into the docs 2018-09-27 07:20:03 -04:00
5481e99331 remove broken USER-OMP pair style 2018-09-27 06:52:20 -04:00
91286ddb0e remove references to fix ave/spatial and ave/spatial/sphere 2018-09-27 06:51:30 -04:00
cf0f3b6b61 Update manual for renamed or removed files 2018-09-27 06:23:59 -04:00
8e7ddff6dc reverse order in which pdf files are created.
Creating Developer.pdf first and Manual.pdf later makes
any warnings from the latter step, e.g. about missing
files in doc/src/lammps.book more visible.
2018-09-27 06:15:03 -04:00
7987f3319e remove outdated references to linux rpms on rpm.lammps.org 2018-09-27 06:05:26 -04:00
b07adbf98c Update installing/running LAMMPS on ubuntu for daily binary 2018-09-27 05:49:43 -04:00
a9b8a6521d more mis-matches between doc pages and src files 2018-09-25 13:18:54 -06:00
5a6226caa5 jive src headers with doc page entries and example scripts 2018-09-25 10:50:43 -06:00
37fe03c0ab escape backslash in bibtex string for correct citeme output 2018-09-25 09:19:09 -04:00
93e56c113a add USER-PTM to build system 2018-09-25 09:18:11 -04:00
e5ddc909ad Fully zero-init MEAM data structure 2018-09-25 14:19:26 +02:00
aefdcd0f94 Silence some warnings 2018-09-25 11:14:42 +02:00
36c5fb2ec6 update formatting 2018-09-24 10:37:52 -04:00
918030bf1c Merge branch 'master' of https://github.com/oywg11/lammps into ilp-update 2018-09-24 10:29:08 -04:00
de010551cf Merge pull request #1128 from akohlmey/complain-reax-meam
Warn more loudly about REAX and MEAM going away soon
2018-09-23 10:35:28 -04:00
6e546ef5af added ptm namespace 2018-09-20 14:20:58 -04:00
dd39bc44ee Add compute_pressure_cylinder documentation 2018-09-20 09:16:58 -04:00
5aeba421bb Add compute_pressure_cylinder .cpp and .h files 2018-09-20 09:15:43 -04:00
37201beda5 Fixed folder structure 2018-09-20 00:04:07 -04:00
c705e8d0e6 renamed files for LAMMPS build system compatibility 2018-09-19 20:46:48 -04:00
cda89283aa warn more loudly about REAX and MEAM going away soon 2018-09-18 22:13:17 -04:00
c2758a0b55 Merge pull request #1126 from lammps/patch-18-sep-2018
patch 18Sep18
2018-09-18 21:50:30 -04:00
9c58834af2 Merge pull request #1127 from akohlmey/reax-bonds-typo
fix typo in gzip support for fix reax/bonds
2018-09-18 18:05:57 -04:00
4bfac61b1a fix typo in gzip support for fix reax/bonds 2018-09-18 17:41:02 -04:00
8dff5fd5d7 patch 18Sep18 2018-09-18 17:24:10 -04:00
e9ed95c2db Merge pull request #1108 from akohlmey/fix-sprintf-buffer-overflows
Avoid more buffer overflows due to using snprintf() on fixed size buffers
2018-09-18 16:57:10 -04:00
33e33048bf Merge pull request #1125 from athomps/sna-atom-leakfix
The sna*/atom computes were not destroying SNA objects. Fixed.
2018-09-18 15:50:17 -04:00
d753c51c45 The sna*/atom computes were not destroying SNA objects. Fixed. 2018-09-17 19:44:32 -06:00
e2293cc7df Merge pull request #1119 from lammps/doc-clarify
doc page clarifications
2018-09-17 06:10:25 -04:00
0c287a55cd Merge pull request #1092 from RomainVermorel/master
New stress/mop and stress/mop/profile computes for USER-MISC
2018-09-17 05:16:42 -04:00
5f6b5c5400 fix typo 2018-09-17 05:11:59 -04:00
494b149272 fix typo 2018-09-17 05:10:56 -04:00
39ee7876c4 fix typo 2018-09-17 05:09:23 -04:00
8fa80081df fix typo 2018-09-17 05:08:22 -04:00
e14db00d52 doc link adjustments 2018-09-14 17:31:33 -06:00
7054800932 Merge branch 'master' into master 2018-09-12 22:13:43 +03:00
01beaf38a1 small modifications for potential #839 2018-09-12 21:51:57 +03:00
83b6d6ae96 small modifications of potential #839 2018-09-12 17:47:16 +03:00
6ae4bdead5 Merge pull request #1089 from lammps/spread
2 new computes: chunk/spread/atom and reduce/chunk
2018-09-11 21:21:02 -04:00
1f5885fc45 Merge pull request #1099 from jrgissing/bond/react-efficient-competing_reactions
bond/react: efficient competing reactions
2018-09-11 21:18:41 -04:00
92b508f14c Merge pull request #1097 from lammps/localvars
add variable option to compute bond/angle/dihedral local
2018-09-11 21:18:15 -04:00
b7c75b6c4e Added compute for Polyhedral Template Matching 2018-09-11 16:41:44 -04:00
c3ece2f086 typo in fix relax/box doc page 2018-09-11 12:44:35 -06:00
7f328d3f79 cite a good book on SLLOD thermostatting for molecular systems 2018-09-11 11:49:46 -06:00
983e8bb110 doc page clarifications 2018-09-11 11:36:37 -06:00
0305cca1df make certain that *_freq flags are initialized. use -1 instead of 0 to avoid division by zero 2018-09-10 22:47:45 -04:00
3d2c731709 avoid class initialization order warnings 2018-09-10 22:32:56 -04:00
02b653c0ce correct end of itemized list to be compatible with txt2rst conversion 2018-09-10 22:22:42 -04:00
a33f45f176 Merge pull request #1112 from akohlmey/rename-cdeam-omp
Rename files for pair style eam/cd/omp in USER-OMP
2018-09-10 15:16:10 -04:00
a903e64947 Merge pull request #1114 from junghans/cmake_eigen3
cmake: fix Eigen3 detection
2018-09-10 10:45:20 -04:00
46b87518b8 cmake: use NO_MODULE for Eigen3 2018-09-10 00:35:55 -04:00
45682f8695 Merge pull request #1115 from junghans/cmake_globfix
cmake: fix globbing of emacs files
2018-09-09 22:15:44 -04:00
2faa34b2be Merge pull request #1105 from rbberger/truncate-file-path
Avoid buffer overflow during errors with long filenames
2018-09-09 01:30:14 -04:00
075d366051 Merge pull request #1116 from akohlmey/correct-doc-build
Correct multiple issues in manual build
2018-09-09 01:28:29 -04:00
3b073de357 make it less likely to have people get confused by Eigen3_DIR 2018-09-09 01:21:37 -04:00
6f379f54d6 Merge pull request #1117 from lammps/doc-tweak
small doc page changes, format and content on doc page tarballs
2018-09-07 23:48:46 -04:00
e325c78628 Merge pull request #1101 from Pakketeretet2/bugfix-pair-morse-smooth-linear
Bugfix pair morse smooth linear
2018-09-07 23:38:16 -04:00
b488f1072e recent package links 2018-09-07 14:22:38 -06:00
0384ef8967 more tweaks to client/server doc pages 2018-09-07 14:00:39 -06:00
25907c856e small doc page changes, format and content on doc page tarballs 2018-09-07 09:56:03 -06:00
861a7acdf0 cmake: fix globbing in some more places 2018-09-07 06:40:06 -06:00
f7cdf2a7b8 Merge pull request #26 from lammps/master
rebase
2018-09-06 21:37:52 -06:00
aea148a86a Merge pull request #1100 from rbberger/info-command-refactoring
Avoid unnecessary sorting in print_columns
2018-09-06 22:55:56 -04:00
dd64c063cf various fixes for the manual to address breakage from merging MESSAGE and USER-SCAFACOS packages 2018-09-06 22:28:20 -04:00
44fcdc4024 update reference examples with versions that do not vary by MPI rank count 2018-09-06 21:20:47 -04:00
947f574503 Merge branch 'master' into compute_mop
# Conflicts:
#	cmake/CMakeLists.txt
2018-09-06 21:13:42 -04:00
5c4434b283 Merge pull request #1113 from akohlmey/more-codeowners
Expand the list of code owners for more automated review requests
2018-09-06 20:59:07 -04:00
8f8aee65d2 cmake: fix globbing of emacs files
Done by: sed -i '/GLOB/s@/\*\.@/[^.]*.@g' CMakeLists.txt
2018-09-06 14:52:49 -06:00
d7b00f86f8 cmake: fix Eigen3 detection
For some reason FindEigen3.cmake defines all cap. variables, i.e.
Eigen3_FOUND -> EIGEN3_FOUND
2018-09-06 14:18:31 -06:00
efd582fb21 update list of code owners for automatic review requests. started assigning core files 2018-09-06 13:13:20 -04:00
b915716b60 fix inconsistency resulting from error in auto-replace macro 2018-09-06 12:27:10 -04:00
b3079f3aec rename files and classes for pair style eam/cd/omp to follow the rename of the non-threaded classes 2018-09-06 12:07:25 -04:00
84657f1531 final pass at sprintf() buffer overflow prevention. also fix typo in previous commit 2018-09-06 12:00:04 -04:00
db510af582 more fixes for potential buffer overflows by using snprintf() instead of sprintf() 2018-09-06 11:32:44 -04:00
9c27548a5c more replacing of sprintf() with snprintf() 2018-09-06 10:45:48 -04:00
4d52cb9245 more buffer overflow avoiding through using snprintf() 2018-09-06 09:57:43 -04:00
fbc1c1cfdd replace fixed buffer sprintf() with straight fprintf() 2018-09-06 09:57:10 -04:00
ca04e8f31c use snprintf() in a bunch of cases to avoid overflowing fixed size buffers with unchecked strings 2018-09-06 02:57:53 -04:00
ba1c5d3191 Avoid buffer overflow during errors with long filenames 2018-09-05 21:39:09 -04:00
0b951840f2 Merge pull request #1103 from rbberger/cmake-fix-user-omp
cmake: add missing fix_omp.h and fix_omp.cpp to compilation
2018-09-05 21:27:24 -04:00
95c3d2fc8e Merge pull request #1051 from stanmoore1/data_dup
Add data duplication option to the KOKKOS package
2018-09-05 17:09:09 -06:00
ad498811b1 cmake: add missing fix_omp.h and fix_omp.cpp to compilation 2018-09-05 16:04:35 -04:00
510e09f4ef patch 5Sep18 2018-09-05 13:39:18 -04:00
5003354fba Replaced a tab with whitespace. 2018-09-05 11:42:48 -04:00
9b38a5b359 Replaced gpu Makefile with the one from upstream so as not to delete it. 2018-09-05 11:39:41 -04:00
1c8feed69f Removed gpu makefile from wrong branch. 2018-09-05 11:38:04 -04:00
84de0d38ea Replaced files with those from upstream. 2018-09-05 11:34:07 -04:00
c192236a7e Commit before switching to old master. 2018-09-05 11:28:06 -04:00
779f1bd0b1 Fixes a bug in pair_morse_smooth_linear where the cutoff was not properly initialized. 2018-09-05 11:27:10 -04:00
a28990ed8d Merge pull request #989 from rhalver/ScaFaCoS
[Feature Contribution] Scafacos
2018-09-05 11:24:13 -04:00
0c92c22755 moved contents of USER-MOP package to USER-MISC as suggested by @sjplimp 2018-09-05 10:56:12 -04:00
4a5e28af81 Avoid unnecessary sorting in print_columns
std::map is a sorted associative container. We don't need to
first copy it into a vector and sort that one.
print_columns has been refactored as a template function and
makes use of this property.
2018-09-05 10:35:47 -04:00
d3d16882ca remove note for Rene 2018-09-05 08:12:19 -06:00
ae7b18fb77 only one call to extract needed 2018-09-05 00:11:50 -06:00
efd81a2854 Merge branch 'master' into bond/react-efficient-competing_reactions 2018-09-04 22:34:04 -06:00
a5f7b418de bond/react: efficient competing reactions 2018-09-04 22:06:49 -06:00
09ef2bc829 Merge pull request #1093 from rbberger/cmake-fixes
Collection of CMake fixes
2018-09-04 21:51:47 -04:00
f8b8ebed5b Merge pull request #1098 from junghans/cmake_testing
cmake: only add tests if exe is build
2018-09-04 21:50:23 -04:00
ff2e13e063 Merge branch 'master' into ScaFaCoS 2018-09-04 21:35:46 -04:00
8608b4f93c Remove extra libm in LAMMPS_LINK_LIBS 2018-09-04 21:31:08 -04:00
db7c2549d0 cmake: inject with-pic into Scafacos 2018-09-04 17:05:59 -06:00
037420b611 cmake: only add tests if exe is build 2018-09-04 14:59:30 -06:00
bcecc0389e add variable option to compute bond/angle/dihedral local 2018-09-04 14:48:44 -06:00
5edff5d970 Merge pull request #1095 from rbberger/cmake-add-core-tests
Add core tests to CMake
2018-09-04 16:28:26 -04:00
af4b2b9354 Add LAMMPS_TESTING_SOURCE_DIR and LAMMPS_TESTING_GIT_TAG options 2018-09-04 15:37:32 -04:00
842136afc8 Add core tests to CMake 2018-09-04 12:12:49 -04:00
990f733d22 Merge pull request #1091 from akohlmey/less-compiler-warnings
Collected diverse small changes
2018-09-04 10:30:04 -04:00
f18f12d1a6 Fix NETCDF include and libs in CMake 2018-09-04 09:15:00 -04:00
a6dfab6f27 recover some const'ness in Domain class, that was lost when merging MESSAGE package. fixes lib/atc compilation issue 2018-09-04 09:13:22 -04:00
1d3116d7c2 Merge branch 'master' into less-compiler-warnings 2018-09-04 08:59:12 -04:00
cb4ffaf95c update docs and references for name changes in USER-MOP package, remove obsoleted files 2018-09-04 08:42:32 -04:00
c9cf3fba8f Merge pull request #1013 from lammps/cslib
new MESSAGE package for client/server/coupling
2018-09-04 08:29:15 -04:00
a797a0d193 changed computes names to stress/mop and stress/mop/profile 2018-09-04 14:02:19 +02:00
0af80bbbe0 Merge pull request #24 from lammps/master
rebase
2018-09-03 21:44:22 -06:00
f6f4b58167 add parallel reference output 2018-09-03 23:42:52 -04:00
7b423c6d4b integrate USER-MOP package into build and documentat system. apply latest LAMMPS programming style conventions 2018-09-03 23:37:25 -04:00
ba4ff7744b new USER-MOP package submitted 2018-09-03 16:26:36 +02:00
9e03bf7db9 make USER-DIFFRACTION input example fully consistent with output and remove additional input file 2018-09-01 19:12:46 -04:00
754036462f Merge pull request #1088 from junghans/pkgconfig_version
liblammps.pc: add lammps version
2018-09-01 11:40:56 -04:00
5f0423b97d change -mpi to -mpicolor 2018-08-31 17:04:27 -06:00
a299a7fa28 Merge branch 'cslib' of github.com:lammps/lammps into cslib 2018-08-31 16:37:19 -06:00
78301e5e93 Merge branch 'master' into cslib 2018-08-31 16:30:28 -06:00
f66ce801ad final testing 2018-08-31 16:21:45 -06:00
bc62002b1c units and doc changes 2018-08-31 16:05:24 -06:00
a989d04d09 think this flag should not be set by this fix 2018-08-31 14:17:36 -06:00
e3ce702eec doc adjust 2018-08-31 13:53:02 -06:00
c4c5f9a32e 2 new computes: chunk/spread/atom and reduce/chunk 2018-08-31 13:44:49 -06:00
41f0951d0c liblammps.pc: add lammps version 2018-08-31 10:09:03 -06:00
8f5512eafe patch 31Aug18 2018-08-31 09:49:35 -06:00
4f30842ac4 Merge pull request #1086 from junghans/find_lammps_cmake
cmake: add FindLAMMPS.cmake.in
2018-08-31 09:32:28 -06:00
3f07adb765 Merge branch 'master' of https://www.github.com/lammps/lammps into port-enforce2d-kokkos 2018-08-30 11:53:05 -04:00
b0f5400d52 Add utility function to determine LAMMPS version in CMake 2018-08-29 16:12:16 -04:00
db180209b3 FindLAMMPS.cmake: add LAMMPS_API_DEFINES 2018-08-29 13:20:25 -06:00
47b8a116a6 liblammps.pc: fixed a typo 2018-08-29 13:20:04 -06:00
054abe280e squash some more compiler warnings 2018-08-29 14:55:36 -04:00
499ffa198d cmake: change too generic LIB_SUFFIX to LAMMPS_LIB_SUFFIX 2018-08-29 11:31:28 -06:00
c5861307f6 cmake: add FindLAMMPS.cmake.in 2018-08-29 10:58:09 -06:00
447a6c3373 Merge pull request #1085 from akohlmey/silence-user-cgsdk-warnings
Silence  USER-CGSD warnings
2018-08-29 07:50:11 -06:00
40e7ea83a3 Merge pull request #1084 from rbberger/cmake-and-warning-suppression-bugs
Fixes various compilation issues
2018-08-29 07:49:52 -06:00
ed61ed5b56 Merge pull request #1082 from jrgissing/bond/react-competing-reactions
Bond/react: treatment of simultaneous competing reactions
2018-08-29 07:49:25 -06:00
a8f1fe8f96 Merge pull request #1078 from junghans/manpage
added manpage from debian package
2018-08-29 07:48:48 -06:00
c61f9248f4 Merge pull request #987 from sergeylishchuk/master
Added Axilrod-Teller manybody potential
2018-08-29 07:48:22 -06:00
0860b9e674 Build cslib static or as shared 2018-08-29 07:52:16 -04:00
a7e9076bc0 Rename to libcsmpi/libcsnompi like in Makefile 2018-08-29 07:30:53 -04:00
4c32a551bd Rename to libcs.a 2018-08-29 07:24:38 -04:00
6ea33e3e89 Fix typo and use ZMQ stubs in CMake when necessary 2018-08-29 06:51:20 -04:00
944574232e Merge branch 'cslib' of github.com:lammps/lammps into cslib 2018-08-28 17:09:24 -06:00
83d453e78b updates to MD protocol and examples 2018-08-28 17:08:52 -06:00
30d45e6773 Ensure MESSAGE files are added to CMake compilation 2018-08-28 15:22:43 -04:00
03654b2b7f rename define to better fit LAMMPS' logic 2018-08-28 15:19:07 -04:00
eb850c5326 silence compiler warning about unused static function in shared include file 2018-08-28 15:17:31 -04:00
cb318f55e9 Add missing or lost cmake changes 2018-08-28 10:11:16 -04:00
a404da02d5 Use LMP_UNUSED_PARAM macro instead of existing workarounds 2018-08-27 22:36:38 -04:00
71bc72ec13 formatting: add additional space to avoid bad syntax highlights 2018-08-27 22:13:43 -04:00
02f131c544 Fix USER-OMP compilation with CMake 2018-08-27 22:11:15 -04:00
a103bd4de2 Correct compilation error introduced by #1077 2018-08-27 21:25:48 -04:00
aac238503b Add missing LMP_USER_OMP definition with CMake 2018-08-27 21:23:47 -04:00
a2ec8d3f21 Merge pull request #1083 from junghans/cmake_fix_potential_location
cmake: fix install of potential files
2018-08-27 17:15:47 -06:00
62a1dcba55 Merge pull request #1081 from junghans/cmake_sort_packages
cmake: sort package in header
2018-08-27 17:15:17 -06:00
41fff2979e Merge pull request #1077 from dschwen/warnings_1076
Fix compile warnings when building with pedantic flags
2018-08-27 17:14:34 -06:00
31ed3f7178 more changes to insure each triplet IJK computed exactly once 2018-08-27 17:09:59 -06:00
dbc0f0eea0 Ensure generated style headers are sorted 2018-08-27 12:17:57 -04:00
5189bc4f4b cmake: fix install of potential files
Add an '/' at the end avoids the double potentials/ subdir.
2018-08-26 07:57:57 -06:00
b05aa62c49 correctly exclude atoms from simultaneous competing reactions 2018-08-25 15:46:48 -06:00
c471902db1 Merge pull request #23 from lammps/master
rebase
2018-08-24 22:23:36 -06:00
c477129165 real <-> metal unit conversion factors 2018-08-24 16:17:07 -06:00
9ed6d0a9d1 cmake: sort package in header 2018-08-24 15:27:15 -06:00
38a998c03c Fix misc. warnings (#1076) 2018-08-24 14:58:28 -06:00
0661a800a7 lammps.1: add options block 2018-08-24 14:57:49 -06:00
c01fb5f701 new loop structure in pair ATM 2018-08-24 14:33:06 -06:00
d8b087aeb4 docs for MD protocol enhancements 2018-08-24 11:11:34 -06:00
735ec9de0b more general MD c/s protocol 2018-08-24 10:53:05 -06:00
92a4dc25b1 Fix unused params in packages (#1076) 2018-08-24 10:42:08 -06:00
19976bb94f Fixup conditionally used params (#1076) 2018-08-24 10:42:08 -06:00
7a2cb10864 Remove unused variable (#1076) 2018-08-24 10:42:08 -06:00
fd6792c6be Fix unused params in GRANULAR (#1076) 2018-08-24 10:42:08 -06:00
1abeec3a43 Fix initialization order (#1076) 2018-08-24 10:42:08 -06:00
33d5fe457c re-merge with current master 2018-08-24 09:57:08 -06:00
44bda245a6 resolution of cutoff issues 2018-08-24 09:36:39 -06:00
413fdbbf23 Merge pull request #1080 from junghans/as-needed-fix
cmake: fix link issue with --as-needed
2018-08-24 08:16:50 -06:00
1c4d68a92e Merge pull request #1074 from akohlmey/more-doc-fixes
Add conversion from ePUB to MOBI e-book format to doc Makefile
2018-08-24 08:16:01 -06:00
bd1e89ac4c lammps.1: use -in syntax 2018-08-24 06:55:59 -06:00
e1ef158b36 cmake: rename manpage when installing 2018-08-24 06:52:50 -06:00
9b4f7090d3 cmake: install manpage, too 2018-08-23 19:19:03 -06:00
3622cb9b28 lammps.1: some update 2018-08-23 19:16:41 -06:00
a10bb4b96f cmake: fix link issue with --as-needed 2018-08-23 15:02:36 -06:00
9eacabd821 added manpage from debian package 2018-08-23 14:43:31 -06:00
e9bc939098 Fix more unused parameter warnings (#1076) 2018-08-23 12:22:44 -06:00
7238d4af94 Fix logic warnings (#1076) 2018-08-23 10:08:36 -06:00
2eeb8cecb2 removed left-over debug messages 2018-08-23 10:08:31 -06:00
9388ed8cd0 Add build files and clang-format config to gitignore (#1076) 2018-08-23 09:25:20 -06:00
dd923edf15 Fix unused parameters in memory.h (#1076) 2018-08-23 09:20:02 -06:00
59d3af44f2 use c++ style system headers 2018-08-23 10:27:51 -04:00
a04008cdfd fully integrate atm pair style into manual 2018-08-23 10:27:40 -04:00
648d8c3d2a adapt docs to refactored manual 2018-08-23 10:15:17 -04:00
c5d3274222 restore files 2018-08-23 10:13:06 -04:00
4f36f077ff whitespace cleanup 2018-08-23 10:08:36 -04:00
929185da07 Merge branch 'master' into axilrod-teller
# Conflicts:
#	cmake/CMakeLists.txt
#	doc/src/Commands.txt
#	doc/src/Commands_bond.txt
#	doc/src/Howto.txt
#	doc/src/Howto_bioFF.txt
#	doc/src/Howto_coreshell.txt
#	doc/src/Howto_couple.txt
#	doc/src/Howto_diffusion.txt
#	doc/src/Howto_dispersion.txt
#	doc/src/Howto_granular.txt
#	doc/src/Howto_library.txt
#	doc/src/Howto_multiple.txt
#	doc/src/Howto_replica.txt
#	doc/src/Howto_restart.txt
#	doc/src/Howto_temperature.txt
#	doc/src/Howto_tip4p.txt
#	doc/src/Intro.txt
#	doc/src/Intro_authors.txt
#	doc/src/Intro_features.txt
#	doc/src/Intro_nonfeatures.txt
#	doc/src/Manual.txt
#	doc/src/Manual_version.txt
#	doc/src/Packages.txt
#	doc/src/Packages_details.txt
#	doc/src/Packages_standard.txt
#	doc/src/Packages_user.txt
#	doc/src/Section_start.txt
#	doc/src/Speed.txt
#	doc/src/Speed_compare.txt
#	doc/src/Speed_gpu.txt
#	doc/src/Speed_intel.txt
#	doc/src/Speed_kokkos.txt
#	doc/src/Speed_measure.txt
#	doc/src/Speed_omp.txt
#	doc/src/Speed_opt.txt
#	doc/src/Speed_packages.txt
#	doc/src/Speed_tips.txt
#	doc/src/fix_deform.txt
#	doc/src/fix_external.txt
#	doc/src/fix_property_atom.txt
#	doc/src/lammps.book
#	doc/src/neb.txt
#	doc/src/pair_eam.txt
#	doc/src/prd.txt
#	doc/src/run_style.txt
#	doc/src/temper.txt
#	src/version.h
2018-08-23 10:06:47 -04:00
440338d769 last round of spelling fixes 2018-08-22 22:35:35 -04:00
af35c3bcca atomID -> atom-ID 2018-08-22 22:28:53 -04:00
c0d9d96e09 better help message in make file 2018-08-22 22:24:51 -04:00
0cd71ee582 more false positives 2018-08-22 22:18:35 -04:00
b00046fd34 fix typo 2018-08-22 22:18:27 -04:00
4b2629d8ba recompile/recompute/reinit -> re-compile/re-compute/re-init 2018-08-22 22:18:16 -04:00
193f46dd9f spelling fix 2018-08-22 22:04:03 -04:00
96bde51ae4 autodetect -> auto-detect 2018-08-22 22:03:53 -04:00
683c87347c neighborlist -> neighbor list 2018-08-22 22:02:24 -04:00
fe6debfe9a precompiled -> pre-compiled 2018-08-22 22:02:01 -04:00
9a8c09288f use Hyper-Threading consistently 2018-08-22 21:54:41 -04:00
eca0487daf subdomain -> sub-domain 2018-08-22 21:50:56 -04:00
4278a284e4 fix one more broken link 2018-08-22 21:48:42 -04:00
5da714bcc8 fix another source of broken links inserted into processed files 2018-08-22 21:33:40 -04:00
2d6d635ce0 update list of false positives 2018-08-22 21:30:40 -04:00
e632acec29 fix a bunch more spelling errors 2018-08-22 21:30:21 -04:00
1bd5626140 fix some more spelling issues 2018-08-22 20:43:35 -04:00
ffb1a9c46a update link in lammps theme for sphinx 2018-08-22 20:36:01 -04:00
9e37ea16ac fix some speelink ehrrors 2018-08-22 20:35:35 -04:00
c8ac88dd87 update link in LAMMPS theme for Sphinx 2018-08-22 19:46:49 -04:00
0e292b397f even more broken links detected by ePUB to MOBI conversion 2018-08-22 19:41:44 -04:00
01fe356904 first version of scafacos.h without the inclusion of the ScaFaCoS header 2018-08-22 17:18:36 -06:00
d5089858bd add support for the conversion of ePUB to MOBI (compatible with Kindle) 2018-08-22 19:17:21 -04:00
357ffef09c fix some more broken links detected by ebook conversion 2018-08-22 19:16:36 -04:00
2aa4770e0d correct link in AtC html docs 2018-08-22 19:16:11 -04:00
4074c4c67f correct some more broken or outdated links 2018-08-22 19:08:07 -04:00
a1098d5796 fix broken and inconsistent links in the manual 2018-08-22 18:45:32 -04:00
8930a88e99 enrich the AIMD interface 2018-08-22 15:12:52 -06:00
fd56124a94 corrected remap call and logic for check if correct solver / tolerance combinations are set 2018-08-22 14:17:21 -06:00
03b880a31c more doc page updates 2018-08-22 11:42:41 -06:00
4e13ce1d25 add back in MESSAGE package info in CMakeLists.txt 2018-08-22 11:21:14 -06:00
89a3670fb5 merge master into cslib branch, update docs 2018-08-22 11:19:55 -06:00
c4b55385e2 doc updates 2018-08-22 10:40:39 -06:00
cb8482b0e6 another doc change 2018-08-22 10:22:51 -06:00
a9fb8636ad doc page updates and changed domain->remap() call 2018-08-22 09:52:44 -06:00
9a15d0bd83 Merge branch 'master' into scafacos 2018-08-22 09:25:29 -06:00
f466c64071 enable merge to current GH master 2018-08-22 09:21:54 -06:00
bfd711ad12 fixed missing initialization of xpbc as well as deallocation in constructor 2018-08-21 17:29:38 -06:00
c23534019c fixed typo in example file name 2018-08-21 17:28:42 -06:00
3573970e4a fixed double definition, removed virial check for p3m and removed unused function definition Scafacos::pack... 2018-08-21 17:04:52 -06:00
fc7d9ff558 apply PBC to coords passed to scafacos 2018-08-21 11:12:21 -06:00
cca1e0a399 Merge branch 'master' into granular-kokkos 2018-08-20 22:02:41 -04:00
937d4707dc proposed SJP changes for 2nd cutoff_triple 2018-08-20 15:03:21 -06:00
f8e6e4275a Merge branch 'master' of https://www.github.com/lammps/lammps into port-enforce2d-kokkos 2018-08-20 15:12:11 -04:00
e0fc050bf4 Changes to linux makefile. 2018-08-20 15:12:05 -04:00
781ddc07c7 update to CSlib website link 2018-08-13 15:29:28 -06:00
9765a9a430 Implementing forward/border comm in Kokkos. 2018-08-13 16:03:23 +01:00
165fa01a97 Cleanup 2018-08-10 14:23:51 -06:00
8f665a5a0f Update Kokkos docs for data duplication 2018-08-10 13:46:03 -06:00
6f1986a8f1 Small tweaks to Kokkos EAM 2018-08-10 13:10:02 -06:00
eb4d586493 Remove duplicate if test in fix_qeq_reax_kokkos 2018-08-10 12:53:27 -06:00
9f058f19bc Deallocate duplicated memory 2018-08-10 12:49:02 -06:00
44d7c79fdc Merge branch 'master' of https://github.com/lammps/lammps into reax_dup 2018-08-10 12:33:28 -06:00
12ecc45b6a Add data duplication to pair_snap_kokkos 2018-08-10 12:30:58 -06:00
ebc0abbb8d Add data duplication to pair_eam_kokkos variants 2018-08-10 12:30:37 -06:00
faa21a0591 Add data duplication to pair_sw_kokkos 2018-08-10 12:30:17 -06:00
d9fb37e25e Add data duplication to pair_tersoff_kokkos and variants 2018-08-10 12:30:03 -06:00
120fdbb9fc Add data duplication to pair_eam_kokkos 2018-08-10 10:53:22 -06:00
b0183de7ca Merge branch 'master' into reax_dup 2018-08-09 17:11:26 -06:00
e08aaa7e39 added examples for P3M with ScaFaCoS 2018-08-08 15:03:47 -06:00
2a5e550bda updated log files 2018-08-08 15:02:19 -06:00
fc93a79fdd updated to support ScaFaCoS 1.0.1 2018-08-08 14:05:28 -06:00
7f5476b408 removed deprecated log files (will be replaced with more current ones) 2018-08-08 14:04:41 -06:00
64cd37b6ed Merge branch 'master' of https://www.github.com/lammps/lammps into port-enforce2d-kokkos 2018-08-08 11:56:28 -04:00
76ad2b35a9 Merge remote-tracking branch 'origin/master' into ScaFaCoS 2018-08-08 09:53:32 -06:00
74633ce28f fixed merge conflict 2018-08-08 09:53:27 -06:00
48fd8b46ee cleaned documentation, added p3m entry for allowed tolerance type 2018-08-07 15:04:37 -06:00
eb86ec3eea added support for p3m, added check for compatible tolerance / method combinations (should they not be caught by ScaFaCoS itself) 2018-08-07 15:03:48 -06:00
cdde51d8af fixed example so that P3M also works, changed tolerance type in the FMM example 2018-08-07 14:29:04 -06:00
a944d1c913 fixed missing REQUIRED and introduced the compilation of internal sub-libraries (FFTW,PFFT,PNFFT) 2018-08-07 14:26:53 -06:00
bf2a942f36 Merge branch 'master' into reax_dup 2018-08-07 13:18:45 -06:00
ba693a74be Add contribute method to pair_table_kokkos 2018-08-07 12:27:32 -06:00
0a27b7065b bug fixes: ScaFaCoS returns virial as 9-value array, requires copies to Lammps 6-value array; fixed error in compuation of per-atom energy calculation 2018-08-06 16:01:39 -06:00
953b283773 updated URL for tarball download 2018-08-06 15:59:46 -06:00
b97195d48f CMake: download ScaFaCoS, compile and link it - required resorting, as Fortran MPI is required 2018-08-06 15:58:53 -06:00
4d75d2d611 more changes to ATM source and doc file 2018-08-06 20:49:05 +01:00
c1dffe40dc Merge branch 'master' of https://www.github.com/lammps/lammps into port-enforce2d-kokkos 2018-08-06 10:25:22 -04:00
446a8da8e7 Commit before merge. 2018-08-06 10:25:12 -04:00
94bf221258 implemented checks for unsupported solvers 2018-08-03 11:31:50 -06:00
e8774dce97 removed thread restriction on make command, should make the building process faster 2018-08-03 11:31:11 -06:00
463e34cef5 Merge remote-tracking branch 'origin/master' into HEAD 2018-08-03 08:13:12 -06:00
cdd85b0749 Merge branch 'reax_dup' of ssh://github.com/stanmoore1/lammps into reax_dup 2018-08-03 07:37:49 -06:00
3e962c9729 Update from master 2018-08-03 07:37:18 -06:00
b2d1332d46 change proc count to color for MPI_Comm_split 2018-08-02 14:47:20 -06:00
efaebe0eb0 READMEs for USER-SCAFACOS completed 2018-08-02 13:44:12 -06:00
5412204ff7 Merge branch 'master' into granular-kokkos 2018-08-02 10:11:50 +02:00
a8f0200fe9 Install.py works on dummy tar-ball 2018-07-31 13:33:10 -06:00
ac0ab4ba34 changed CMake file to require pkg_config for ScaFaCoS and removed Fortran/C dependencies 2018-07-31 13:31:50 -06:00
ae04fd0bea fixed error: if no particles are on a process, the arrays for efield and epot were not allocated, leading to segfaults; shifted the parameter output to after the tuning step, so if the values are changed, the changed values are displayed 2018-07-31 09:48:59 -06:00
649d0167c8 sorted out restart 2018-07-27 10:41:01 +01:00
ed96958915 Merge branch 'master' of https://github.com/sergeylishchuk/lammps 2018-07-26 11:56:41 +01:00
a2303e5a15 more changes to ATM source and doc file 2018-07-26 11:54:04 +01:00
7cae80b6d8 Merge https://github.com/lammps/lammps
more changes to ATM source and doc file
2018-07-26 11:42:53 +01:00
b2c75cc0b9 enable LAMMPS/VASP coupling to work w/out using VASP 2018-07-24 17:29:52 -06:00
a4dbac63d3 more updates to the new MESSAGE package 2018-07-24 17:22:15 -06:00
37a0a7b49b fixed compilation error 2018-07-24 15:55:48 -06:00
8846f97868 explained differences between absolute and relative tolerance more 2018-07-24 15:46:28 -06:00
655bd10db6 doc changes to 2 files 2018-07-24 15:20:37 -06:00
1aa8307fa1 change CSlib files to BSD license 2018-07-24 12:04:23 -06:00
81abd8bc0a extended scafacos documentation 2018-07-24 11:59:44 -06:00
ab1cc706cc change syntax of standard C include files 2018-07-24 11:55:56 -06:00
2e93202519 Merge branch 'cslib' of github.com:lammps/lammps into cslib 2018-07-24 11:46:55 -06:00
c2c654c87b CMake additions to new MESSAGE package 2018-07-24 11:44:15 -06:00
b08a2fcd3b mended un-done changes from Git master 2018-07-24 11:36:12 -06:00
7702114e25 fix typo in pair_atm.txt 2018-07-24 13:11:58 -04:00
8495fb62f4 Add preliminary cmake support 2018-07-24 10:33:12 -04:00
ae2d43031b added pressure output, to compare results with global virial (with internal PPPM) 2018-07-23 16:25:02 -06:00
1b7af5d93b added the computation of the global virial by ScaFaCoS 2018-07-23 16:24:16 -06:00
a90e019ec7 updated ScaFaCoS examples, added open-boundary Hammersley distributed sphere and charged cloud near a charged wall examples 2018-07-23 16:13:15 -06:00
ef3fd1374a added kspace_style for internal fmm tuning (for inhomogenous systems) and fixed the call to fcs_set_tolerance 2018-07-23 16:11:18 -06:00
2f55981224 new MESSAGE package for client/server/coupling 2018-07-23 15:58:33 -06:00
0e0afdeb51 fixed typo and removed comment 2018-07-20 10:41:19 -06:00
5c934cdb6f fixed examples to work with charged molecular restriction and new kspace call format 2018-07-20 10:40:29 -06:00
407708dcd2 reverted change to kspace call and using domain->boxlo for origin for now 2018-07-20 10:38:18 -06:00
fba165d6b2 changed the files according to remarks by Steve (compare to previous commit) 2018-07-19 11:46:56 -06:00
591e782415 Optimizing PairGranHookeHistoryKokkos to be less divergent. 2018-07-19 17:08:44 +01:00
a62b65096b more error checks for Scafacos usage 2018-07-18 15:48:17 -06:00
b0c9fde1dd more changes from Steve 2018-07-18 15:32:03 -06:00
1a959a5683 must add USER-SCAFACOS to PACKLIB variable in Makefile
We need "make no-lib" to be correct for automated testing to work, since only known packages with libraries can be successfully compiled through jenkins and other tools. Those scripts usually do "make yes-all no-lib" and then "make yes-XXX" for selected packages where it is known how to build the required libs.
2018-07-18 13:26:45 -04:00
eebd075a15 added scaling for different units (lj, metal, ...) and storage of atom-wise potentials (eatom / eatom_flag) 2018-07-18 11:05:54 -06:00
54e33bd72b Merge branch 'master' of https://github.com/sergeylishchuk/lammps 2018-07-17 14:00:38 +01:00
dbd0d2180e Merge https://github.com/lammps/lammps 2018-07-17 11:22:41 +01:00
d4385ade15 more changes to ATM source and doc file 2018-07-16 11:22:22 -06:00
406aaf011f Improving global memory access pattern for firstflag and firstvalue in FixNeighHistoryKokkos. 2018-07-16 15:30:24 +01:00
e7f4e059cf convert to KSspace style rather than fix 2018-07-13 16:46:06 -06:00
eeaf907227 Resolved merge conflict. 2018-07-13 21:36:40 +01:00
b461967e91 Updated documentation and source 2018-07-13 20:45:06 +01:00
bf5fbc92df Updated documentation and source 2018-07-13 20:18:53 +01:00
6cfdcd1000 removed custom error message, information is added to error->one() call 2018-07-13 08:49:47 -06:00
cdf091f228 fixed an error in the scafacos example (added missing keyword tolerance) 2018-07-13 08:37:29 -06:00
8cca44ae45 removed wrong error messages 2018-07-11 14:02:51 -06:00
88d3233b66 replaced printf with fprintf as requested 2018-07-11 14:02:30 -06:00
56c2127127 Merge branch 'granular-kokkos' of github.com:valleymouth/lammps into granular-kokkos 2018-07-11 12:03:57 -06:00
b5816f2637 Update docs for Kokkos version of GRANULAR package 2018-07-11 12:03:34 -06:00
0d1e55c99d Removing unnecessary calls to sync/modified in AtomVecSphereKokkos. 2018-07-11 11:06:16 -04:00
c83b5ec226 Prevent error when Kokkos debug mode turned on 2018-07-10 19:49:41 -06:00
687a4427da Fix runtime error in pair_dpd_fdt_energy_kokkos due to rmass change 2018-07-10 12:15:08 -06:00
af0eb52410 Error out if using fix pour with the KOKKOS package 2018-07-10 10:21:42 -06:00
a49f946f2f Add missing modify in atom_vec_sphere_kokkos 2018-07-10 10:04:13 -06:00
8c3cbad7ae Fix runtime error in fix_nve_kokkos 2018-07-10 09:15:24 -06:00
ca8b109a1c Fix issues with rmass in KOKKOS package 2018-07-10 08:59:06 -06:00
55980294f1 Fix issues in atom_vec_sphere_kokkos 2018-07-09 18:47:17 -06:00
ee98d026dc preliminary documentation added (to be improved) 2018-07-09 14:28:25 -06:00
75ec0a6a99 remove HTML file 2018-07-09 14:17:21 -06:00
3a824b3a4b mods to Sergey's files 2018-07-09 14:16:46 -06:00
dd38318f5f adjustments to indention and line lengths (<=80 now) 2018-07-09 14:12:06 -06:00
4c4d8372e4 removed C++ std::cout I/O and replaced it with printf 2018-07-09 14:01:06 -06:00
dbfea0e617 update folder structure to comply to LAMMPS contribution rules 2018-07-09 13:53:31 -06:00
f698e37bf2 merged latest version of CMakeLists.txt with custom one (adding USER-SCAFACOS) 2018-07-09 13:41:35 -06:00
4743bb3c30 rename of the ScaFaCoS package 2018-07-09 13:35:46 -06:00
400ae72267 added tolerance to the example 2018-07-09 13:18:28 -06:00
b259de95d2 fix for ScaFaCoS library 2018-07-09 13:00:52 -06:00
ee98daeba5 Fix bug in atom_vec_sphere_kokkos 2018-07-06 16:47:55 -06:00
2cd95d1a99 Fix misnamed variable in comm_kokkos 2018-07-06 15:47:14 -06:00
13d562e969 Removed wrong which variable 2018-07-06 12:06:09 -06:00
228caa3fab Remove randomread from radius to prevent Kokkos runtime error when radius isn't defined 2018-07-06 11:59:25 -06:00
64fb7674b1 Fix compile warning in fix_freeze_kokkos 2018-07-06 11:58:42 -06:00
cce0755ee9 Fix memory free issue in fix_neigh_history_kokkos 2018-07-06 10:08:21 -06:00
67ed11a960 Allow Kokkos version of fix gravity in fix pour, including kk/device and kk/host suffixes 2018-07-06 09:52:41 -06:00
acb0436057 Allow Kokkos version of fix gravity in fix pour 2018-07-06 09:31:48 -06:00
2f3343b7ed Fixing dependencies with GRANULAR. 2018-07-06 05:24:26 -04:00
13efc1b76d Attempt to fix compilation issue with kokkos_omp. 2018-07-05 18:32:19 -04:00
dc93d4ceea Added virial computation to PairGranHookeHistoryKokkos. 2018-07-05 06:03:27 -04:00
7260bb58e1 Added Axilrod-Teller manybody potential 2018-07-04 11:03:30 +01:00
a6df61a637 Making ComputeTempKokkos compatible with rmass in device memory. 2018-07-03 12:05:21 -04:00
f394ed94f3 dump vtk also works with VTK version 8. 2018-07-03 11:33:55 -04:00
11a5ed0e03 Porting fix freeze to Kokkos. 2018-07-03 11:29:13 -04:00
a365246e3a Porting fix gravity to Kokkos. 2018-07-03 11:21:54 -04:00
8ebe38474d Porting fix nve/sphere to Kokkos. 2018-07-03 11:13:27 -04:00
0a5b027bac Porting pair gran/hooke/history to Kokkos. 2018-07-03 11:10:27 -04:00
30f8bb059f Merge branch 'reax_dup' of github.com:stanmoore1/lammps into reax_dup 2018-04-02 12:11:22 -06:00
52254fe155 Fix issue in fix_qeq_reax_kokkos 2018-04-02 12:10:30 -06:00
d8e0f48864 Merge branch 'master' into reax_dup 2018-04-02 10:55:09 -06:00
385e1e5adf Fix compile error with CUDA 2018-03-22 12:28:21 -06:00
28b894a1d7 Remove unnecessary semicolon 2018-03-22 12:09:04 -06:00
f72d38e0c3 Merge branch 'master' into reax_dup 2018-03-22 10:03:06 -06:00
2dcee75ae4 Add data duplication to pair_kokkos.h 2018-03-22 10:01:50 -06:00
968587ac1e Merge from master 2018-03-21 17:24:35 -06:00
6dd8efd0b4 Add if statements 2018-03-21 17:20:45 -06:00
ed494b295f WIP 2018-03-01 11:52:39 -07:00
dbc308f352 Add warning 2018-03-01 10:06:43 -07:00
4ec99edcc6 Merge branch 'master' of github.com:stanmoore1/lammps into reax_dup 2018-02-27 13:10:17 -07:00
c2477ce522 Merge branch 'reax_dup' of ssh://github.com/stanmoore1/lammps into reax_dup 2018-02-12 09:00:21 -07:00
f10c988903 Merge branch 'master' into reax_dup 2018-02-12 08:59:57 -07:00
81331e2a34 Better load balance fix_qeq_reax_kokkos for half neigh list 2017-12-21 11:07:06 -07:00
dbbfacc598 Fix atomic issues 2017-12-20 16:13:28 -07:00
2fc8da08f4 Merge branch 'develop' into reax_dup 2017-12-20 14:32:05 -07:00
5886cadeef Fix compiler warnings in atom_vec_hybrid_kokkos 2017-12-18 14:12:58 -07:00
2b99a26b47 Fix issue in fix_qeq_reax_kokkos, can't call child function from base constructor 2017-12-18 13:57:56 -07:00
7156d49b8d Merge branch 'pr-750' into develop 2017-12-18 11:13:17 -07:00
dce6c9edce Merge branch 'pr-747' into develop 2017-12-18 11:13:15 -07:00
b0f9ae049d Merge branch 'pr-725' into develop 2017-12-18 11:13:11 -07:00
a5790ef68f Rename to ScatterView 2017-12-11 08:38:54 -07:00
8e68015a6f Merge branch 'reax_dup' of github.com:stanmoore1/lammps into reax_dup 2017-12-11 08:32:20 -07:00
95aec46b99 Merge remote-tracking branch 'origin/master' into reax_dup 2017-12-11 08:30:27 -07:00
8a9a7f4e50 Fix issues 2017-12-06 14:06:35 -07:00
d2da1f5797 Template out atomics for full neighbor list 2017-12-06 09:41:29 -07:00
9f08cec07a Merge branch 'improve_reax' of ssh://github.com/stanmoore1/lammps into reax_dup 2017-11-30 09:48:15 -07:00
ee9ba99cde Fix some bugs in pair_reaxc_kokkos 2017-11-29 11:11:20 -07:00
41202c3627 Turn atomics back on for some views in pair_reaxc_kokkos 2017-11-28 16:28:17 -07:00
54f2493018 Added ReductionView to Kokkos ReaxFF 2017-11-28 14:53:44 -07:00
1181 changed files with 69084 additions and 4762 deletions

68
.github/CODEOWNERS vendored
View File

@ -17,6 +17,7 @@ src/GPU/* @ndtrung81
src/KOKKOS/* @stanmoore1
src/KIM/* @ellio167
src/LATTE/* @cnegre
src/MESSAGE/* @sjplimp
src/SPIN/* @julient31
src/USER-CGDNA/* @ohenrich
src/USER-CGSDK/* @akohlmey
@ -29,19 +30,86 @@ src/USER-MOFFF/* @hheenen
src/USER-MOLFILE/* @akohlmey
src/USER-NETCDF/* @pastewka
src/USER-PHONON/* @lingtikong
src/USER-PTM/* @pmla
src/USER-OMP/* @akohlmey
src/USER-QMMM/* @akohlmey
src/USER-REAXC/* @hasanmetin
src/USER-SCAFACOS/* @rhalver
src/USER-TALLY/* @akohlmey
src/USER-UEF/* @danicholson
src/USER-VTK/* @rbberger
# individual files in packages
src/GPU/pair_vashishta_gpu.* @andeplane
src/KOKKOS/pair_vashishta_kokkos.* @andeplane
src/MANYBODY/pair_vashishta_table.* @andeplane
src/MANYBODY/pair_atm.* @sergeylishchuk
src/USER-MISC/fix_bond_react.* @jrgissing
src/USER-MISC/*_grem.* @dstelter92
src/USER-MISC/compute_stress_mop*.* @RomainVermorel
# core LAMMPS classes
src/lammps.* @sjplimp
src/pointers.h @sjplimp
src/atom.* @sjplimp
src/atom_vec.* @sjplimp
src/angle.* @sjplimp
src/bond.* @sjplimp
src/comm*.* @sjplimp
src/compute.* @sjplimp
src/dihedral.* @sjplimp
src/domain.* @sjplimp
src/dump*.* @sjplimp
src/error.* @sjplimp
src/finish.* @sjplimp
src/fix.* @sjplimp
src/force.* @sjplimp
src/group.* @sjplimp
src/improper.* @sjplimp
src/kspace.* @sjplimp
src/lmptyp.h @sjplimp
src/library.* @sjplimp
src/main.cpp @sjplimp
src/memory.* @sjplimp
src/modify.* @sjplimp
src/molecule.* @sjplimp
src/my_page.h @sjplimp
src/my_pool_chunk.h @sjplimp
src/npair*.* @sjplimp
src/ntopo*.* @sjplimp
src/nstencil*.* @sjplimp
src/neighbor.* @sjplimp
src/nbin*.* @sjplimp
src/neigh_*.* @sjplimp
src/output.* @sjplimp
src/pair.* @sjplimp
src/rcb.* @sjplimp
src/random_*.* @sjplimp
src/region*.* @sjplimp
src/rcb.* @sjplimp
src/read*.* @sjplimp
src/rerun.* @sjplimp
src/run.* @sjplimp
src/respa.* @sjplimp
src/set.* @sjplimp
src/special.* @sjplimp
src/suffix.h @sjplimp
src/thermo.* @sjplimp
src/universe.* @sjplimp
src/update.* @sjplimp
src/variable.* @sjplimp
src/verlet.* @sjplimp
src/velocity.* @sjplimp
src/write_data.* @sjplimp
src/write_restart.* @sjplimp
# overrides for specific files
src/dump_movie.* @akohlmey
src/exceptions.h @rbberger
src/fix_nh.* @athomps
src/info.* @akohlmey @rbberger
src/timer.* @akohlmey
# tools
tools/msi2lmp/* @akohlmey

2
.gitignore vendored
View File

@ -1,6 +1,7 @@
*~
*.o
*.so
*.lo
*.cu_o
*.ptx
*_ptx.h
@ -32,6 +33,7 @@ log.cite
.Trashes
ehthumbs.db
Thumbs.db
.clang-format
#cmake
/build*

View File

@ -13,7 +13,7 @@ get_filename_component(LAMMPS_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../doc ABSOLUT
# To avoid conflicts with the conventional Makefile build system, we build everything here
file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/*.cpp)
file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/[^.]*.cpp)
file(GLOB LMP_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp)
list(REMOVE_ITEM LIB_SOURCES ${LMP_SOURCES})
@ -43,9 +43,34 @@ function(validate_option name values)
endif()
endfunction(validate_option)
function(get_lammps_version version_header variable)
file(READ ${version_header} line)
set(MONTHS x Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\1" day "${line}")
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\2" month "${line}")
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\3" year "${line}")
string(STRIP ${day} day)
string(STRIP ${month} month)
string(STRIP ${year} year)
list(FIND MONTHS "${month}" month)
string(LENGTH ${day} day_length)
string(LENGTH ${month} month_length)
if(day_length EQUAL 1)
set(day "0${day}")
endif()
if(month_length EQUAL 1)
set(month "0${month}")
endif()
set(${variable} "${year}${month}${day}" PARENT_SCOPE)
endfunction()
get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h LAMMPS_VERSION)
# Cmake modules/macros are in a subdirectory to keep this file cleaner
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules)
include(PreventInSourceBuilds)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
#release comes with -O3 by default
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
@ -113,6 +138,7 @@ if(BUILD_EXE)
if(LAMMPS_MACHINE)
set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}")
endif()
set(LAMMPS_BINARY lmp${LAMMPS_MACHINE})
endif()
option(BUILD_LIB "Build LAMMPS library" OFF)
@ -121,10 +147,10 @@ if(BUILD_LIB)
if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
set(LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file")
mark_as_advanced(LIB_SUFFIX)
if(LIB_SUFFIX)
set(LIB_SUFFIX "_${LIB_SUFFIX}")
set(LAMMPS_LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file")
mark_as_advanced(LAMMPS_LIB_SUFFIX)
if(LAMMPS_LIB_SUFFIX)
set(LAMMPS_LIB_SUFFIX "_${LAMMPS_LIB_SUFFIX}")
endif()
endif()
@ -139,6 +165,35 @@ set(LAMMPS_LINK_LIBS)
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
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-PTM USER-QTB USER-REAXC USER-SCAFACOS USER-SMD USER-SMTBQ
USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM)
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
set(OTHER_PACKAGES CORESHELL QEQ)
foreach(PKG ${DEFAULT_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
endforeach()
foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
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)
enable_language(Fortran)
endif()
if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_USER-SCAFACOS)
enable_language(C)
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})
if(BUILD_MPI)
@ -183,25 +238,52 @@ endif()
option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF)
option(ENABLE_TESTING "Enable testing" OFF)
if(ENABLE_TESTING)
if(ENABLE_TESTING AND BUILD_EXE)
enable_testing()
endif(ENABLE_TESTING)
option(LAMMPS_TESTING_SOURCE_DIR "Location of lammps-testing source directory" "")
option(LAMMPS_TESTING_GIT_TAG "Git tag of lammps-testing" "master")
mark_as_advanced(LAMMPS_TESTING_SOURCE_DIR LAMMPS_TESTING_GIT_TAG)
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
KSPACE MANYBODY MC MEAM MISC MOLECULE PERI REAX 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-QTB USER-REAXC USER-SMD
USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM)
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
set(OTHER_PACKAGES CORESHELL QEQ)
foreach(PKG ${DEFAULT_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
endforeach()
foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
endforeach()
if (CMAKE_VERSION VERSION_GREATER "3.10.3" AND NOT LAMMPS_TESTING_SOURCE_DIR)
include(FetchContent)
FetchContent_Declare(lammps-testing
GIT_REPOSITORY https://github.com/lammps/lammps-testing.git
GIT_TAG ${LAMMPS_TESTING_GIT_TAG}
)
FetchContent_GetProperties(lammps-testing)
if(NOT lammps-testing_POPULATED)
message(STATUS "Downloading tests...")
FetchContent_Populate(lammps-testing)
endif()
set(LAMMPS_TESTING_SOURCE_DIR ${lammps-testing_SOURCE_DIR})
elseif(NOT LAMMPS_TESTING_SOURCE_DIR)
message(WARNING "Full test-suite requires CMake >= 3.11 or copy of\n"
"https://github.com/lammps/lammps-testing in LAMMPS_TESTING_SOURCE_DIR")
endif()
if(EXISTS ${LAMMPS_TESTING_SOURCE_DIR})
message(STATUS "Running test discovery...")
file(GLOB_RECURSE TEST_SCRIPTS ${LAMMPS_TESTING_SOURCE_DIR}/tests/core/*/in.*)
foreach(script_path ${TEST_SCRIPTS})
get_filename_component(TEST_NAME ${script_path} EXT)
get_filename_component(SCRIPT_NAME ${script_path} NAME)
get_filename_component(PARENT_DIR ${script_path} DIRECTORY)
string(SUBSTRING ${TEST_NAME} 1 -1 TEST_NAME)
string(REPLACE "-" "_" TEST_NAME ${TEST_NAME})
string(REPLACE "+" "_" TEST_NAME ${TEST_NAME})
set(TEST_NAME "test_core_${TEST_NAME}_serial")
add_test(${TEST_NAME} ${CMAKE_BINARY_DIR}/${LAMMPS_BINARY} -in ${SCRIPT_NAME})
set_tests_properties(${TEST_NAME} PROPERTIES WORKING_DIRECTORY ${PARENT_DIR})
endforeach()
list(LENGTH TEST_SCRIPTS NUM_TESTS)
message(STATUS "Found ${NUM_TESTS} tests.")
endif()
endif()
macro(pkg_depends PKG1 PKG2)
if(PKG_${PKG1} AND NOT (PKG_${PKG2} OR BUILD_${PKG2}))
@ -215,17 +297,7 @@ pkg_depends(MPIIO MPI)
pkg_depends(USER-ATC MANYBODY)
pkg_depends(USER-LB MPI)
pkg_depends(USER-PHONON KSPACE)
######################################################
# 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)
enable_language(Fortran)
endif()
if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM)
enable_language(C)
endif()
pkg_depends(USER-SCAFACOS MPI)
find_package(OpenMP QUIET)
option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND})
@ -276,11 +348,14 @@ endif()
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
find_package(LAPACK)
if(NOT LAPACK_FOUND)
find_package(BLAS)
if(NOT LAPACK_FOUND OR NOT BLAS_FOUND)
enable_language(Fortran)
file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/*.[fF])
file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/[^.]*.[fF])
add_library(linalg STATIC ${LAPACK_SOURCES})
set(LAPACK_LIBRARIES linalg)
else()
list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES})
endif()
endif()
@ -400,6 +475,57 @@ if(PKG_LATTE)
list(APPEND LAMMPS_LINK_LIBS ${LATTE_LIBRARIES} ${LAPACK_LIBRARIES})
endif()
if(PKG_USER-SCAFACOS)
find_package(GSL REQUIRED)
option(DOWNLOAD_SCAFACOS "Download ScaFaCoS (instead of using the system's one)" OFF)
if(DOWNLOAD_SCAFACOS)
include(ExternalProject)
ExternalProject_Add(scafacos_build
URL https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz
URL_MD5 bd46d74e3296bd8a444d731bb10c1738
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
--disable-doc
--enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m
--with-internal-fftw
--with-internal-pfft
--with-internal-pnfft
$<$<BOOL:${BUILD_SHARED_LIBS}>:--with-pic>
FC=${CMAKE_MPI_Fortran_COMPILER}
CXX=${CMAKE_MPI_CXX_COMPILER}
CC=${CMAKE_MPI_C_COMPILER}
F77=
)
ExternalProject_get_property(scafacos_build INSTALL_DIR)
set(SCAFACOS_BUILD_DIR ${INSTALL_DIR})
set(SCAFACOS_INCLUDE_DIRS ${SCAFACOS_BUILD_DIR}/include)
list(APPEND LAMMPS_DEPS scafacos_build)
# list and order from pkg_config file of ScaFaCoS build
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_direct.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_ewald.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fmm.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p2nfft.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p3m.a)
list(APPEND LAMMPS_LINK_LIBS ${GSL_LIBRARIES})
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_near.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_gridsort.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_resort.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_redist.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_common.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pnfft.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pfft.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3_mpi.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3.a)
list(APPEND LAMMPS_LINK_LIBS ${MPI_Fortran_LIBRARIES})
list(APPEND LAMMPS_LINK_LIBS ${MPI_C_LIBRARIES})
else()
FIND_PACKAGE(PkgConfig REQUIRED)
PKG_CHECK_MODULES(SCAFACOS scafacos REQUIRED)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_LDFLAGS})
endif()
include_directories(${SCAFACOS_INCLUDE_DIRS})
endif()
if(PKG_USER-MOLFILE)
add_library(molfile INTERFACE)
target_include_directories(molfile INTERFACE ${LAMMPS_LIB_SOURCE_DIR}/molfile)
@ -409,8 +535,8 @@ endif()
if(PKG_USER-NETCDF)
find_package(NetCDF REQUIRED)
include_directories(NETCDF_INCLUDE_DIR)
list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARY})
include_directories(${NETCDF_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARIES})
add_definitions(-DLMP_HAS_NETCDF -DNC_64BIT_DATA=0x0020)
endif()
@ -427,8 +553,9 @@ if(PKG_USER-SMD)
set(EIGEN3_INCLUDE_DIR ${SOURCE_DIR})
list(APPEND LAMMPS_DEPS Eigen3_build)
else()
find_package(Eigen3)
if(NOT Eigen3_FOUND)
find_package(Eigen3 NO_MODULE)
mark_as_advanced(Eigen3_DIR)
if(NOT EIGEN3_FOUND)
message(FATAL_ERROR "Eigen3 not found, help CMake to find it by setting EIGEN3_INCLUDE_DIR, or set DOWNLOAD_EIGEN3=ON to download it")
endif()
endif()
@ -478,6 +605,40 @@ if(PKG_KIM)
include_directories(${KIM_INCLUDE_DIRS})
endif()
if(PKG_MESSAGE)
option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF)
file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.F
${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.c
${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.cpp)
if(BUILD_SHARED_LIBS)
add_library(cslib SHARED ${cslib_SOURCES})
else()
add_library(cslib STATIC ${cslib_SOURCES})
endif()
if(BUILD_MPI)
target_compile_definitions(cslib PRIVATE -DMPI_YES)
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi")
else()
target_compile_definitions(cslib PRIVATE -DMPI_NO)
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi")
endif()
if(MESSAGE_ZMQ)
target_compile_definitions(cslib PRIVATE -DZMQ_YES)
find_package(ZMQ REQUIRED)
target_include_directories(cslib PRIVATE ${ZMQ_INCLUDE_DIRS})
target_link_libraries(cslib PUBLIC ${ZMQ_LIBRARIES})
else()
target_compile_definitions(cslib PRIVATE -DZMQ_NO)
target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ)
endif()
list(APPEND LAMMPS_LINK_LIBS cslib)
include_directories(${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src)
endif()
if(PKG_MSCG)
find_package(GSL REQUIRED)
option(DOWNLOAD_MSCG "Download latte (instead of using the system's one)" OFF)
@ -564,8 +725,8 @@ RegisterStyles(${LAMMPS_SOURCE_DIR})
foreach(PKG ${DEFAULT_PACKAGES})
set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG})
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp)
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h)
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp)
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/[^.]*.h)
# check for package files in src directory due to old make system
DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS})
@ -583,8 +744,8 @@ endforeach()
foreach(PKG ${ACCEL_PACKAGES})
set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG})
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp)
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h)
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp)
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/[^.]*.h)
# check for package files in src directory due to old make system
DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS})
@ -598,8 +759,10 @@ foreach(SIMPLE_LIB REAX MEAM POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD
if(PKG_${SIMPLE_LIB})
string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}")
string(TOLOWER "${PKG_LIB}" PKG_LIB)
file(GLOB_RECURSE ${PKG_LIB}_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.F
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.c ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.cpp)
file(GLOB_RECURSE ${PKG_LIB}_SOURCES
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.F
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.c
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.cpp)
add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES})
list(APPEND LAMMPS_LINK_LIBS ${PKG_LIB})
if(PKG_LIB STREQUAL awpmd)
@ -674,13 +837,16 @@ if(PKG_USER-OMP)
set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP)
set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp
${USER-OMP_SOURCES_DIR}/thr_omp.cpp
${USER-OMP_SOURCES_DIR}/fix_omp.cpp
${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp
${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp)
${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
${USER-OMP_SOURCES_DIR}/domain_omp.cpp)
add_definitions(-DLMP_USER_OMP)
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}")
# detects styles which have USER-OMP version
RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES)
RegisterFixStyle("${USER-OMP_SOURCES_DIR}/fix_omp.h")
get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
@ -880,7 +1046,7 @@ if(PKG_GPU)
set(GPU_PREC_SETTING "SINGLE_SINGLE")
endif()
file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cpp)
file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cpp)
file(MAKE_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/gpu)
if(GPU_API STREQUAL "CUDA")
@ -893,15 +1059,15 @@ if(PKG_GPU)
set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM architecture (e.g. sm_60)")
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/*.cu)
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/[^.]*.cu)
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu)
cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu ${LAMMPS_LIB_BINARY_DIR}/gpu)
if(CUDPP_OPT)
cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/*.cpp)
file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/*.cu)
file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cpp)
file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cu)
endif()
cuda_compile_cubin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS
@ -950,7 +1116,7 @@ if(PKG_GPU)
include(OpenCLUtils)
set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h)
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu)
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu)
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu)
foreach(GPU_KERNEL ${GPU_LIB_CU})
@ -1008,7 +1174,9 @@ include_directories(${LAMMPS_STYLE_HEADERS_DIR})
######################################
set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n")
set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n")
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
set(temp_PKG_LIST ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
list(SORT temp_PKG_LIST)
foreach(PKG ${temp_PKG_LIST})
if(PKG_${PKG})
set(temp "${temp} \"${PKG}\",\n")
endif()
@ -1033,14 +1201,14 @@ if(BUILD_LIB)
if(LAMMPS_DEPS)
add_dependencies(lammps ${LAMMPS_DEPS})
endif()
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LIB_SUFFIX})
if(BUILD_SHARED_LIBS)
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps)
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
endif()
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_LIB_SUFFIX})
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps)
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)
else()
list(APPEND LMP_SOURCES ${LIB_SOURCES})
endif()
@ -1056,10 +1224,11 @@ if(BUILD_EXE)
endif()
endif()
set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE})
set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY})
install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME ${LAMMPS_BINARY}.1)
if(ENABLE_TESTING)
add_test(ShowHelp lmp${LAMMPS_MACHINE} -help)
add_test(ShowHelp ${LAMMPS_BINARY} -help)
endif()
endif()
@ -1074,7 +1243,7 @@ if(BUILD_DOC)
set(VIRTUALENV ${PYTHON_EXECUTABLE} -m virtualenv)
file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/*.txt)
file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/[^.]*.txt)
file(GLOB PDF_EXTRA_SOURCES ${LAMMPS_DOC_DIR}/src/lammps_commands*.txt ${LAMMPS_DOC_DIR}/src/lammps_support.txt ${LAMMPS_DOC_DIR}/src/lammps_tutorials.txt)
list(REMOVE_ITEM DOC_SOURCES ${PDF_EXTRA_SOURCES})
@ -1127,7 +1296,7 @@ endif()
# Install potential files in data directory
###############################################################################
set(LAMMPS_POTENTIALS_DIR ${CMAKE_INSTALL_FULL_DATADIR}/lammps/potentials)
install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials DESTINATION ${CMAKE_INSTALL_DATADIR}/lammps/potentials)
install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials/ DESTINATION ${LAMMPS_POTENTIALS_DIR})
configure_file(etc/profile.d/lammps.sh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh @ONLY)
configure_file(etc/profile.d/lammps.csh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh @ONLY)
@ -1169,7 +1338,7 @@ endif()
###############################################################################
# Print package summary
###############################################################################
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
if(PKG_${PKG})
message(STATUS "Building package: ${PKG}")
endif()

48
cmake/FindLAMMPS.cmake.in Normal file
View File

@ -0,0 +1,48 @@
# - Find liblammps
# Find the native liblammps headers and libraries.
#
# The following variables will set:
# LAMMPS_INCLUDE_DIRS - where to find lammps/library.h, etc.
# LAMMPS_LIBRARIES - List of libraries when using lammps.
# LAMMPS_API_DEFINES - lammps library api defines
# LAMMPS_VERSION - lammps library version
# LAMMPS_FOUND - True if liblammps found.
#
# In addition a LAMMPS::LAMMPS imported target is getting created.
#
# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
# http://lammps.sandia.gov, Sandia National Laboratories
# Steve Plimpton, sjplimp@sandia.gov
#
# Copyright (2003) Sandia Corporation. Under the terms of Contract
# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
# certain rights in this software. This software is distributed under
# the GNU General Public License.
#
# See the README file in the top-level LAMMPS directory.
#
find_package(PkgConfig)
pkg_check_modules(PC_LAMMPS liblammps@LAMMPS_LIB_SUFFIX@)
find_path(LAMMPS_INCLUDE_DIR lammps/library.h HINTS ${PC_LAMMPS_INCLUDE_DIRS} @CMAKE_INSTALL_FULL_INCLUDEDIR@)
set(LAMMPS_VERSION @LAMMPS_VERSION@)
set(LAMMPS_API_DEFINES @LAMMPS_API_DEFINES@)
find_library(LAMMPS_LIBRARY NAMES lammps@LAMMPS_LIB_SUFFIX@ HINTS ${PC_LAMMPS_LIBRARY_DIRS} @CMAKE_INSTALL_FULL_LIBDIR@)
set(LAMMPS_INCLUDE_DIRS "${LAMMPS_INCLUDE_DIR}")
set(LAMMPS_LIBRARIES "${LAMMPS_LIBRARY}")
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set LAMMPS_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(LAMMPS REQUIRED_VARS LAMMPS_LIBRARY LAMMPS_INCLUDE_DIR VERSION_VAR LAMMPS_VERSION)
mark_as_advanced(LAMMPS_INCLUDE_DIR LAMMPS_LIBRARY)
if(LAMMPS_FOUND AND NOT TARGET LAMMPS::LAMMPS)
add_library(LAMMPS::LAMMPS UNKNOWN IMPORTED)
set_target_properties(LAMMPS::LAMMPS PROPERTIES IMPORTED_LOCATION "${LAMMPS_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${LAMMPS_INCLUDE_DIR}" INTERFACE_COMPILE_DEFINITIONS "${LAMMPS_API_DEFINES}")
endif()

View File

@ -0,0 +1,8 @@
find_path(ZMQ_INCLUDE_DIR zmq.h)
find_library(ZMQ_LIBRARY NAMES zmq)
set(ZMQ_LIBRARIES ${ZMQ_LIBRARY})
set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR)

View File

@ -0,0 +1,23 @@
# - Prevent in-source builds.
# https://stackoverflow.com/questions/1208681/with-cmake-how-would-you-disable-in-source-builds/
function(prevent_in_source_builds)
# make sure the user doesn't play dirty with symlinks
get_filename_component(srcdir "${CMAKE_SOURCE_DIR}" REALPATH)
get_filename_component(srcdir2 "${CMAKE_SOURCE_DIR}/.." REALPATH)
get_filename_component(srcdir3 "${CMAKE_SOURCE_DIR}/../src" REALPATH)
get_filename_component(bindir "${CMAKE_BINARY_DIR}" REALPATH)
# disallow in-source builds
if("${srcdir}" STREQUAL "${bindir}" OR "${srcdir2}" STREQUAL "${bindir}" OR "${srcdir3}" STREQUAL "${bindir}")
message(FATAL_ERROR "\
CMake must not to be run in the source directory. \
Rather create a dedicated build directory and run CMake there. \
To clean up after this aborted in-place compilation:
rm -r CMakeCache.txt CMakeFiles
")
endif()
endfunction()
prevent_in_source_builds()

View File

@ -48,8 +48,13 @@ function(CreateStyleHeader path filename)
set(temp "")
if(ARGC GREATER 2)
list(REMOVE_AT ARGV 0 1)
set(header_list)
foreach(FNAME ${ARGV})
get_filename_component(FNAME ${FNAME} NAME)
list(APPEND header_list ${FNAME})
endforeach()
list(SORT header_list)
foreach(FNAME ${header_list})
set(temp "${temp}#include \"${FNAME}\"\n")
endforeach()
endif()
@ -80,19 +85,23 @@ function(RegisterNPairStyle path)
AddStyleHeader(${path} NPAIR)
endfunction(RegisterNPairStyle)
function(RegisterFixStyle path)
AddStyleHeader(${path} FIX)
endfunction(RegisterFixStyle)
function(RegisterStyles search_path)
FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force
FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid
FindStyleHeaders(${search_path} BODY_CLASS body_ BODY ) # body ) # atom_vec_body
FindStyleHeaders(${search_path} BOND_CLASS bond_ BOND ) # bond ) # force
FindStyleHeaders(${search_path} COMMAND_CLASS "" COMMAND ) # command ) # input
FindStyleHeaders(${search_path} COMMAND_CLASS "[^.]" COMMAND ) # command ) # input
FindStyleHeaders(${search_path} COMPUTE_CLASS compute_ COMPUTE ) # compute ) # modify
FindStyleHeaders(${search_path} DIHEDRAL_CLASS dihedral_ DIHEDRAL ) # dihedral ) # force
FindStyleHeaders(${search_path} DUMP_CLASS dump_ DUMP ) # dump ) # output write_dump
FindStyleHeaders(${search_path} FIX_CLASS fix_ FIX ) # fix ) # modify
FindStyleHeaders(${search_path} IMPROPER_CLASS improper_ IMPROPER ) # improper ) # force
FindStyleHeaders(${search_path} INTEGRATE_CLASS "" INTEGRATE ) # integrate ) # update
FindStyleHeaders(${search_path} KSPACE_CLASS "" KSPACE ) # kspace ) # force
FindStyleHeaders(${search_path} INTEGRATE_CLASS "[^.]" INTEGRATE ) # integrate ) # update
FindStyleHeaders(${search_path} KSPACE_CLASS "[^.]" KSPACE ) # kspace ) # force
FindStyleHeaders(${search_path} MINIMIZE_CLASS min_ MINIMIZE ) # minimize ) # update
FindStyleHeaders(${search_path} NBIN_CLASS nbin_ NBIN ) # nbin ) # neighbor
FindStyleHeaders(${search_path} NPAIR_CLASS npair_ NPAIR ) # npair ) # neighbor

View File

@ -4,15 +4,15 @@
# after you added @CMAKE_INSTALL_FULL_LIBDIR@/pkg-config to PKG_CONFIG_PATH,
# e.g. export PKG_CONFIG_PATH=@CMAKE_INSTALL_FULL_LIBDIR@/pkgconfig
prefix=@CMAKE_INSTALL_FULL_PREFIX@
prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
Name: liblammps@LAMMPS_MACHINE@
Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library
URL: http://lammps.sandia.gov
Version:
Version: @LAMMPS_VERSION@
Requires:
Libs: -L${libdir} -llammps@LIB_SUFFIX@@
Libs: -L${libdir} -llammps@LAMMPS_LIB_SUFFIX@
Libs.private: -lm
Cflags: -I${includedir} @LAMMPS_API_DEFINES@

View File

@ -31,17 +31,19 @@ SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocess
SOURCES=$(filter-out $(wildcard src/lammps_commands*.txt) src/lammps_support.txt src/lammps_tutorials.txt,$(wildcard src/*.txt))
OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst)
.PHONY: help clean-all clean epub html pdf old venv spelling anchor_check
.PHONY: help clean-all clean epub mobi html pdf old venv spelling anchor_check
# ------------------------------------------
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html create HTML doc pages in html dir"
@echo " pdf create Manual.pdf and Developer.pdf in this dir"
@echo " pdf create Developer.pdf and Manual.pdf in this dir"
@echo " old create old-style HTML doc pages 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)"
@echo " (requires ebook-convert tool from calibre)"
@echo " clean remove all intermediate RST files"
@echo " clean-all reset the entire build environment"
@echo " txt2html build txt2html tool"
@ -93,9 +95,10 @@ spelling: $(OBJECTS) utils/sphinx-config/false_positives.txt
@echo "Spell check finished."
epub: $(OBJECTS)
@mkdir -p epub
@mkdir -p epub/JPG
@rm -f LAMMPS.epub
@cp src/JPG/lammps-logo.png epub/
@cp src/JPG/*.* epub/JPG
@(\
. $(VENV)/bin/activate ;\
cp -r src/* $(RSTDIR)/ ;\
@ -106,20 +109,25 @@ epub: $(OBJECTS)
@rm -rf epub
@echo "Build finished. The ePUB manual file is created."
mobi: epub
@rm -f LAMMPS.mobi
@ebook-convert LAMMPS.epub LAMMPS.mobi
@echo "Conversion finished. The MOBI manual file is created."
pdf: utils/txt2html/txt2html.exe
@(\
set -e; \
cd src; \
../utils/txt2html/txt2html.exe -b *.txt; \
htmldoc --batch lammps.book; \
for s in `echo *.txt | sed -e 's,\.txt,\.html,g'` ; \
do grep -q $$s lammps.book || \
echo doc file $$s missing in src/lammps.book; done; \
rm *.html; \
cd Developer; \
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; \
)
old: utils/txt2html/txt2html.exe

45
doc/lammps.1 Normal file
View File

@ -0,0 +1,45 @@
.TH LAMMPS "2018-08-22"
.SH NAME
.B LAMMPS
\- Molecular Dynamics Simulator.
.SH SYNOPSIS
.B lmp
-in in.file
or
mpirun \-np 2
.B lmp
-in in.file
.SH DESCRIPTION
.B LAMMPS
LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale
Atomic/Molecular Massively Parallel Simulator. LAMMPS has potentials for soft
materials (biomolecules, polymers) and solid-state materials (metals,
semiconductors) and coarse-grained or mesoscopic systems. It can be used to
model atoms or, more generically, as a parallel particle simulator at the
atomic, meso, or continuum scale.
See http://lammps.sandia.gov/ for documentation.
.SH OPTIONS
See https://lammps.sandia.gov/doc/Run_options.html for details on
command-line options.
.SH COPYRIGHT
© 2003--2018 Sandia Corporation
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL-2'.

View File

@ -61,7 +61,7 @@ library files. Failing this, these 3 variables can be used to specify
where the mpi.h file (MPI_INC), and the MPI library files (MPI_PATH)
are found, and the name of the library files (MPI_LIB).
For a serial build, you need to specify the 3 varaibles, as shown
For a serial build, you need to specify the 3 variables, as shown
above.
For a serial LAMMPS build, use the dummy MPI library provided in
@ -145,7 +145,7 @@ By default CMake will use a compiler it finds and it will add
optimization flags appropriate to that compiler and any "accelerator
packages"_Speed_packages.html you have included in the build.
You can tell CMake to look for a specific compiler with these varaible
You can tell CMake to look for a specific compiler with these variable
settings. Likewise you can specify the FLAGS variables if you want to
experiment with alternate optimization flags. You should specify all
3 compilers, so that the small number of LAMMPS source files written
@ -216,8 +216,8 @@ LAMMPS can be built as either an executable or as a static or shared
library. The LAMMPS library can be called from another application or
a scripting language. See the "Howto couple"_Howto_couple.html doc
page for more info on coupling LAMMPS to other codes. See the
"Python"_Python doc page for more info on wrapping and running LAMMPS
from Python via its library interface.
"Python"_Python_head.html doc page for more info on wrapping and
running LAMMPS from Python via its library interface.
[CMake variables]:
@ -247,7 +247,7 @@ Note that for a shared library to be usable by a calling program, all
the auxiliary libraries it depends on must also exist as shared
libraries. This will be the case for libraries included with LAMMPS,
such as the dummy MPI library in src/STUBS or any package libraries in
the lib/packages directroy, since they are always built as shared
the lib/packages directory, since they are always built as shared
libraries using the -fPIC switch. However, if a library like MPI or
FFTW does not exist as a shared library, the shared library build will
generate an error. This means you will need to install a shared
@ -292,6 +292,10 @@ This will create a lammps/doc/html dir with the HTML doc pages so that
you can browse them locally on your system. Type "make" from the
lammps/doc dir to see other options.
NOTE: You can also download a tarball of the documention for the
current LAMMPS version (HTML and PDF files), from the website
"download page"_http://lammps.sandia.gov/download.html.
:line
Install LAMMPS after a build :h4,link(install)
@ -299,7 +303,7 @@ Install LAMMPS after a build :h4,link(install)
After building LAMMPS, you may wish to copy the LAMMPS executable of
library, along with other LAMMPS files (library header, doc files) to
a globally visible place on your system, for others to access. Note
that you may need super-user priveleges (e.g. sudo) if the directory
that you may need super-user privileges (e.g. sudo) if the directory
you want to copy files to is protected.
[CMake variable]:

View File

@ -40,7 +40,7 @@ executable called "lmp" and a library called "liblammps.a" in the
If your machine has multiple CPU cores (most do these days), using a
command like "make -jN" (with N being the number of available local
CPU cores) can be much faster. If you plan to do development on
LAMMPS or need to recompile LAMMPS repeatedly, installation of the
LAMMPS or need to re-compile LAMMPS repeatedly, installation of the
ccache (= Compiler Cache) software may speed up compilation even more.
After compilation, you can optionally copy the LAMMPS executable and
@ -50,7 +50,7 @@ make install # optional, copy LAMMPS executable & library elsewhere :pre
:line
There are 3 variants of CMake: a command-line verison (cmake), a text mode
There are 3 variants of CMake: a command-line version (cmake), a text mode
UI version (ccmake), and a graphical GUI version (cmake-GUI). You can use
any of them interchangeably to configure and create the LAMMPS build
environment. On Linux all the versions produce a Makefile as their
@ -188,7 +188,7 @@ module list # is a cmake module already loaded?
module avail # is a cmake module available?
module load cmake3 # load cmake module with appropriate name :pre
Most Linux distributions offer precompiled cmake packages through
Most Linux distributions offer pre-compiled cmake packages through
their package management system. If you do not have CMake or a new
enough version, you can download the latest version at
"https://cmake.org/download/"_https://cmake.org/download/.

View File

@ -31,6 +31,7 @@ This is the list of packages that may require additional steps.
"KOKKOS"_#kokkos,
"LATTE"_#latte,
"MEAM"_#meam,
"MESSAGE"_#message,
"MSCG"_#mscg,
"OPT"_#opt,
"POEMS"_#poems,
@ -47,6 +48,7 @@ This is the list of packages that may require additional steps.
"USER-OMP"_#user-omp,
"USER-QMMM"_#user-qmmm,
"USER-QUIP"_#user-quip,
"USER-SCAFACOS"_#user-scafacos,
"USER-SMD"_#user-smd,
"USER-VTK"_#user-vtk :tb(c=6,ea=c,a=l)
@ -340,7 +342,7 @@ NOTE: the use of the MEAM package is discouraged, as it has been
superseded by the USER-MEAMC package, which is a direct translation of
the Fortran code in the MEAM library to C++. The code in USER-MEAMC
should be functionally equivalent to the MEAM package, fully supports
use of "pair_style hybrid"_pair_hybrid.html (the MEAM packaged doesn
use of "pair_style hybrid"_pair_hybrid.html (the MEAM package does
not), and has optimizations that make it significantly faster than the
MEAM package.
@ -361,6 +363,10 @@ make lib-meam args="-m mpi" # build with default Fortran compiler compatible
make lib-meam args="-m serial" # build with compiler compatible with "make serial" (GNU Fortran)
make lib-meam args="-m ifort" # build with Intel Fortran compiler using Makefile.ifort :pre
NOTE: You should test building the MEAM library with both the Intel
and GNU compilers to see if a simulation runs faster with one versus
the other on your system.
The build should produce two files: lib/meam/libmeam.a and
lib/meam/Makefile.lammps. The latter is copied from an existing
Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with
@ -373,6 +379,35 @@ file.
:line
MESSAGE package :h4,link(message)
This package can optionally include support for messaging via sockets,
using the open-source "ZeroMQ library"_http://zeromq.org, which must
be installed on your system.
[CMake build]:
-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
[Traditional make]:
Before building LAMMPS, you must build the CSlib library in
lib/message. You can build the CSlib library manually if you prefer;
follow the instructions in lib/message/README. You can also do it in
one step from the lammps/src dir, using a command like these, which
simply invoke the lib/message/Install.py script with the specified args:
make lib-message # print help message
make lib-message args="-m -z" # build with MPI and socket (ZMQ) support
make lib-message args="-s" # build as serial lib with no ZMQ support
The build should produce two files: lib/message/cslib/src/libmessage.a
and lib/message/Makefile.lammps. The latter is copied from an
existing Makefile.lammps.* and has settings to link with the ZeroMQ
library if requested in the build.
:line
MSCG package :h4,link(mscg)
To build with this package, you must download and build the MS-CG
@ -470,7 +505,7 @@ lib/python/README for more details.
-D PYTHON_EXECUTABLE=path # path to Python executable to use :pre
Without this setting, CMake will ues the default Python on your
Without this setting, CMake will guess the default Python on your
system. To use a different Python version, you can either create a
virtualenv, activate it and then run cmake. Or you can set the
PYTHON_EXECUTABLE variable to specify which Python interpreter should
@ -528,9 +563,9 @@ file.
VORONOI package :h4,link(voronoi)
To build with this package, you must download and build the "Voro++
library"_voro_home.
library"_voro-home.
:link(voro_home,http://math.lbl.gov/voro++)
:link(voro-home,http://math.lbl.gov/voro++)
[CMake build]:
@ -687,7 +722,7 @@ the HDF5 library.
No additional settings are needed besides "-D PKG_USER-H5MD=yes".
This should autodetect the H5MD library on your system. Several
This should auto-detect the H5MD library on your system. Several
advanced CMake H5MD options exist if you need to specify where it is
installed. Use the ccmake (terminal window) or cmake-gui (graphical)
tools to see these options and set them interactively from their user
@ -777,7 +812,7 @@ on your system.
No additional settings are needed besides "-D PKG_USER-NETCDF=yes".
This should autodetect the NETCDF library if it is installed on your
This should auto-detect the NETCDF library if it is installed on your
system at standard locations. Several advanced CMake NETCDF options
exist if you need to specify where it was installed. Use the ccmake
(terminal window) or cmake-gui (graphical) tools to see these options
@ -894,6 +929,45 @@ successfully build on your system.
:line
USER-SCAFACOS package :h4,link(user-scafacos)
To build with this package, you must download and build the "ScaFaCoS
Coulomb solver library"_scafacos-home
:link(scafacos-home,http://www.scafacos.de)
[CMake build]:
-D DOWNLOAD_SCAFACOS=value # download ScaFaCoS for build, value = no (default) or yes
-D SCAFACOS_LIBRARY=path # ScaFaCos library file (only needed if at custom location)
-D SCAFACOS_INCLUDE_DIR=path # ScaFaCoS include directory (only needed if at custom location) :pre
If DOWNLOAD_SCAFACOS is set, the ScaFaCoS library will be downloaded
and built inside the CMake build directory. If the ScaFaCoS library
is already on your system (in a location CMake cannot find it),
SCAFACOS_LIBRARY is the filename (plus path) of the ScaFaCoS library
file, not the directory the library file is in. SCAFACOS_INCLUDE_DIR
is the directory the ScaFaCoS include file is in.
[Traditional make]:
You can download and build the ScaFaCoS library manually if you
prefer; follow the instructions in lib/scafacos/README. You can also
do it in one step from the lammps/src dir, using a command like these,
which simply invoke the lib/scafacos/Install.py script with the
specified args:
make lib-scafacos # print help message
make lib-scafacos args="-b" # download and build in lib/scafacos/scafacos-<version>
make lib-scafacos args="-p $HOME/scafacos # use existing ScaFaCoS installation in $HOME/scafacos
Note that 2 symbolic (soft) links, "includelink" and "liblink", are
created in lib/scafacos to point to the ScaFaCoS src dir. When LAMMPS
builds in src it will use these links. You should not need to edit
the lib/scafacos/Makefile.lammps file.
:line
USER-SMD package :h4,link(user-smd)
To build with this package, you must download the Eigen3 library.
@ -905,7 +979,7 @@ Eigen3 is a template library, so you do not need to build it.
-D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location) :pre
If DOWNLOAD_EIGEN3 is set, the Eigen3 library will be downloaded and
inside the CMake build directory. If the Eig3n3 library is already on
inside the CMake build directory. If the Eigen3 library is already on
your system (in a location CMake cannot find it), EIGEN3_INCLUDE_DIR
is the directory the Eigen3++ include file is in.
@ -936,7 +1010,7 @@ your system.
No additional settings are needed besides "-D PKG_USER-VTK=yes".
This should autodetect the VTK library if it is installed on your
This should auto-detect the VTK library if it is installed on your
system at standard locations. Several advanced VTK options exist if
you need to specify where it was installed. Use the ccmake (terminal
window) or cmake-gui (graphical) tools to see these options and set

View File

@ -35,16 +35,16 @@ This initial compilation can take a long time, since LAMMPS is a large
project with many features. If your machine has multiple CPU cores
(most do these days), using a command like "make -jN mpi" (with N =
the number of available CPU cores) can be much faster. If you plan to
do development on LAMMPS or need to recompile LAMMPS repeatedly, the
do development on LAMMPS or need to re-compile LAMMPS repeatedly, the
installation of the ccache (= Compiler Cache) software may speed up
compilation even more.
After the initial build, whenever you edit LAMMPS source files, or add
or remove new files to the source directory (e.g. by installing or
uninstalling packages), you must recompile and relink the LAMMPS
uninstalling packages), you must re-compile and relink the LAMMPS
executable with the same "make" command. This makefiles dependencies
should insure that only the subset of files that need to be are
recompiled.
re-compiled.
NOTE: When you build LAMMPS for the first time, a long list of *.d
files will be printed out rapidly. This is not an error; it is the
@ -71,8 +71,8 @@ Makefiles you may wish to try include these (some require a package
first be installed). Many of these include specific compiler flags
for optimized performance. Please note, however, that some of these
customized machine Makefile are contributed by users. Since both
compilers, OS configs, and LAMMPS itself keep changing, their settings
may become outdated:
compilers, OS configurations, and LAMMPS itself keep changing, their
settings may become outdated:
make mac # build serial LAMMPS on a Mac
make mac_mpi # build parallel LAMMPS on a Mac

View File

@ -42,6 +42,7 @@ packages:
"KOKKOS"_Build_extras.html#kokkos,
"LATTE"_Build_extras.html#latte,
"MEAM"_Build_extras.html#meam,
"MESSAGE"_Build_extras.html#message,
"MSCG"_Build_extras.html#mscg,
"OPT"_Build_extras.html#opt,
"POEMS"_Build_extras.html#poems,
@ -58,6 +59,7 @@ packages:
"USER-OMP"_Build_extras.html#user-omp,
"USER-QMMM"_Build_extras.html#user-qmmm,
"USER-QUIP"_Build_extras.html#user-quip,
"USER-SCAFACOS"_Build_extras.html#user-scafacos,
"USER-SMD"_Build_extras.html#user-smd,
"USER-VTK"_Build_extras.html#user-vtk :tb(c=6,ea=c,a=l)

View File

@ -80,8 +80,8 @@ per-timestep CPU cost, FFTs are only a portion of long-range
Coulombics, and 1d FFTs are only a portion of the FFT cost (parallel
communication can be costly). A breakdown of these timings is printed
to the screen at the end of a run using the "kspace_style
pppm"_kspace_style.html command. The "Run output"_doc page gives more
details.
pppm"_kspace_style.html command. The "Run output"_Run_output.html
doc page gives more details.
FFTW is a fast, portable FFT library that should also work on any
platform and can be faster than the KISS FFT library. You can
@ -101,7 +101,7 @@ Performing 3d FFTs in parallel can be time consuming due to data
access and required communication. This cost can be reduced by
performing single-precision FFTs instead of double precision. Single
precision means the real and imaginary parts of a complex datum are
4-byte floats. Double precesion means they are 8-byte doubles. Note
4-byte floats. Double precision means they are 8-byte doubles. Note
that Fourier transform and related PPPM operations are somewhat less
sensitive to floating point truncation errors and thus the resulting
error is less than the difference in precision. Using the -DFFT_SINGLE
@ -193,7 +193,7 @@ Output of JPG, PNG, and movie files :h4,link(graphics)
The "dump image"_dump_image.html command has options to output JPEG or
PNG image files. Likewise the "dump movie"_dump_image.html command
ouputs movie files in MPEG format. Using these options requires the
outputs movie files in MPEG format. Using these options requires the
following settings:
[CMake variables]:
@ -206,7 +206,7 @@ following settings:
# default = yes if CMake can find ffmpeg, else no :pre
Usually these settings are all that is needed. If CMake cannot find
the graphics header, library, executuable files, you can set these
the graphics header, library, executable files, you can set these
variables:
-D JPEG_INCLUDE_DIR=path # path to jpeglib.h header file

View File

@ -84,7 +84,7 @@ with the cross-compiler environment on Fedora machines.
Please keep in mind, though, that this only applies to compiling LAMMPS.
Whether the resulting binaries do work correctly is no tested by the
LAMMPS developers. We instead rely on the feedback of the users
of these precompiled LAMMPS packages for Windows. We will try to resolve
of these pre-compiled LAMMPS packages for Windows. We will try to resolve
issues to the best of our abilities if we become aware of them. However
this is subject to time constraints and focus on HPC platforms.

View File

@ -19,7 +19,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
All commands :h3
An alphabetic list of all LAMMPS commmands.
An alphabetic list of all LAMMPS commands.
"angle_coeff"_angle_coeff.html,
"angle_style"_angle_style.html,
@ -71,6 +71,7 @@ An alphabetic list of all LAMMPS commmands.
"lattice"_lattice.html,
"log"_log.html,
"mass"_mass.html,
"message"_message.html,
"minimize"_minimize.html,
"min_modify"_min_modify.html,
"min_style"_min_style.html,
@ -103,6 +104,7 @@ An alphabetic list of all LAMMPS commmands.
"restart"_restart.html,
"run"_run.html,
"run_style"_run_style.html,
"server"_server.html,
"set"_set.html,
"shell"_shell.html,
"special_bonds"_special_bonds.html,

View File

@ -34,7 +34,7 @@ OPT.
"fene (iko)"_bond_fene.html,
"fene/expand (o)"_bond_fene_expand.html,
"gromos (o)"_bond_gromos.html,
"harmonic (ko)"_bond_harmonic.html,
"harmonic (iko)"_bond_harmonic.html,
"harmonic/shift (o)"_bond_harmonic_shift.html,
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
"morse (o)"_bond_morse.html,
@ -57,9 +57,11 @@ OPT.
"zero"_angle_zero.html,
"hybrid"_angle_hybrid.html :tb(c=3,ea=c)
"charmm (ko)"_angle_charmm.html,
"charmm (iko)"_angle_charmm.html,
"class2 (ko)"_angle_class2.html,
"class2/p6"_angle_class2.html,
"cosine (o)"_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,
@ -70,7 +72,7 @@ OPT.
"fourier/simple (o)"_angle_fourier_simple.html,
"harmonic (iko)"_angle_harmonic.html,
"quartic (o)"_angle_quartic.html,
"sdk"_angle_sdk.html,
"sdk (o)"_angle_sdk.html,
"table (o)"_angle_table.html :tb(c=4,ea=c)
:line
@ -95,9 +97,9 @@ OPT.
"helix (o)"_dihedral_helix.html,
"multi/harmonic (o)"_dihedral_multi_harmonic.html,
"nharmonic (o)"_dihedral_nharmonic.html,
"opls (iko)"_dihedral_opls.htm;,
"opls (iko)"_dihedral_opls.html,
"quadratic (o)"_dihedral_quadratic.html,
"spherical (o)"_dihedral_spherical.html,
"spherical"_dihedral_spherical.html,
"table (o)"_dihedral_table.html,
"table/cut"_dihedral_table_cut.html :tb(c=4,ea=c)
@ -112,7 +114,7 @@ OPT.
"none"_improper_none.html,
"zero"_improper_zero.html,
"hybrid"_improper_hybrid.html :tb(c=3,ea=c)
"hybrid"_improper_hybrid.html :tb(c=3,ea=c)
"class2 (ko)"_improper_class2.html,
"cossq (o)"_improper_cossq.html,
@ -120,5 +122,6 @@ OPT.
"distance"_improper_distance.html,
"fourier (o)"_improper_fourier.html,
"harmonic (iko)"_improper_harmonic.html,
"inversion/harmonic"_improper_inversion_harmonic.html,
"ring (o)"_improper_ring.html,
"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c)

View File

@ -25,6 +25,7 @@ additional letters in parenthesis: g = GPU, i = USER-INTEL, k =
KOKKOS, o = USER-OMP, t = OPT.
"ackland/atom"_compute_ackland_atom.html,
"adf"_compute_adf.html,
"aggregate/atom"_compute_cluster_atom.html,
"angle"_compute_angle.html,
"angle/local"_compute_angle_local.html,
@ -35,6 +36,7 @@ KOKKOS, o = USER-OMP, t = OPT.
"bond/local"_compute_bond_local.html,
"centro/atom"_compute_centro_atom.html,
"chunk/atom"_compute_chunk_atom.html,
"chunk/spread/atom"_compute_chunk_spread_atom.html,
"cluster/atom"_compute_cluster_atom.html,
"cna/atom"_compute_cna_atom.html,
"cnp/atom"_compute_cnp_atom.html,
@ -91,12 +93,15 @@ KOKKOS, o = USER-OMP, t = OPT.
"pe/tally"_compute_tally.html,
"plasticity/atom"_compute_plasticity_atom.html,
"pressure"_compute_pressure.html,
"pressure/cylinder"_compute_pressure_cylinder.html,
"pressure/uef"_compute_pressure_uef.html,
"property/atom"_compute_property_atom.html,
"property/chunk"_compute_property_chunk.html,
"property/local"_compute_property_local.html,
"ptm/atom"_compute_ptm_atom.html,
"rdf"_compute_rdf.html,
"reduce"_compute_reduce.html,
"reduce/chunk"_compute_reduce_chunk.html,
"reduce/region"_compute_reduce.html,
"rigid/local"_compute_rigid_local.html,
"saed"_compute_saed.html,
@ -115,7 +120,7 @@ KOKKOS, o = USER-OMP, t = OPT.
"smd/tlsph/strain"_compute_smd_tlsph_strain.html,
"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html,
"smd/tlsph/stress"_compute_smd_tlsph_stress.html,
"smd/triangle/mesh/vertices"_compute_smd_triangle_mesh_vertices.html,
"smd/triangle/vertices"_compute_smd_triangle_vertices.html,
"smd/ulsph/num/neighs"_compute_smd_ulsph_num_neighs.html,
"smd/ulsph/strain"_compute_smd_ulsph_strain.html,
"smd/ulsph/strain/rate"_compute_smd_ulsph_strain_rate.html,
@ -126,6 +131,8 @@ KOKKOS, o = USER-OMP, t = OPT.
"snav/atom"_compute_sna_atom.html,
"spin"_compute_spin.html,
"stress/atom"_compute_stress_atom.html,
"stress/mop"_compute_stress_mop.html,
"stress/mop/profile"_compute_stress_mop.html,
"stress/tally"_compute_tally.html,
"tdpd/cc/atom"_compute_tdpd_cc_atom.html,
"temp (k)"_compute_temp.html,
@ -133,6 +140,7 @@ KOKKOS, o = USER-OMP, t = OPT.
"temp/body"_compute_temp_body.html,
"temp/chunk"_compute_temp_chunk.html,
"temp/com"_compute_temp_com.html,
"temp/cs"_compute_temp_cs.html,
"temp/deform"_compute_temp_deform.html,
"temp/deform/eff"_compute_temp_deform_eff.html,
"temp/drude"_compute_temp_drude.html,

View File

@ -40,11 +40,13 @@ OPT.
"ave/time"_fix_ave_time.html,
"aveforce"_fix_aveforce.html,
"balance"_fix_balance.html,
"bocs"_fix_bocs.html,
"bond/break"_fix_bond_break.html,
"bond/create"_fix_bond_create.html,
"bond/react"_fix_bond_react.html,
"bond/swap"_fix_bond_swap.html,
"box/relax"_fix_box_relax.html,
"client/md"_fix_client_md.html,
"cmap"_fix_cmap.html,
"colvars"_fix_colvars.html,
"controller"_fix_controller.html,
@ -54,7 +56,7 @@ OPT.
"drag"_fix_drag.html,
"drude"_fix_drude.html,
"drude/transform/direct"_fix_drude_transform.html,
"drude/transform/reverse"_fix_drude_transform.html,
"drude/transform/inverse"_fix_drude_transform.html,
"dt/reset"_fix_dt_reset.html,
"edpd/source"_fix_dpd_source.html,
"efield"_fix_efield.html,
@ -65,13 +67,14 @@ OPT.
"eos/table/rx (k)"_fix_eos_table_rx.html,
"evaporate"_fix_evaporate.html,
"external"_fix_external.html,
"ffl"_fix_ffl.html,
"filter/corotate"_fix_filter_corotate.html,
"flow/gauss"_fix_flow_gauss.html,
"freeze"_fix_freeze.html,
"freeze (k)"_fix_freeze.html,
"gcmc"_fix_gcmc.html,
"gld"_fix_gld.html,
"gle"_fix_gle.html,
"gravity (o)"_fix_gravity.html,
"gravity (ko)"_fix_gravity.html,
"grem"_fix_grem.html,
"halt"_fix_halt.html,
"heat"_fix_heat.html,
@ -104,17 +107,18 @@ OPT.
"nph/asphere (o)"_fix_nph_asphere.html,
"nph/body"_fix_nph_body.html,
"nph/eff"_fix_nh_eff.html,
"nph/sphere (o)"_fix_nph_sphere.html,
"nph/sphere (ko)"_fix_nph_sphere.html,
"nphug (o)"_fix_nphug.html,
"npt (kio)"_fix_nh.html,
"npt (iko)"_fix_nh.html,
"npt/asphere (o)"_fix_npt_asphere.html,
"npt/body"_fix_npt_body.html,
"npt/eff"_fix_nh_eff.html,
"npt/sphere (o)"_fix_npt_sphere.html,
"npt/uef"_fix_nh_uef.html,
"nve (kio)"_fix_nve.html,
"nve (iko)"_fix_nve.html,
"nve/asphere (i)"_fix_nve_asphere.html,
"nve/asphere/noforce"_fix_nve_asphere_noforce.html,
"nve/awpmd"_fix_nve_awpmd.html,
"nve/body"_fix_nve_body.html,
"nve/dot"_fix_nve_dot.html,
"nve/dotc/langevin"_fix_nve_dotc_langevin.html,
@ -169,26 +173,26 @@ OPT.
"rhok"_fix_rhok.html,
"rigid (o)"_fix_rigid.html,
"rigid/nph (o)"_fix_rigid.html,
"rigid/nph/small"_fix_rigid.html,
"rigid/npt (o)"_fix_rigid.html,
"rigid/npt/small"_fix_rigid.html,
"rigid/nve (o)"_fix_rigid.html,
"rigid/nve/small"_fix_rigid.html,
"rigid/nvt (o)"_fix_rigid.html,
"rigid/nvt/small"_fix_rigid.html,
"rigid/small (o)"_fix_rigid.html,
"rigid/small/nph"_fix_rigid.html,
"rigid/small/npt"_fix_rigid.html,
"rigid/small/nve"_fix_rigid.html,
"rigid/small/nvt"_fix_rigid.html,
"rx (k)"_fix_rx.html,
"saed/vtk"_fix_saed_vtk.html,
"setforce (k)"_fix_setforce.html,
"shake"_fix_shake.html,
"shardlow (k)"_fix_shardlow.html,
"smd"_fix_smd.html,
"smd/adjust/dt"_fix_smd_adjust_dt.html,
"smd/integrate/tlsph"_fix_smd_integrate_tlsph.html,
"smd/integrate/ulsph"_fix_smd_integrate_ulsph.html,
"smd/move/triangulated/surface"_fix_smd_move_triangulated_surface.html,
"smd/adjust_dt"_fix_smd_adjust_dt.html,
"smd/integrate_tlsph"_fix_smd_integrate_tlsph.html,
"smd/integrate_ulsph"_fix_smd_integrate_ulsph.html,
"smd/move_tri_surf"_fix_smd_move_triangulated_surface.html,
"smd/setvel"_fix_smd_setvel.html,
"smd/wall/surface"_fix_smd_wall_surface.html,
"smd/wall_surface"_fix_smd_wall_surface.html,
"spring"_fix_spring.html,
"spring/chunk"_fix_spring_chunk.html,
"spring/rg"_fix_spring_rg.html,
@ -216,7 +220,7 @@ OPT.
"wall/body/polyhedron"_fix_wall_body_polyhedron.html,
"wall/colloid"_fix_wall.html,
"wall/ees"_fix_wall_ees.html,
"wall/gran"_fix_wall_gran.html,
"wall/gran (o)"_fix_wall_gran.html,
"wall/gran/region"_fix_wall_gran_region.html,
"wall/harmonic"_fix_wall.html,
"wall/lj1043"_fix_wall.html,

View File

@ -33,4 +33,5 @@ OPT.
"pppm/disp (i)"_kspace_style.html,
"pppm/disp/tip4p"_kspace_style.html,
"pppm/stagger"_kspace_style.html,
"pppm/tip4p (o)"_kspace_style.html :tb(c=4,ea=c)
"pppm/tip4p (o)"_kspace_style.html,
"scafacos"_kspace_style.html :tb(c=4,ea=c)

View File

@ -26,13 +26,14 @@ OPT.
"none"_pair_none.html,
"zero"_pair_zero.html,
"hybrid"_pair_hybrid.html,
"hybrid (k)"_pair_hybrid.html,
"hybrid/overlay (k)"_pair_hybrid.html :tb(c=4,ea=c)
"adp (o)"_pair_adp.html,
"agni (o)"_pair_agni.html,
"airebo (oi)"_pair_airebo.html,
"airebo/morse (oi)"_pair_airebo.html,
"airebo (io)"_pair_airebo.html,
"airebo/morse (io)"_pair_airebo.html,
"atm"_pair_atm.html,
"awpmd/cut"_pair_awpmd.html,
"beck (go)"_pair_beck.html,
"body/nparticle"_pair_body_nparticle.html,
@ -41,21 +42,23 @@ OPT.
"bop"_pair_bop.html,
"born (go)"_pair_born.html,
"born/coul/dsf"_pair_born.html,
"born/coul/dsf/cs"_pair_born.html,
"born/coul/dsf/cs"_pair_cs.html,
"born/coul/long (go)"_pair_born.html,
"born/coul/long/cs"_pair_born.html,
"born/coul/long/cs (g)"_pair_cs.html,
"born/coul/msm (o)"_pair_born.html,
"born/coul/wolf (go)"_pair_born.html,
"born/coul/wolf/cs"_pair_born.html,
"born/coul/wolf/cs (g)"_pair_cs.html,
"brownian (o)"_pair_brownian.html,
"brownian/poly (o)"_pair_brownian.html,
"buck (giko)"_pair_buck.html,
"buck/coul/cut (giko)"_pair_buck.html,
"buck/coul/long (giko)"_pair_buck.html,
"buck/coul/long/cs"_pair_buck.html,
"buck/coul/long/cs"_pair_cs.html,
"buck/coul/msm (o)"_pair_buck.html,
"buck/long/coul/long (o)"_pair_buck_long.html,
"buck/mdf"_pair_mdf.html,
"buck6d/coul/gauss/dsf"_pair_buck6d_coul_gauss.html,
"buck6d/coul/gauss/long"_pair_buck6d_coul_gauss.html,
"colloid (go)"_pair_colloid.html,
"comb (o)"_pair_comb.html,
"comb3"_pair_comb.html,
@ -65,13 +68,13 @@ OPT.
"coul/diel (o)"_pair_coul_diel.html,
"coul/dsf (gko)"_pair_coul.html,
"coul/long (gko)"_pair_coul.html,
"coul/long/cs"_pair_coul.html,
"coul/long/cs (g)"_pair_cs.html,
"coul/long/soft (o)"_pair_lj_soft.html,
"coul/msm"_pair_coul.html,
"coul/msm (o)"_pair_coul.html,
"coul/shield"_pair_coul_shield.html,
"coul/streitz"_pair_coul.html,
"coul/wolf (ko)"_pair_coul.html,
"coul/wolf/cs"_pair_coul.html,
"coul/wolf/cs"_pair_cs.html,
"dpd (gio)"_pair_dpd.html,
"dpd/fdt"_pair_dpd_fdt.html,
"dpd/fdt/energy (k)"_pair_dpd_fdt.html,
@ -80,6 +83,7 @@ OPT.
"eam (gikot)"_pair_eam.html,
"eam/alloy (gikot)"_pair_eam.html,
"eam/cd (o)"_pair_eam.html,
"eam/cd/old (o)"_pair_eam.html,
"eam/fs (gikot)"_pair_eam.html,
"edip (o)"_pair_edip.html,
"edip/multi"_pair_edip.html,
@ -89,11 +93,11 @@ OPT.
"exp6/rx (k)"_pair_exp6_rx.html,
"extep"_pair_extep.html,
"gauss (go)"_pair_gauss.html,
"gauss/cut"_pair_gauss.html,
"gauss/cut (o)"_pair_gauss.html,
"gayberne (gio)"_pair_gayberne.html,
"gran/hertz/history (o)"_pair_gran.html,
"gran/hooke (o)"_pair_gran.html,
"gran/hooke/history (o)"_pair_gran.html,
"gran/hooke/history (ko)"_pair_gran.html,
"gw"_pair_gw.html,
"gw/zbl"_pair_gw.html,
"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html,
@ -108,9 +112,9 @@ OPT.
"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 (giko)"_pair_charmm.html,
"lj/charmm/coul/long/soft (o)"_pair_charmm.html,
"lj/charmm/coul/msm"_pair_charmm.html,
"lj/charmm/coul/long (gikot)"_pair_charmm.html,
"lj/charmm/coul/long/soft (o)"_pair_lj_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,
@ -123,12 +127,12 @@ OPT.
"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_lj.html,
"lj/cut/coul/long/cs"_pair_cs.html,
"lj/cut/coul/long/soft (o)"_pair_lj_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"_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/thole/long (o)"_pair_thole.html,
@ -136,15 +140,17 @@ OPT.
"lj/cut/tip4p/long (ot)"_pair_lj.html,
"lj/cut/tip4p/long/soft (o)"_pair_lj_soft.html,
"lj/expand (gko)"_pair_lj_expand.html,
"lj/expand/coul/long (g)"_pair_lj_expand.html,
"lj/gromacs (gko)"_pair_gromacs.html,
"lj/gromacs/coul/gromacs (ko)"_pair_gromacs.html,
"lj/long/coul/long (io)"_pair_lj_long.html,
"lj/long/coul/long (iot)"_pair_lj_long.html,
"lj/long/dipole/long"_pair_dipole.html,
"lj/long/tip4p/long"_pair_lj_long.html,
"lj/long/tip4p/long (o)"_pair_lj_long.html,
"lj/mdf"_pair_mdf.html,
"lj/sdk (gko)"_pair_sdk.html,
"lj/sdk/coul/long (go)"_pair_sdk.html,
"lj/sdk/coul/msm (o)"_pair_sdk.html,
"lj/sf/dipole/sf (go)"_pair_dipole.html,
"lj/smooth (o)"_pair_lj_smooth.html,
"lj/smooth/linear (o)"_pair_lj_smooth_linear.html,
"lj96/cut (go)"_pair_lj96.html,
@ -159,14 +165,14 @@ OPT.
"meam/spline (o)"_pair_meam_spline.html,
"meam/sw/spline"_pair_meam_sw_spline.html,
"mgpt"_pair_mgpt.html,
"mie/cut (o)"_pair_mie.html,
"mie/cut (g)"_pair_mie.html,
"momb"_pair_momb.html,
"morse (gkot)"_pair_morse.html,
"morse/smooth/linear"_pair_morse.html,
"morse/smooth/linear (o)"_pair_morse.html,
"morse/soft"_pair_morse.html,
"multi/lucy"_pair_multi_lucy.html,
"multi/lucy/rx (k)"_pair_multi_lucy_rx.html,
"nb3b/harmonic (o)"_pair_nb3b_harmonic.html,
"nb3b/harmonic"_pair_nb3b_harmonic.html,
"nm/cut (o)"_pair_nm.html,
"nm/cut/coul/cut (o)"_pair_nm.html,
"nm/cut/coul/long (o)"_pair_nm.html,
@ -178,7 +184,9 @@ OPT.
"oxdna2/coaxstk"_pair_oxdna2.html,
"oxdna2/dh"_pair_oxdna2.html,
"oxdna2/excv"_pair_oxdna2.html,
"oxdna2/hbond"_pair_oxdna2.html,
"oxdna2/stk"_pair_oxdna2.html,
"oxdna2/xstk"_pair_oxdna2.html,
"peri/eps"_pair_peri.html,
"peri/lps (o)"_pair_peri.html,
"peri/pmb (o)"_pair_peri.html,
@ -188,11 +196,11 @@ OPT.
"quip"_pair_quip.html,
"reax"_pair_reax.html,
"reax/c (ko)"_pair_reaxc.html,
"rebo (oi)"_pair_airebo.html,
"rebo (io)"_pair_airebo.html,
"resquared (go)"_pair_resquared.html,
"smd/hertz"_pair_smd_hertz.html,
"smd/tlsph"_pair_smd_tlsph.html,
"smd/triangulated/surface"_pair_smd_triangulated_surface.html,
"smd/tri_surface"_pair_smd_triangulated_surface.html,
"smd/ulsph"_pair_smd_ulsph.html,
"smtbq"_pair_smtbq.html,
"snap (k)"_pair_snap.html,
@ -224,8 +232,8 @@ OPT.
"tip4p/long/soft (o)"_pair_lj_soft.html,
"tri/lj"_pair_tri_lj.html,
"ufm (got)"_pair_ufm.html,
"vashishta (ko)"_pair_vashishta.html,
"vashishta (gko)"_pair_vashishta.html,
"vashishta/table (o)"_pair_vashishta.html,
"yukawa (gok)"_pair_yukawa.html,
"yukawa (gko)"_pair_yukawa.html,
"yukawa/colloid (go)"_pair_yukawa_colloid.html,
"zbl (gok)"_pair_zbl.html :tb(c=4,ea=c)
"zbl (gko)"_pair_zbl.html :tb(c=4,ea=c)

View File

@ -14,7 +14,7 @@ LAMMPS commands are case sensitive. Command names are lower-case, as
are specified command arguments. Upper case letters may be used in
file names or user-chosen ID strings.
Here are 6 rulse for how each line in the input script is parsed by
Here are 6 rules for how each line in the input script is parsed by
LAMMPS:
(1) If the last printable character on the line is a "&" character,
@ -71,7 +71,7 @@ floating-point value. The format string is used to output the result
of the variable expression evaluation. If a format string is not
specified a high-precision "%.20g" is used as the default.
This can be useful for formatting print output to a desired precion:
This can be useful for formatting print output to a desired precision:
print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom" :pre

View File

@ -22,10 +22,10 @@ users.
LAMMPS source files are in two directories of the distribution
tarball. The src directory has the majority of them, all of which are
C++ files (*.cpp and *.h). Many of these files are in the src
directory itself. There are also dozens of "packages", which can be
directory itself. There are also dozens of ``packages'', which can be
included or excluded when LAMMPS is built. See the
doc/Section\_build.html section of the manual for more information
about packages, or type "make" from within the src directory, which
about packages, or type ``make'' from within the src directory, which
lists package-related commands, such as ``make package-status''. The
source files for each package are in an all-uppercase sub-directory of
src, like src/MOLECULE or src/USER-CUDA. If the package is currently
@ -38,17 +38,17 @@ The lib directory also contains source code for external libraries,
used by a few of the packages. Each sub-directory, like meam or gpu,
contains the source files, some of which are in different languages
such as Fortran. The files are compiled into libraries from within
each sub-directory, e.g. performing a "make" in the lib/meam directory
each sub-directory, e.g. performing a ``make'' in the lib/meam directory
creates a libmeam.a file. These libraries are linked to during a
LAMMPS build, if the corresponding package is installed.
LAMMPS C++ source files almost always come in pairs, such as run.cpp
and run.h. The pair of files defines a C++ class, the Run class in
this case, which contains the code invoked by the "run" command in a
this case, which contains the code invoked by the ``run'' command in a
LAMMPS input script. As this example illustrates, source file and
class names often have a one-to-one correspondence with a command used
in a LAMMPS input script. Some source files and classes do not have a
corresponding input script command, e.g. force.cpp and the Force
corresponding input script command, e.g. ``force.cpp'' and the Force
class. They are discussed in the next section.
\pagebreak
@ -57,12 +57,12 @@ class. They are discussed in the next section.
Though LAMMPS has a lot of source files and classes, its class
hierarchy is quite simple, as outlined in Fig \ref{fig:classes}. Each
boxed name refers to a class and has a pair of associated source files
in lammps/src, e.g. memory.cpp and memory.h. More details on the
in lammps/src, e.g. ``memory.cpp'' and ``memory.h''. More details on the
class and its methods and data structures can be found by examining
its *.h file.
LAMMPS (lammps.cpp/h) is the top-level class for the entire code. It
holds an "instance" of LAMMPS and can be instantiated one or more
holds an ``instance'' of LAMMPS and can be instantiated one or more
times by a calling code. For example, the file src/main.cpp simply
instantiates one instance of LAMMPS and passes it the input script.
@ -81,7 +81,7 @@ enabled by a bit of cleverness in the Pointers class (see
src/pointers.h) which every class inherits from.
There are a handful of virtual parent classes in LAMMPS that define
what LAMMPS calls "styles". They are shaded red in Fig
what LAMMPS calls ``styles''. They are shaded red in Fig
\ref{fig:classes}. Each of these are parents of a number of child
classes that implement the interface defined by the parent class. For
example, the fix style has around 100 child classes. They are the
@ -89,17 +89,17 @@ possible fixes that can be specified by the fix command in an input
script, e.g. fix nve, fix shake, fix ave/time, etc. The corresponding
classes are Fix (for the parent class), FixNVE, FixShake, FixAveTime,
etc. The source files for these classes are easy to identify in the
src directory, since they begin with the word "fix", e,g,
src directory, since they begin with the word ``fix'', e,g,
fix\_nve.cpp, fix\_shake,cpp, fix\_ave\_time.cpp, etc.
The one exception is child class files for the "command" style. These
The one exception is child class files for the ``command'' style. These
implement specific commands in the input script that can be invoked
before/after/between runs or which launch a simulation. Examples are
the create\_box, minimize, run, and velocity commands which encode the
CreateBox, Minimize, Run, and Velocity classes. The corresponding
files are create\_box,cpp, minimize.cpp, run.cpp, and velocity.cpp.
The list of command style files can be found by typing "grep
COMMAND\_CLASS *.h" from within the src directory, since that word in
The list of command style files can be found by typing ``grep
COMMAND\_CLASS *.h'' from within the src directory, since that word in
the header file identifies the class as an input script command.
Similar words can be grepped to list files for the other LAMMPS
styles. E.g. ATOM\_CLASS, PAIR\_CLASS, BOND\_CLASS, REGION\_CLASS,
@ -471,13 +471,13 @@ FixStyle(your/fix/name,FixMine)
\end{verbatim}
\end{center}
Where "your/fix/name" is a name of your fix in the script and FixMine
Where ``your/fix/name'' is a name of your fix in the script and FixMine
is the name of the class. This code allows LAMMPS to find your fix
when it parses input script. In addition, your fix header must be
included in the file "style\_fix.h". In case if you use LAMMPS make,
included in the file ``style\_fix.h''. In case if you use LAMMPS make,
this file is generated automatically - all files starting with prefix
fix\_ are included, so call your header the same way. Otherwise, don't
forget to add your include into "style\_fix.h".
forget to add your include into ``style\_fix.h''.
Let's write a simple fix which will print average velocity at the end
of each timestep. First of all, implement a constructor:
@ -567,11 +567,11 @@ void FixPrintVel::end_of_step()
\end{center}
In the code above, we use MathExtra routines defined in
"math\_extra.h". There are bunch of math functions to work with
``math\_extra.h''. There are bunch of math functions to work with
arrays of doubles as with math vectors.
In this code we use an instance of Atom class. This object is stored
in the Pointers class (see "pointers.h"). This object contains all
in the Pointers class (see ``pointers.h''). This object contains all
global information about the simulation system. Data from Pointers
class available to all classes inherited from it using protected
inheritance. Hence when you write you own class, which is going to use
@ -689,7 +689,7 @@ int FixSavePos::unpack_exchange(int nlocal, double *buf)
Now, a little bit about memory allocation. We used Memory class which
is just a bunch of template functions for allocating 1D and 2D
arrays. So you need to add include "memory.h" to have access to them.
arrays. So you need to add include ``memory.h'' to have access to them.
Finally, if you need to write/read some global information used in
your fix to the restart file, you might do it by setting flag

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

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

@ -0,0 +1,9 @@
\documentclass[12pt]{article}
\begin{document}
\begin{equation}
E=\nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3}
\end{equation}
\end{document}

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

21
doc/src/Eqs/ptm_rmsd.tex Normal file
View File

@ -0,0 +1,21 @@
\documentclass[12pt,article]{article}
\usepackage{indentfirst}
\usepackage{amsmath}
\newcommand{\set}[1]{\ensuremath{\mathbf{#1}}}
\newcommand{\mean}[1]{\ensuremath{\overline{#1}}}
\newcommand{\norm}[1]{\ensuremath{\left|\left|{#1}\right|\right|}}
\begin{document}
\begin{equation*}
\text{RMSD}(\set{u}, \set{v}) = \min_{s, \set{Q}} \sqrt{\frac{1}{N} \sum\limits_{i=1}^{N}
\norm{
s[\vec{u_i} - \mean{\set{u}}]
-
\set{Q} \vec{v_i}
}^2}
\end{equation*}
\end{document}

View File

@ -743,7 +743,7 @@ Self-explanatory. :dd
Self-explanatory. :dd
{Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and recompile)} :dt
{Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and re-compile)} :dt
Single precision cannot be used with MSM. :dd
@ -1092,11 +1092,6 @@ correct. :dd
The specified file cannot be opened. Check that the path and name are
correct. :dd
{Cannot open fix ave/spatial file %s} :dt
The specified file cannot be opened. Check that the path and name are
correct. :dd
{Cannot open fix ave/time file %s} :dt
The specified file cannot be opened. Check that the path and name are
@ -1677,10 +1672,6 @@ provided by an atom map. An atom map does not exist (by default) for
non-molecular problems. Using the atom_modify map command will force
an atom map to be created. :dd
{Cannot use fix ave/spatial z for 2 dimensional model} :dt
Self-explanatory. :dd
{Cannot use fix bond/break with non-molecular systems} :dt
Only systems with bonds that can be changed can be used. Atom_style
@ -2425,10 +2416,6 @@ Self-explanatory. :dd
Self-explanatory. :dd
{Compute ID for fix ave/spatial does not exist} :dt
Self-explanatory. :dd
{Compute ID for fix ave/time does not exist} :dt
Self-explanatory. :dd
@ -4074,10 +4061,6 @@ Self-explanatory. :dd
Self-explanatory. :dd
{Fix ID for fix ave/spatial does not exist} :dt
Self-explanatory. :dd
{Fix ID for fix ave/time does not exist} :dt
Self-explanatory. :dd
@ -4379,51 +4362,6 @@ same style. :dd
Self-explanatory. :dd
{Fix ave/spatial compute does not calculate a per-atom array} :dt
Self-explanatory. :dd
{Fix ave/spatial compute does not calculate a per-atom vector} :dt
A compute used by fix ave/spatial must generate per-atom values. :dd
{Fix ave/spatial compute does not calculate per-atom values} :dt
A compute used by fix ave/spatial must generate per-atom values. :dd
{Fix ave/spatial compute vector is accessed out-of-range} :dt
The index for the vector is out of bounds. :dd
{Fix ave/spatial fix does not calculate a per-atom array} :dt
Self-explanatory. :dd
{Fix ave/spatial fix does not calculate a per-atom vector} :dt
A fix used by fix ave/spatial must generate per-atom values. :dd
{Fix ave/spatial fix does not calculate per-atom values} :dt
A fix used by fix ave/spatial must generate per-atom values. :dd
{Fix ave/spatial fix vector is accessed out-of-range} :dt
The index for the vector is out of bounds. :dd
{Fix ave/spatial for triclinic boxes requires units reduced} :dt
Self-explanatory. :dd
{Fix ave/spatial settings invalid with changing box size} :dt
If the box size changes, only the units reduced option can be
used. :dd
{Fix ave/spatial variable is not atom-style variable} :dt
A variable used by fix ave/spatial must generate per-atom values. :dd
{Fix ave/time cannot set output array intensive/extensive from these inputs} :dt
One of more of the vector inputs has individual elements which are
@ -5078,7 +5016,7 @@ Self-explanatory. :dd
Occurs when number of neighbor atoms for an atom increased too much
during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and
recompile. :dd
re-compile. :dd
{Fix qeq/point requires atom attribute q} :dt
@ -5092,7 +5030,7 @@ Self-explanatory. :dd
Occurs when number of neighbor atoms for an atom increased too much
during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and
recompile. :dd
re-compile. :dd
{Fix qeq/shielded requires atom attribute q} :dt
@ -5110,7 +5048,7 @@ Self-explanatory. :dd
Occurs when number of neighbor atoms for an atom increased too much
during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and
recompile. :dd
re-compile. :dd
{Fix qeq/slater requires atom attribute q} :dt
@ -5541,7 +5479,7 @@ See the package gpu command. :dd
{GPUs are requested but Kokkos has not been compiled for CUDA} :dt
Recompile Kokkos with CUDA support to use GPUs. :dd
Re-compile Kokkos with CUDA support to use GPUs. :dd
{Ghost velocity forward comm not yet implemented with Kokkos} :dt

View File

@ -13,7 +13,7 @@ This is an alphabetic list of the WARNING messages LAMMPS prints out
and the reason why. If the explanation here is not sufficient, the
documentation for the offending command may help. Warning messages
also list the source file and line number where the warning was
generated. For example, a message lile this:
generated. For example, a message like this:
WARNING: Bond atom missing in box size check (domain.cpp:187) :pre
@ -291,24 +291,6 @@ This may cause accuracy problems. :dd
This may cause accuracy problems. :dd
{Fix thermal/conductivity comes before fix ave/spatial} :dt
The order of these 2 fixes in your input script is such that fix
thermal/conductivity comes first. If you are using fix ave/spatial to
measure the temperature profile induced by fix viscosity, then this
may cause a glitch in the profile since you are averaging immediately
after swaps have occurred. Flipping the order of the 2 fixes
typically helps. :dd
{Fix viscosity comes before fix ave/spatial} :dt
The order of these 2 fixes in your input script is such that
fix viscosity comes first. If you are using fix ave/spatial
to measure the velocity profile induced by fix viscosity, then
this may cause a glitch in the profile since you are averaging
immediately after swaps have occurred. Flipping the order
of the 2 fixes typically helps. :dd
{Fixes cannot send data in Kokkos communication, switching to classic communication} :dt
This is current restriction with Kokkos. :dd

View File

@ -54,6 +54,7 @@ General howto :h3
Howto_replica
Howto_library
Howto_couple
Howto_client_server
END_RST -->
@ -64,7 +65,8 @@ END_RST -->
"Run multiple simulations from one input script"_Howto_multiple.html
"Multi-replica simulations"_Howto_replica.html
"Library interface to LAMMPS"_Howto_library.html
"Couple LAMMPS to other codes"_Howto_couple.html :all(b)
"Couple LAMMPS to other codes"_Howto_couple.html
"Using LAMMPS in client/server mode"_Howto_client_server.html :all(b)
<!-- END_HTML_ONLY -->

View File

@ -64,11 +64,11 @@ Thermodynamic output, which can be setup via the
"thermo_style"_thermo_style.html command, often includes pressure
values. As explained on the doc page for the
"thermo_style"_thermo_style.html command, the default pressure is
setup by the thermo command itself. It is NOT the presure associated
setup by the thermo command itself. It is NOT the pressure associated
with any barostatting fix you have defined or with any compute you
have defined that calculates a presure. The doc pages for the
have defined that calculates a pressure. The doc pages for the
barostatting fixes explain the ID of the pressure compute they create.
Thus if you want to view these pressurse, you need to specify them
Thus if you want to view these pressures, you need to specify them
explicitly via the "thermo_style custom"_thermo_style.html command.
Or you can use the "thermo_modify"_thermo_modify.html command to
re-define what pressure compute is used for default thermodynamic

View File

@ -337,7 +337,7 @@ the sphere that surrounds each vertex. The diameter value can be
different for each body particle. These floating-point values can be
listed on as many lines as you wish; see the
"read_data"_read_data.html command for more details. Because the
maxmimum vertices per face is hard-coded to be 4
maximum number of vertices per face is hard-coded to be 4
(i.e. quadrilaterals), faces with more than 4 vertices need to be
split into triangles or quadrilaterals. For triangular faces, the
last vertex index should be set to -1.

View File

@ -22,7 +22,7 @@ commands, to calculate various properties of a system:
"fix ave/chunk"_fix_ave_chunk.html
any of the "compute */chunk"_compute.html commands :ul
Here, each of the 3 kinds of chunk-related commands is briefly
Here, each of the 4 kinds of chunk-related commands is briefly
overviewed. Then some examples are given of how to compute different
properties with chunk commands.
@ -83,8 +83,9 @@ chunk.
Compute */chunk commands: :h4
Currently the following computes operate on chunks of atoms to produce
per-chunk values.
The following computes operate on chunks of atoms to produce per-chunk
values. Any compute whose style name ends in "/chunk" is in this
category:
"compute com/chunk"_compute_com_chunk.html
"compute gyration/chunk"_compute_gyration_chunk.html
@ -111,8 +112,8 @@ of a center of mass, which requires summing mass*position over the
atoms and then dividing by summed mass.
All of these computes produce a global vector or global array as
output, wih one or more values per chunk. They can be used
in various ways:
output, wih one or more values per chunk. The output can be used in
various ways:
As input to the "fix ave/time"_fix_ave_time.html command, which can
write the values to a file and optionally time average them. :ulb,l
@ -122,9 +123,27 @@ histogram values across chunks. E.g. a histogram of cluster sizes or
molecule diffusion rates. :l
As input to special functions of "equal-style
variables"_variable.html, like sum() and max(). E.g. to find the
largest cluster or fastest diffusing molecule. :l
:ule
variables"_variable.html, like sum() and max() and ave(). E.g. to
find the largest cluster or fastest diffusing molecule or average
radius-of-gyration of a set of molecules (chunks). :l,ule
Other chunk commands: :h4
"compute chunk/spread/atom"_compute_chunk_spread_atom.html
"compute reduce/chunk"_compute_reduce_chunk.html :ul
The "compute chunk/spread/atom"_compute_chunk_spread_atom.html command
spreads per-chunk values to each atom in the chunk, producing per-atom
values as its output. This can be useful for outputting per-chunk
values to a per-atom "dump file"_dump.html. Or for using an atom's
associated chunk value in an "atom-style variable"_variable.html.
The "compute reduce/chunk"_compute_reduce_chunk.html command reduces a
peratom value across the atoms in each chunk to produce a value per
chunk. When used with the "compute
chunk/spread/atom"_compute_chunk_spread_atom.html command it can
create peratom values that induce a new set of chunks with a second
"compute chunk/atom"_compute_chunk_atom.html command.
Example calculations with chunks :h4
@ -164,3 +183,13 @@ compute cluster all cluster/atom 1.0
compute cc1 all chunk/atom c_cluster compress yes
compute size all property/chunk cc1 count
fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre
(6) An example of using a per-chunk value to apply per-atom forces to
compress individual polymer chains (molecules) in a mixture, is
explained on the "compute
chunk/spread/atom"_compute_chunk_spread_atom.html command doc page.
(7) An example of using one set of per-chunk values for molecule
chunks, to create a 2nd set of micelle-scale chunks (clustered
molecules, due to hydrophobicity), is explained on the "compute
chunk/reduce"_compute_reduce_chunk.html command doc page.

View File

@ -0,0 +1,131 @@
"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands_all.html)
:line
Using LAMMPS in client/server mode :h3
Client/server coupling of two codes is where one code is the "client"
and sends request messages to a "server" code. The server responds to
each request with a reply message. This enables the two codes to work
in tandem to perform a simulation. LAMMPS can act as either a client
or server code.
Some advantages of client/server coupling are that the two codes run
as stand-alone executables; they are not linked together. Thus
neither code needs to have a library interface. This often makes it
easier to run the two codes on different numbers of processors. If a
message protocol (format and content) is defined for a particular kind
of simulation, then in principle any code that implements the
client-side protocol can be used in tandem with any code that
implements the server-side protocol, without the two codes needing to
know anything more specific about each other.
A simple example of client/server coupling is where LAMMPS is the
client code performing MD timestepping. Each timestep it sends a
message to a server quantum code containing current coords of all the
atoms. The quantum code computes energy and forces based on the
coords. It returns them as a message to LAMMPS, which completes the
timestep.
Alternate methods for code coupling with LAMMPS are described on
the "Howto couple"_Howto_couple.html doc page.
LAMMPS support for client/server coupling is in its "MESSAGE
package"_Packages_details.html#PKG-MESSAGE which implements several
commands that enable LAMMPS to act as a client or server, as discussed
below. The MESSAGE package also wraps a client/server library called
CSlib which enables two codes to exchange messages in different ways,
either via files, sockets, or MPI. The CSlib is provided with LAMMPS
in the lib/message dir. The CSlib has its own
"website"_http://cslib.sandia.gov with documentation and test
programs.
NOTE: For client/server coupling to work between LAMMPS and another
code, the other code also has to use the CSlib. This can sometimes be
done without any modifications to the other code by simply wrapping it
with a Python script that exchanges CSlib messages with LAMMPS and
prepares input for or processes output from the other code. The other
code also has to implement a matching protocol for the format and
content of messages that LAMMPS exchanges with it.
These are the commands currently in the MESSAGE package for two
protocols, MD and MC (Monte Carlo). New protocols can easily be
defined and added to this directory, where LAMMPS acts as either the
client or server.
"message"_message.html
"fix client md"_fix_client_md.html = LAMMPS is a client for running MD
"server md"_server_md.html = LAMMPS is a server for computing MD forces
"server mc"_server_mc.html = LAMMPS is a server for computing a Monte Carlo energy :ul
The server doc files give details of the message protocols
for data that is exchanged bewteen the client and server.
These example directories illustrate how to use LAMMPS as either a
client or server code:
examples/message
examples/COUPLE/README
examples/COUPLE/lammps_mc
examples/COUPLE/lammps_vasp :ul
The examples/message dir couples a client instance of LAMMPS to a
server instance of LAMMPS.
The lammps_mc dir shows how to couple LAMMPS as a server to a simple
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.
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
and the CSlib support. Here LAMMPS is used as both the client and
server code. Another code could be subsitituted for either.
The examples below show launching both codes from the same window (or
batch script), using the "&" character to launch the first code in the
background. For all modes except {mpi/one}, you could also launch the
codes in separate windows on your desktop machine. It does not
matter whether you launch the client or server first.
In these examples either code can be run on one or more processors.
If running in a non-MPI mode (file or zmq) you can launch a code on a
single processor without using mpirun.
IMPORTANT: If you run in mpi/two mode, you must launch both codes via
mpirun, even if one or both of them runs on a single processor. This
is so that MPI can figure out how to connect both MPI processes
together to exchange MPI messages between them.
For message exchange in {file}, {zmq}, or {mpi/two} modes:
% mpirun -np 1 lmp_mpi -log log.client < in.client &
% mpirun -np 2 lmp_mpi -log log.server < in.server :pre
% mpirun -np 4 lmp_mpi -log log.client < in.client &
% mpirun -np 1 lmp_mpi -log log.server < in.server :pre
% mpirun -np 2 lmp_mpi -log log.client < in.client &
% mpirun -np 4 lmp_mpi -log log.server < in.server :pre
For message exchange in {mpi/one} mode:
Launch both codes in a single mpirun command:
mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -log log.server :pre
The two -np values determine how many procs the client and the server
run on.
A LAMMPS executable run in this manner must use the -mpicolor color
command-line option as their its option, where color is an integer
label that will be used to distinguish one executable from another in
the multiple executables that the mpirun command launches. In this
example the client was colored with a 0, and the server with a 1.

View File

@ -16,10 +16,12 @@ atoms and pass those forces to LAMMPS. Or a continuum finite element
nodal points, compute a FE solution, and return interpolated forces on
MD atoms.
LAMMPS can be coupled to other codes in at least 3 ways. Each has
LAMMPS can be coupled to other codes in at least 4 ways. Each has
advantages and disadvantages, which you'll have to think about in the
context of your application.
:line
(1) Define a new "fix"_fix.html command that calls the other code. In
this scenario, LAMMPS is the driver code. During its timestepping,
the fix is invoked, and can make library calls to the other code,
@ -32,6 +34,8 @@ LAMMPS.
:link(poems,http://www.rpi.edu/~anderk5/lab)
:line
(2) Define a new LAMMPS command that calls the other code. This is
conceptually similar to method (1), but in this case LAMMPS and the
other code are on a more equal footing. Note that now the other code
@ -52,6 +56,8 @@ command writes and reads.
See the "Modify command"_Modify_command.html doc page for info on how
to add a new command to LAMMPS.
:line
(3) Use LAMMPS as a library called by another code. In this case the
other code is the driver and calls LAMMPS as needed. Or a wrapper
code could link and call both LAMMPS and another code as libraries.
@ -102,3 +108,9 @@ on all the processors. Or it might allocate half the processors to
LAMMPS and half to the other code and run both codes simultaneously
before syncing them up periodically. Or it might instantiate multiple
instances of LAMMPS to perform different calculations.
:line
(4) Couple LAMMPS with another code in a client/server mode. This is
described on the "Howto client/server"_Howto_client_server.html doc
page.

View File

@ -171,16 +171,16 @@ void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
The gather functions collect peratom info of the requested type (atom
coords, atom types, forces, etc) from all processors, and returns the
same vector of values to each callling processor. The scatter
same vector of values to each calling processor. The scatter
functions do the inverse. They distribute a vector of peratom values,
passed by all calling processors, to invididual atoms, which may be
owned by different processos.
passed by all calling processors, to individual atoms, which may be
owned by different processors.
The lammps_gather_atoms() function does this for all N atoms in the
system, ordered by atom ID, from 1 to N. The
lammps_gather_atoms_concat() function does it for all N atoms, but
simply concatenates the subset of atoms owned by each processor. The
resulting vector is not ordered by atom ID. Atom IDs can be requetsed
resulting vector is not ordered by atom ID. Atom IDs can be requested
by the same function if the caller needs to know the ordering. The
lammps_gather_subset() function allows the caller to request values
for only a subset of atoms (identified by ID).

View File

@ -24,6 +24,11 @@ by subtracting out the streaming velocity of the shearing atoms. The
velocity profile or other properties of the fluid can be monitored via
the "fix ave/chunk"_fix_ave_chunk.html command.
NOTE: A recent (2017) book by "(Daivis and Todd)"_#Daivis-nemd
discusses use of the SLLOD method and non-equilibrium MD (NEMD)
thermostatting generally, for both simple and complex fluids,
e.g. molecular systems. The latter can be tricky to do correctly.
As discussed in the previous section on non-orthogonal simulation
boxes, the amount of tilt or skew that can be applied is limited by
LAMMPS for computational efficiency to be 1/2 of the parallel box
@ -46,3 +51,9 @@ An alternative method for calculating viscosities is provided via the
NEMD simulations can also be used to measure transport properties of a fluid
through a pore or channel. Simulations of steady-state flow can be performed
using the "fix flow/gauss"_fix_flow_gauss.html command.
:line
:link(Daivis-nemd)
[(Daivis and Todd)] Daivis and Todd, Nonequilibrium Molecular Dyanmics (book),
Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017).

View File

@ -73,7 +73,7 @@ that package into your current Python installation.
cd $LAMMPS_DIR/python
python install.py :pre
NOTE: Recompiling the shared library requires reinstalling the Python package
NOTE: Recompiling the shared library requires re-installing the Python package
Installation inside of a virtualenv :h5

View File

@ -159,7 +159,7 @@ ellipsoidal particles:
The advantage of these fixes is that those which thermostat the
particles include the rotational degrees of freedom in the temperature
calculation and thermostatting. The "fix langevin"_fix_langevin
calculation and thermostatting. The "fix langevin"_fix_langevin.html
command can also be used with its {omgea} or {angmom} options to
thermostat the rotational degrees of freedom for spherical or
ellipsoidal particles. Other thermostatting fixes only operate on the

View File

@ -9,10 +9,10 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
Magnetic spins :h3
The magnetic spin simualtions are enabled by the SPIN package, whose
The magnetic spin simulations are enabled by the SPIN package, whose
implementation is detailed in "Tranchida"_#Tranchida7.
The model representents the simulation of atomic magnetic spins coupled
The model represents the simulation of atomic magnetic spins coupled
to lattice vibrations. The dynamics of those magnetic spins can be used
to simulate a broad range a phenomena related to magneto-elasticity, or
or to study the influence of defects on the magnetic properties of
@ -43,7 +43,7 @@ langevin/spin"_fix_langevin_spin.html. It allows to either dissipate
the thermal energy of the Langevin thermostat, or to perform a
relaxation of the magnetic configuration toward an equilibrium state.
All the computed magnetic properties can be outputed by two main
All the computed magnetic properties can be output by two main
commands. The first one is "compute spin"_compute_spin.html, that
enables to evaluate magnetic averaged quantities, such as the total
magnetization of the system along x, y, or z, the spin temperature, or

View File

@ -43,6 +43,11 @@ nvt/asphere"_fix_nvt_asphere.html thermostat not only translation
velocities but also rotational velocities for spherical and aspherical
particles.
NOTE: A recent (2017) book by "(Daivis and Todd)"_#Daivis-thermostat
discusses use of the SLLOD method and non-equilibrium MD (NEMD)
thermostatting generally, for both simple and complex fluids,
e.g. molecular systems. The latter can be tricky to do correctly.
DPD thermostatting alters pairwise interactions in a manner analogous
to the per-particle thermostatting of "fix
langevin"_fix_langevin.html.
@ -87,3 +92,9 @@ specify them explicitly via the "thermo_style
custom"_thermo_style.html command. Or you can use the
"thermo_modify"_thermo_modify.html command to re-define what
temperature compute is used for default thermodynamic output.
:line
:link(Daivis-thermostat)
[(Daivis and Todd)] Daivis and Todd, Nonequilibrium Molecular Dyanmics (book),
Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017).

View File

@ -37,6 +37,11 @@ used to shear the fluid in between them, again with some kind of
thermostat that modifies only the thermal (non-shearing) components of
velocity to prevent the fluid from heating up.
NOTE: A recent (2017) book by "(Daivis and Todd)"_#Daivis-viscosity
discusses use of the SLLOD method and non-equilibrium MD (NEMD)
thermostatting generally, for both simple and complex fluids,
e.g. molecular systems. The latter can be tricky to do correctly.
In both cases, the velocity profile setup in the fluid by this
procedure can be monitored by the "fix ave/chunk"_fix_ave_chunk.html
command, which determines grad(Vstream) in the equation above.
@ -131,3 +136,9 @@ mean-square-displacement formulation for self-diffusivity. The
time-integrated momentum fluxes play the role of Cartesian
coordinates, whose mean-square displacement increases linearly
with time at sufficiently long times.
:line
:link(Daivis-viscosity)
[(Daivis and Todd)] Daivis and Todd, Nonequilibrium Molecular Dyanmics (book),
Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017).

View File

@ -9,39 +9,16 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
Download an executable for Linux :h3
Binaries are available for many different versions of Linux:
Binaries are available for different versions of Linux:
"Pre-built binary RPMs for Fedora/RedHat/CentOS/openSUSE"_#rpm
"Pre-built Ubuntu Linux executables"_#ubuntu
"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)
:line
Pre-built binary RPMs for Fedora/RedHat/CentOS/openSUSE :h4,link(rpm)
Pre-built LAMMPS executables for various Linux distributions
can be downloaded as binary RPM files from this site:
"http://rpm.lammps.org"_http://rpm.lammps.org
There are multiple package variants supporting serial, parallel and
Python wrapper versions. The LAMMPS binaries contain all optional
packages included in the source distribution except: GPU, KIM, REAX,
and USER-INTEL.
Installation instructions for the various versions are here:
"http://rpm.lammps.org/install.html"_http://rpm.lammps.org/install.html
The instructions show how to enable the repository in the respective
system's package management system. Installing and updating are then
straightforward and automatic.
Thanks to Axel Kohlmeyer (Temple U, akohlmey at gmail.com) for setting
up this RPM capability.
:line
Pre-built Ubuntu Linux executables :h4,link(ubuntu)
A pre-built LAMMPS executable suitable for running on the latest
@ -60,10 +37,10 @@ To install LAMMPS do the following once:
sudo apt-get install lammps-daily :pre
This downloads an executable named "lammps-daily" to your box, which
This downloads an executable named "lmp_daily" to your box, which
can then be used in the usual way to run input scripts:
lammps-daily < in.lj :pre
lmp_daily -in in.lj :pre
To update LAMMPS to the most current version, do the following:
@ -99,6 +76,80 @@ Ubuntu package capability.
:line
Pre-built Fedora Linux executables :h4,link(fedora)
Pre-built LAMMPS packages for stable releases are available
in the Fedora Linux distribution as of version 28. The packages
can be installed via the dnf package manager. There are 3 basic
varieties (lammps = no MPI, lammps-mpich = MPICH MPI library,
lammps-openmpi = OpenMPI MPI library) and for each support for
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
("module load mpi/mpich-x86_64" or "module load mpi/openmpi-x86_64").
Then the corresponding parallel LAMMPS executable is 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:
dnf install lammps-openmpi
module load mpi/openmpi-x86_64
mpirun -np 2 lmp -in in.lj :pre
The "dnf install" command is needed only once. In case of a new LAMMPS
stable release, "dnf update" will automatically update to the newer
version as soon at the RPM files are built and uploaded to the download
mirrors. The "module load" command is needed once per (shell) session
or shell terminal instance, unless it is automatically loaded from the
shell profile.
Please use "lmp -help" to see which compilation options, packages,
and styles are included in the binary.
Thanks to Christoph Junghans (LANL) for making LAMMPS available in Fedora.
:line
Pre-built EPEL Linux executable :h4,link(epel)
Pre-built LAMMPS packages for stable releases are available
in the "Extra Packages for Enterprise Linux (EPEL) repository"_https://fedoraproject.org/wiki/EPEL
for use with Red Hat Enterprise Linux (RHEL) or CentOS version 7.x
and compatible Linux distributions. Names of packages, executable,
and content are the same as described above for Fedora Linux.
But RHEL/CentOS 7.x uses the "yum" package manager instead of "dnf"
in Fedora 28.
Please use "lmp -help" to see which compilation options, packages,
and styles are included in the binary.
Thanks to Christoph Junghans (LANL) for making LAMMPS available in EPEL.
:line
Pre-built OpenSuse Linux executable :h4,link(opensuse)
A pre-built LAMMPS package for stable releases is available
in OpenSuse as of Leap 15.0. You can install the package with:
zypper install lammps :pre
This includes support for OpenMPI. The name of the LAMMPS executable
is {lmp}. Thus to run an input in parallel on 2 CPUs you would do:
mpirun -np 2 lmp -in in.lj :pre
Please use "lmp -help" to see which compilation options, packages,
and styles are included in the binary.
Thanks to Christoph Junghans (LANL) for making LAMMPS available in OpenSuse.
:line
Pre-built Gentoo Linux executable :h4,link(gentoo)
LAMMPS is part of Gentoo's main package tree and can be installed by

View File

@ -49,7 +49,8 @@ Lennard-Jones benchmark file:
% brew test lammps -v :pre
If you have problems with the installation you can post issues to
"this link"_https://github.com/Homebrew/homebrew-science/issues.
"this link"_homebrew.
Thanks to Derek Thomas (derekt at cello.t.u-tokyo.ac.jp) for setting
up the Homebrew capability.
:link(homebrew,https://github.com/Homebrew/homebrew-science/issues)

View File

@ -17,10 +17,11 @@ how to stay current are on the "Install git"_Install_git.html and
If you prefer to download a tarball, as described on the "Install
git"_Install_tarball.html doc page, you can stay current by
downloading "patch files" when new patch releases are made. A link to
a patch file is posted on the "bug and feature page"_bug of the
website, along with a list of changed files and details about what is
in the new patch release. This page explains how to apply the patch
file to your local LAMMPS directory.
a patch file is posted on the "bug and feature
page"_http://lammps.sandia.gov/bug.html of the LAMMPS website, along
with a list of changed files and details about what is in the new patch
release. This page explains how to apply the patch file to your local
LAMMPS directory.
NOTE: You should not apply patch files to a local Git or SVN repo of
LAMMPS, only to an unpacked tarball. Use Git and SVN commands to

View File

@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
:line
Download source as a tarball :h3
Download source and documentation as a tarball :h3
You can download a current LAMMPS tarball from the "download page"_download
of the "LAMMPS website"_lws.
@ -22,6 +22,10 @@ few times per year, and undergo more testing before release. Patch
releases occur a couple times per month. The new contents in all
releases are listed on the "bug and feature page"_bug of the website.
Both tarballs include LAMMPS documentation (HTML and PDF files)
corresponding to that version. The download page also has an option
to download the current-version LAMMPS documentation by itself.
Older versions of LAMMPS can also be downloaded from "this
page"_older.

View File

@ -17,7 +17,7 @@ variety of interatomic potentials (force fields) and boundary
conditions. It can model 2d or 3d systems with only a few particles
up to millions or billions.
LAMMPS can be built and run on a laptop or destop machine, but is
LAMMPS can be built and run on a laptop or desktop machine, but is
designed for parallel computers. It will run on any parallel machine
that supports the "MPI"_mpi message-passing library. This includes
shared-memory boxes and distributed-memory clusters and
@ -45,7 +45,7 @@ nature; some long-range models are included as well.
LAMMPS uses neighbor lists to keep track of nearby particles. The
lists are optimized for systems with particles that are repulsive at
short distances, so that the local density of particles never becomes
too large. This is in contrast to methods used for modeling plasmas
too large. This is in contrast to methods used for modeling plasma
or gravitational bodies (e.g. galaxy formation).
On parallel machines, LAMMPS uses spatial-decomposition techniques to

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -1,7 +1,7 @@
<!-- HTML_ONLY -->
<HEAD>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="22 Aug 2018 version">
<META NAME="docnumber" CONTENT="24 Oct 2018 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
22 Aug 2018 version :c,h2
24 Oct 2018 version :c,h2
"What is a LAMMPS version?"_Manual_version.html

View File

@ -10,15 +10,16 @@ Section"_Manual.html :c
Building the LAMMPS manual :h2
Depending on how you obtained LAMMPS, the doc directory has
2 or 3 sub-directories and optionally 2 PDF files and an ePUB file:
Depending on how you obtained LAMMPS, the doc directory has 2 or 3
sub-directories and optionally 2 PDF files and 2 e-book format files:
src # content files for LAMMPS documentation
html # HTML version of the LAMMPS manual (see html/Manual.html)
tools # tools and settings for building the documentation
Manual.pdf # large PDF version of entire manual
Developer.pdf # small PDF with info about how LAMMPS is structured
LAMMPS.epub # Manual in ePUB format :pre
LAMMPS.epub # Manual in ePUB e-book format
LAMMPS.mobi # Manual in MOBI e-book format :pre
If you downloaded LAMMPS as a tarball from the web site, all these
directories and files should be included.
@ -40,7 +41,7 @@ HTML files already exist. This requires various tools including
Sphinx, which the build process will attempt to download and install
on your system, if not already available. See more details below.
(c) You can genererate an older, simpler, less-fancy style of HTML
(c) You can generate an older, simpler, less-fancy style of HTML
documentation by typing "make old". This will create an "old"
directory. This can be useful if (b) does not work on your box for
some reason, or you want to quickly view the HTML version of a doc
@ -61,6 +62,7 @@ make old # generate old-style HTML pages in old dir via txt2html
make fetch # fetch HTML doc pages and 2 PDF files from web site
# as a tarball and unpack into html dir and 2 PDFs
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
@ -68,7 +70,7 @@ make clean-all # remove entire build folder and any cached data :pre
Installing prerequisites for HTML build :h3
To run the HTML documention build toolchain, Python 3 and virtualenv
To run the HTML documentation build toolchain, Python 3 and virtualenv
have to be installed. Here are instructions for common setups:
Ubuntu :h4
@ -115,10 +117,8 @@ ePUB :h4
Same as for HTML. This uses the same tools and configuration
files as the HTML tree.
For converting the generated ePUB file to a mobi format file
For converting the generated ePUB file to a MOBI format file
(for e-book readers like Kindle, that cannot read ePUB), you
also need to have the 'ebook-convert' tool from the "calibre"
software installed. "http://calibre-ebook.com/"_http://calibre-ebook.com/
You first create the ePUB file with 'make epub' and then do:
ebook-convert LAMMPS.epub LAMMPS.mobi :pre
You first create the ePUB file and then convert it with 'make mobi'

View File

@ -10,7 +10,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
Overview :h3
The best way to add a new feature to LAMMPS is to find a similar
featureand look at the corresponding source and header files to figure
feature and look at the corresponding source and header files to figure
out what it does. You will need some knowledge of C++ to be able to
understand the hi-level structure of LAMMPS and its class
organization, but functions (class methods) that do actual

View File

@ -46,6 +46,7 @@ as contained in the file name.
"MANYBODY"_#PKG-MANYBODY,
"MC"_#PKG-MC,
"MEAM"_#PKG-MEAM,
"MESSAGE"_#PKG-MESSAGE,
"MISC"_#PKG-MISC,
"MOLECULE"_#PKG-MOLECULE,
"MPIIO"_#PKG-MPIIO,
@ -88,10 +89,12 @@ as contained in the file name.
"USER-NETCDF"_#PKG-USER-NETCDF,
"USER-OMP"_#PKG-USER-OMP,
"USER-PHONON"_#PKG-USER-PHONON,
"USER-PTM"_#PKG-USER-PTM,
"USER-QMMM"_#PKG-USER-QMMM,
"USER-QTB"_#PKG-USER-QTB,
"USER-QUIP"_#PKG-USER-QUIP,
"USER-REAXC"_#PKG-USER-REAXC,
"USER-SCAFACOS"_#PKG-USER-SCAFACOS,
"USER-SMD"_#PKG-USER-SMD,
"USER-SMTBQ"_#PKG-USER-SMTBQ,
"USER-SPH"_#PKG-USER-SPH,
@ -297,7 +300,7 @@ lib/gpu/README
"Section 2.6 -sf gpu"_Run_options.html
"Section 2.6 -pk gpu"_Run_options.html
"package gpu"_package.html
"Commands all"_Commands_all.html pages (pair,kspace) for styles followed by (g)
"Commands all"_lc pages (pair,kspace) for styles followed by (g)
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
:line
@ -412,7 +415,7 @@ lib/kokkos/README
"Section 2.6 -sf kk"_Run_options.html
"Section 2.6 -pk kokkos"_Run_options.html
"package kokkos"_package.html
"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (k)
"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (k)
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
:line
@ -459,10 +462,10 @@ dynamics can be run with LAMMPS using density-functional tight-binding
quantum forces calculated by LATTE.
More information on LATTE can be found at this web site:
"https://github.com/lanl/LATTE"_latte_home. A brief technical
"https://github.com/lanl/LATTE"_latte-home. A brief technical
description is given with the "fix latte"_fix_latte.html command.
:link(latte_home,https://github.com/lanl/LATTE)
:link(latte-home,https://github.com/lanl/LATTE)
[Authors:] Christian Negre (LANL) and Steve Plimpton (Sandia). LATTE
itself is developed at Los Alamos National Laboratory by Marc
@ -549,10 +552,6 @@ This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
extras"_Build_extras.html doc page.
NOTE: You should test building the MEAM library with both the Intel
and GNU compilers to see if a simulation runs faster with one versus
the other on your system.
[Supporting info:]
src/MEAM: filenames -> commands
@ -563,6 +562,31 @@ examples/meam :ul
:line
MESSAGE package :link(PKG-MESSAGE),h4
[Contents:]
Commands to use LAMMPS as either a client or server and couple it to
another application.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#message on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
src/MESSAGE: filenames -> commands
lib/message/README
"message"_message.html
"fix client/md"_fix_client_md.html
"server md"_server_md.html
"server mc"_server_mc.html
examples/message :ul
:line
MISC package :link(PKG-MISC),h4
[Contents:]
@ -644,9 +668,9 @@ MSCG package :link(PKG-mscg),h4
A "fix mscg"_fix_mscg.html command which can parameterize a
Multi-Scale Coarse-Graining (MSCG) model using the open-source "MS-CG
library"_mscg_home.
library"_mscg-home.
:link(mscg_home,https://github.com/uchicago-voth/MSCG-release)
:link(mscg-home,https://github.com/uchicago-voth/MSCG-release)
To use this package you must have the MS-CG library available on your
system.
@ -851,7 +875,7 @@ multi-replica simulations in LAMMPS. Methods in the package include
nudged elastic band (NEB), parallel replica dynamics (PRD),
temperature accelerated dynamics (TAD), parallel tempering, and a
verlet/split algorithm for performing long-range Coulombics on one set
of processors, and the remainder of the force field calcalation on
of processors, and the remainder of the force field calculation on
another set.
[Supporting info:]
@ -874,7 +898,7 @@ RIGID package :link(PKG-RIGID),h4
[Contents:]
Fixes which enforce rigid constraints on collections of atoms or
particles. This includes SHAKE and RATTLE, as well as varous
particles. This includes SHAKE and RATTLE, as well as various
rigid-body integrators for a few large bodies or many small bodies.
Also several computes which calculate properties of rigid bodies.
@ -984,11 +1008,11 @@ VORONOI package :link(PKG-VORONOI),h4
[Contents:]
A compute command which calculates the Voronoi tesselation of a
collection of atoms by wrapping the "Voro++ library"_voro_home. This
collection of atoms by wrapping the "Voro++ library"_voro-home. This
can be used to calculate the local volume or each atoms or its near
neighbors.
:link(voro_home,http://math.lbl.gov/voro++)
:link(voro-home,http://math.lbl.gov/voro++)
To use this package you must have the Voro++ library available on your
system.
@ -1370,7 +1394,7 @@ which have styles optimized for CPUs and KNLs.
You need to have an Intel compiler, version 14 or higher to take full
advantage of this package. While compilation with GNU compilers is
supported, performance will be suboptimal.
supported, performance will be sub-optimal.
NOTE: the USER-INTEL package contains styles that require using the
-restrict flag, when compiling with Intel compilers.
@ -1392,7 +1416,7 @@ src/USER-INTEL/README
"Section 2.6 -sf intel"_Run_options.html
"Section 2.6 -pk intel"_Run_options.html
"package intel"_package.html
"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (i)
"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (i)
src/USER-INTEL/TEST
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
@ -1496,7 +1520,7 @@ 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"_MEAM package
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.
@ -1577,13 +1601,11 @@ USER-MOLFILE package :link(PKG-USER-MOLFILE),h4
[Contents:]
A "dump molfile"_dump_molfile.html command which uses molfile plugins
that are bundled with the "VMD"_vmd_home
that are bundled with the "VMD"_vmd-home
molecular visualization and analysis program, to enable LAMMPS to dump
snapshots in formats compatible with various molecular simulation
tools.
:link(vmd_home,http://www.ks.uiuc.edu/Research/vmd)
To use this package you must have the desired VMD plugins available on
your system.
@ -1593,7 +1615,7 @@ plugin via the "dump molfile"_dump_molfile.html command. Plugins can
be obtained from a VMD installation which has to match the platform
that you are using to compile LAMMPS for. By adding plugins to VMD,
support for new file formats can be added to LAMMPS (or VMD or other
programs that use them) without having to recompile the application
programs that use them) without having to re-compile the application
itself. More information about the VMD molfile plugins can be found
at
"http://www.ks.uiuc.edu/Research/vmd/plugins/molfile"_http://www.ks.uiuc.edu/Research/vmd/plugins/molfile.
@ -1631,10 +1653,11 @@ Note that NetCDF files can be directly visualized with the following
tools:
"Ovito"_ovito (Ovito supports the AMBER convention and the extensions mentioned above)
"VMD"_vmd_home
"VMD"_vmd-home
"AtomEye"_atomeye (the libAtoms version of AtomEye contains a NetCDF reader not present in the standard distribution) :ul
:link(ovito,http://www.ovito.org)
:link(vmd-home,https://www.ks.uiuc.edu/Research/vmd/)
:link(atomeye,http://www.libatoms.org)
[Author:] Lars Pastewka (Karlsruhe Institute of Technology).
@ -1698,7 +1721,7 @@ src/USER-OMP/README
"Section 2.6 -sf omp"_Run_options.html
"Section 2.6 -pk omp"_Run_options.html
"package omp"_package.html
"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (o)
"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (o)
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
:line
@ -1722,6 +1745,25 @@ examples/USER/phonon :ul
:line
USER-PTM package :link(PKG-USER-PTM),h4
[Contents:]
A "compute ptm/atom"_compute_ptm_atom.html command that calculates
local structure characterization using the Polyhedral Template
Matching methodology.
[Author:] Peter Mahler Larsen (MIT).
[Supporting info:]
src/USER-PTM: filenames not starting with ptm_ -> commands
src/USER-PTM: filenames starting with ptm_ -> supporting code
src/USER-PTM/LICENSE
"compute ptm/atom"_compute_ptm_atom.html :ul
:line
USER-QMMM package :link(PKG-USER-QMMM),h4
[Contents:]
@ -1839,6 +1881,41 @@ examples/reax :ul
:line
USER-SCAFACOS package :link(PKG-USER-SCAFACOS),h4
[Contents:]
A KSpace style which wraps the "ScaFaCoS Coulomb solver
library"_http://www.scafacos.de to compute long-range Coulombic
interactions.
To use this package you must have the ScaFaCoS library available on
your system.
[Author:] Rene Halver (JSC) wrote the scafacos LAMMPS command.
ScaFaCoS itself was developed by a consortium of German research
facilities with a BMBF (German Ministry of Science and Education)
funded project in 2009-2012. Participants of the consortium were the
Universities of Bonn, Chemnitz, Stuttgart, and Wuppertal as well as
the Forschungszentrum Juelich.
[Install:]
This package has "specific installation
instructions"_Build_extras.html#user-scafacos on the "Build
extras"_Build_extras.html doc page.
[Supporting info:]
src/USER-SCAFACOS: filenames -> commands
src/USER-SCAFACOS/README
"kspace_style scafacos"_kspace_style.html
"kspace_modify"_kspace_modify.html
examples/USER/scafacos :ul
:line
USER-SMD package :link(PKG-USER-SMD),h4
[Contents:]
@ -1998,3 +2075,5 @@ src/USER-VTK: filenames -> commands
src/USER-VTK/README
lib/vtk/README
"dump vtk"_dump_vtk.html :ul

View File

@ -47,7 +47,8 @@ Package, Description, Doc page, Example, Library
"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
"MISC"_Packages_details.html#PKG-MISC, miscellanous single-file commands, n/a, no, no
"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
"MPIIO"_Packages_details.html#PKG-MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, n/a, no
"MSCG"_Packages_details.html#PKG-MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext

View File

@ -58,17 +58,20 @@ Package, Description, Doc page, Example, Library
"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
"USER-MOFFF"_Packages_details.html#PKG-USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, no
"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext
"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_https://www.ks.uiuc.edu/Research/vmd/ molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext
"USER-NETCDF"_Packages_details.html#PKG-USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, n/a, ext
"USER-OMP"_Packages_details.html#PKG-USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no
"USER-PHONON"_Packages_details.html#PKG-USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, no
"USER-PTM"_Packages_details.html#PKG-USER-PTM, Polyhedral Template Matching,"compute ptm/atom"_compute_ptm_atom.html, n/a, no
"USER-QMMM"_Packages_details.html#PKG-USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext
"USER-QTB"_Packages_details.html#PKG-USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, no
"USER-QUIP"_Packages_details.html#PKG-USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext
"USER-REAXC"_Packages_details.html#PKG-USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, no
"USER-SCAFACOS"_Packages_details.html#PKG-USER-SCAFACOS, wrapper on ScaFaCoS solver,"kspace_style scafacos"_kspace_style.html, USER/scafacos, ext
"USER-SMD"_Packages_details.html#PKG-USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext
"USER-SMTBQ"_Packages_details.html#PKG-USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, no
"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)
:link(MOFplus,https://www.mofplus.org/content/show/MOF-FF)

View File

@ -59,9 +59,9 @@ and callbacks to LAMMPS.
The "fix python/invoke"_fix_python_invoke.html command can execute
Python code at selected timesteps during a simulation run.
The "pair_style python"_pair_python command allows you to define
The "pair_style python"_pair_python.html command allows you to define
pairwise potentials as python code which encodes a single pairwise
interaction. This is useful for rapid-developement and debugging of a
interaction. This is useful for rapid development and debugging of a
new potential.
To use any of these commands, you only need to build LAMMPS with the

View File

@ -62,11 +62,11 @@ library interface provided in src/library.h and src/library.h. That
interface is exposed to Python either when calling LAMMPS from Python
or when calling Python from a LAMMPS input script and then calling
back to LAMMPS from Python code. The library interface is designed to
be easy to add funcionality to. Thus the Python interface to LAMMPS
be easy to add functionality to. Thus the Python interface to LAMMPS
is also easy to extend as well.
If you create interesting Python scripts that run LAMMPS or
interesting Python functions that can be called from a LAMMPS input
script, that you think would be genearlly useful, please post them as
script, that you think would be generally useful, please post them as
a pull request to our "GitHub site"_https://github.com/lammps/lammps,
and they can be added to the LAMMPS distribution or webpage.

View File

@ -186,20 +186,20 @@ keyword as a float.
The get_natoms() method returns the total number of atoms in the
simulation, as an int.
The set_variable() methosd sets an existing string-style variable to a
The set_variable() method sets an existing string-style variable to a
new string value, so that subsequent LAMMPS commands can access the
variable.
The reset_box() emthods resets the size and shape of the simulation
The reset_box() method resets the size and shape of the simulation
box, e.g. as part of restoring a previously extracted and saved state
of a simulation.
The gather methods collect peratom info of the requested type (atom
coords, atom types, forces, etc) from all processors, and returns the
same vector of values to each callling processor. The scatter
same vector of values to each calling processor. The scatter
functions do the inverse. They distribute a vector of peratom values,
passed by all calling processors, to invididual atoms, which may be
owned by different processos.
passed by all calling processors, to individual atoms, which may be
owned by different processors.
Note that the data returned by the gather methods,
e.g. gather_atoms("x"), is different from the data structure returned

View File

@ -75,7 +75,7 @@ setenv OMP_NUM_THREADS 2 # csh or tcsh :pre
This can also be done via the "package"_package.html command or via
the "-pk command-line switch"_Run_options.html which invokes the
package command. See the "package"_package.html command or
"Speed"_Speed.html doc pages for more details about which accerlarator
"Speed"_Speed.html doc pages for more details about which accelerator
packages and which commands support multi-threading.
:line

View File

@ -18,13 +18,15 @@ letter abbreviation can be used:
"-i or -in"_#file
"-k or -kokkos"_#run-kokkos
"-l or -log"_#log
"-m or -mpicolor"_#mpicolor
"-nc or -nocite"_#nocite
"-pk or -package"_#package
"-p or -partition"_#partition
"-pl or -plog"_#plog
"-ps or -pscreen"_#pscreen
"-r or -restart"_#restart
"-ro or -reorder"_#reorder
"-r2data or -restart2data"_#restart2data
"-r2dump or -restart2dump"_#restart2dump
"-sc or -screen"_#screen
"-sf or -suffix"_#suffix
"-v or -var"_#var :ul
@ -175,6 +177,30 @@ Option -plog will override the name of the partition log files file.N.
:line
[-mpicolor] color :link(mpicolor)
If used, this must be the first command-line argument after the LAMMPS
executable name. It is only used when LAMMPS is launched by an mpirun
command which also launches another executable(s) at the same time.
(The other executable could be LAMMPS as well.) The color is an
integer value which should be different for each executable (another
application may set this value in a different way). LAMMPS and the
other executable(s) perform an MPI_Comm_split() with their own colors
to shrink the MPI_COMM_WORLD communication to be the subset of
processors they are actually running on.
Currently, this is only used in LAMMPS to perform client/server
messaging with another application. LAMMPS can act as either a client
or server (or both). More details are given on the "Howto
client/server"_Howto_client_server.html doc page.
Specifically, this refers to the "mpi/one" mode of messaging provided
by the "message"_message.html command and the CSlib library LAMMPS
links with from the lib/message directory. See the
"message"_message.html command for more details.
:line
[-nocite] :link(nocite)
Disable writing the log.cite file which is normally written to list
@ -255,34 +281,6 @@ specified by the -screen command-line option.
:line
[-restart restartfile {remap} datafile keyword value ...] :link(restart)
Convert the restart file into a data file and immediately exit. This
is the same operation as if the following 2-line input script were
run:
read_restart restartfile {remap}
write_data datafile keyword value ... :pre
Note that the specified restartfile and datafile can have wild-card
characters ("*",%") as described by the
"read_restart"_read_restart.html and "write_data"_write_data.html
commands. But a filename such as file.* will need to be enclosed in
quotes to avoid shell expansion of the "*" character.
Note that following restartfile, the optional flag {remap} can be
used. This has the same effect as adding it to the
"read_restart"_read_restart.html command, as explained on its doc
page. This is only useful if the reading of the restart file triggers
an error that atoms have been lost. In that case, use of the remap
flag should allow the data file to still be produced.
Also note that following datafile, the same optional keyword/value
pairs can be listed as used by the "write_data"_write_data.html
command.
:line
[-reorder] :link(reorder)
This option has 2 forms:
@ -356,6 +354,77 @@ the LAMMPS simulation domain.
:line
[-restart2data restartfile (remap) datafile keyword value ...] :link(restart2data)
Convert the restart file into a data file and immediately exit. This
is the same operation as if the following 2-line input script were
run:
read_restart restartfile (remap)
write_data datafile keyword value ... :pre
Note that the specified restartfile and/or datafile can have the
wild-card character "*". The restartfile can also have the wild-card
character "%". The meaning of these characters is explained on the
"read_restart"_read_restart.html and "write_data"_write_data.html doc
pages. The use of "%" means that a parallel restart file can be read.
Note that a filename such as file.* will need to be enclosed in quotes
to avoid shell expansion of the "*" character.
Note that following restartfile, the optional word "remap" can be
used. This has the effect of adding it to the
"read_restart"_read_restart.html command, as explained on its doc
page. This is useful if reading the restart file triggers an error
that atoms have been lost. In that case, use of the remap flag should
allow the data file to still be produced.
The syntax following restartfile (or remap), namely
datafile keyword value ... :pre
is identical to the arguments of the "write_data"_write_data.html
command. See its doc page for details. This includes its
optional keyword/value settings.
:line
[-restart2dump restartfile {remap} group-ID dumpstyle dumpfile arg1 arg2 ...] :link(restart2dump)
Convert the restart file into a dump file and immediately exit. This
is the same operation as if the following 2-line input script were
run:
read_restart restartfile (remap)
write_dump group-ID dumpstyle dumpfile arg1 arg2 ... :pre
Note that the specified restartfile and dumpfile can have wild-card
characters ("*","%") as explained on the
"read_restart"_read_restart.html and "write_dump"_write_dump.html doc
pages. The use of "%" means that a parallel restart file and/or
parallel dump file can be read and/or written. Note that a filename
such as file.* will need to be enclosed in quotes to avoid shell
expansion of the "*" character.
Note that following restartfile, the optional word "remap" can be
used. This has the effect as adding it to the
"read_restart"_read_restart.html command, as explained on its doc
page. This is useful if reading the restart file triggers an error
that atoms have been lost. In that case, use of the remap flag should
allow the dump file to still be produced.
The syntax following restartfile (or remap), namely
group-ID dumpstyle dumpfile arg1 arg2 ... :pre
is identical to the arguments of the "write_dump"_write_dump.html
command. See its doc page for details. This includes what per-atom
fields are written to the dump file and optional dump_modify settings,
including ones that affect how parallel dump files are written, e.g.
the {nfile} and {fileper} keywords. See the
"dump_modify"_dump_modify.html doc page for details.
:line
[-screen file] :link(screen)
Specify a file for LAMMPS to write its screen information to. In

View File

@ -33,8 +33,8 @@ in parallel, follow these steps.
Download and install a compatible MPI library binary package:
for 32-bit Windows: "mpich2-1.4.1p1-win-ia32.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi
for 64-bit Windows: "mpich2-1.4.1p1-win-x86-64.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi :ul
for 32-bit Windows: "mpich2-1.4.1p1-win-ia32.msi"_http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi
for 64-bit Windows: "mpich2-1.4.1p1-win-x86-64.msi"_http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi :ul
The LAMMPS Windows installer packages will automatically adjust your
path for the default location of this MPI package. After the

View File

@ -11,7 +11,7 @@ Benchmarks :h3
Current LAMMPS performance is discussed on the "Benchmarks
page"_http://lammps.sandia.gov/bench.html of the "LAMMPS website"_lws
where timings and parallel efficiencies are listed. The page has
where timings and parallel efficiency are listed. The page has
several sections, which are briefly described below:
CPU performance on 5 standard problems, strong and weak scaling
@ -77,8 +77,8 @@ style, force field, cutoff, etc) can then be estimated.
Performance on a parallel machine can also be predicted from one-core
or one-node timings if the parallel efficiency can be estimated. The
communication bandwidth and latency of a particular parallel machine
affects the efficiency. On most machines LAMMPS will give parallel
efficiencies on these benchmarks above 50% so long as the number of
affects the efficiency. On most machines LAMMPS will give a parallel
efficiency on these benchmarks above 50% so long as the number of
atoms/core is a few 100 or greater, and closer to 100% for large
numbers of atoms/core. This is for all-MPI mode with one MPI task per
core. For nodes with accelerator options or hardware (OpenMP, GPU,

View File

@ -62,7 +62,7 @@ Driver (ICD)"_https://www.khronos.org/news/permalink/opencl-installable-client-d
installed. There can be multiple of them for the same or different hardware
(GPUs, CPUs, Accelerators) installed at the same time. OpenCL refers to those
as 'platforms'. The GPU library will select the [first] suitable platform,
but this can be overridded using the device option of the "package"_package.html
but this can be overridden using the device option of the "package"_package.html
command. run lammps/lib/gpu/ocl_get_devices to get a list of available
platforms and devices with a suitable ICD available.

View File

@ -68,7 +68,7 @@ In most molecular dynamics software, parallelization parameters
to changing the order of operations with finite-precision
calculations. The USER-INTEL package is deterministic. This means
that the results should be reproducible from run to run with the
{same} parallel configurations and when using determinstic
{same} parallel configurations and when using deterministic
libraries or library settings (MPI, OpenMP, FFT). However, there
are differences in the USER-INTEL package that can change the
order of operations compared to LAMMPS without acceleration:
@ -400,7 +400,7 @@ within the input script to automatically append the "omp" suffix to
styles when USER-INTEL styles are not available.
NOTE: For simulations on higher node counts, add "processors * * *
grid numa"_processors.html" to the beginning of the input script for
grid numa"_processors.html to the beginning of the input script for
better scalability.
When running on many nodes, performance might be better when using
@ -499,7 +499,7 @@ MPI task.
When offloading to a coprocessor, "hybrid"_pair_hybrid.html styles
that require skip lists for neighbor builds cannot be offloaded.
Using "hybrid/overlay"_pair_hybrid.html is allowed. Only one intel
accelerated style may be used with hybrid styles.
accelerated style may be used with hybrid styles when offloading.
"Special_bonds"_special_bonds.html exclusion lists are not currently
supported with offload, however, the same effect can often be
accomplished by setting cutoffs for excluded atom types to 0. None of

View File

@ -93,12 +93,12 @@ The "t Nt" option specifies how many OpenMP threads per MPI task to
use with a node. The default is Nt = 1, which is MPI-only mode. Note
that the product of MPI tasks * OpenMP threads/task should not exceed
the physical number of cores (on a node), otherwise performance will
suffer. If hyperthreading is enabled, then the product of MPI tasks *
OpenMP threads/task should not exceed the physical number of cores *
hardware threads. The "-k on" switch also issues a "package kokkos"
command (with no additional arguments) which sets various KOKKOS
options to default values, as discussed on the "package"_package.html
command doc page.
suffer. If Hyper-Threading (HT) is enabled, then the product of MPI
tasks * OpenMP threads/task should not exceed the physical number of
cores * hardware threads. The "-k on" switch also issues a
"package kokkos" command (with no additional arguments) which sets
various KOKKOS options to default values, as discussed on the
"package"_package.html command doc page.
The "-sf kk" "command-line switch"_Run_options.html will automatically
append the "/kk" suffix to styles that support it. In this manner no
@ -106,6 +106,11 @@ modification to the input script is needed. Alternatively, one can run
with the KOKKOS package by editing the input script as described
below.
NOTE: When using a single OpenMP thread, the Kokkos Serial backend (i.e.
Makefile.kokkos_mpi_only) will give better performance than the OpenMP
backend (i.e. Makefile.kokkos_omp) because some of the overhead to make
the code thread-safe is removed.
NOTE: The default for the "package kokkos"_package.html command is to
use "full" neighbor lists and set the Newton flag to "off" for both
pairwise and bonded interactions. However, when running on CPUs, it
@ -122,6 +127,22 @@ mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half c
If the "newton"_newton.html command is used in the input
script, it can also override the Newton flag defaults.
For half neighbor lists and OpenMP, the KOKKOS package uses data
duplication (i.e. thread-private arrays) by default to avoid
thread-level write conflicts in the force arrays (and other data
structures as necessary). Data duplication is typically fastest for
small numbers of threads (i.e. 8 or less) but does increase memory
footprint and is not scalable to large numbers of threads. An
alternative to data duplication is to use thread-level atomics, which
don't require duplication. The use of atomics can be forced by compiling
with the "-DLMP_KOKKOS_USE_ATOMICS" compile switch. Most but not all
Kokkos-enabled pair_styles support data duplication. Alternatively, full
neighbor lists avoid the need for duplication or atomics but require
more compute operations per atom. When using the Kokkos Serial backend
or the OpenMP backend with a single thread, no duplication or atomics are
used. For CUDA and half neighbor lists, the KOKKOS package always uses
atomics.
[Core and Thread Affinity:]
When using multi-threading, it is important for performance to bind
@ -149,7 +170,7 @@ Intel Knight's Landing (KNL) Xeon Phi:
KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores are
reserved for the OS, and only 64 or 66 cores are used. Each core has 4
hyperthreads,so there are effectively N = 256 (4*64) or N = 264 (4*66)
Hyper-Threads,so there are effectively N = 256 (4*64) or N = 264 (4*66)
cores to run on. The product of MPI tasks * OpenMP threads/task should
not exceed this limit, otherwise performance will suffer. Note that
with the KOKKOS package you do not need to specify how many KNLs there
@ -228,7 +249,7 @@ for details and default settings. Experimenting with its options can
provide a speed-up for specific calculations. For example:
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighborlist, set binsize = neighbor ghost cutoff :pre
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff :pre
NOTE: For good performance of the KOKKOS package on GPUs, you must
have Kepler generation GPUs (or later). The Kokkos library exploits

View File

@ -50,6 +50,6 @@ inaccurate relative timing data, because processors have to wait when
communication occurs for other processors to catch up. Thus the
reported times for "Communication" or "Other" may be higher than they
really are, due to load-imbalance. If this is an issue, you can
uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile
uncomment the MPI_Barrier() lines in src/timer.cpp, and re-compile
LAMMPS, to obtain synchronized timings.

View File

@ -29,7 +29,7 @@ instructions.
[Run with the USER-OMP package from the command line:]
These example asume one or more 16-core nodes.
These examples assume one or more 16-core nodes.
env OMP_NUM_THREADS=16 lmp_omp -sf omp -in in.script # 1 MPI task, 16 threads according to OMP_NUM_THREADS
lmp_mpi -sf omp -in in.script # 1 MPI task, no threads, optimized kernels

View File

@ -72,7 +72,7 @@ Lennard-Jones "pair_style lj/cut"_pair_lj.html:
"pair_style lj/cut/opt"_pair_lj.html :ul
To see what accelerate styles are currently available for a particular
style, find the style name in the "Commands_all"_Commands_all.html
style, find the style name in the "Commands_all"_lc
style pages (fix,compute,pair,etc) and see what suffixes are listed
(g,i,k,o,t) with it. The doc pages for individual commands
(e.g. "pair lj/cut"_pair_lj.html or "fix nve"_fix_nve.html) also list

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

View File

@ -11,7 +11,7 @@
<a href="http://lammps.sandia.gov">LAMMPS Website</a> &nbsp; &nbsp;
<a href="../../Manual.html">LAMMPS Manual</a> &nbsp; &nbsp;
<a href="../../fix_atc.html">USER-AtC Manual</a> &nbsp; &nbsp;
<a href="../../Section_commands.html#comm">Commands</a>
<a href="../../Commands_all.html">Commands</a>
</center>
<hr>

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