Compare commits

..

2951 Commits

Author SHA1 Message Date
05e836f50e Merge pull request #4297 from akohlmey/next_release
Update version strings for release
2024-08-29 20:26:41 -04:00
317fb8d537 Merge pull request #4301 from stanmoore1/reaxff_overflow_errors
Gracefully error out if integer overflow in ReaxFF or QEq
2024-08-29 20:19:29 -04:00
4aca808da6 Casts need to be bigint 2024-08-29 17:40:38 -06:00
7a9f0cd60d Fix potential overflow in Kokkos neighbor counting 2024-08-29 14:40:50 -06:00
6fd022695a Tweak error message 2024-08-29 14:23:49 -06:00
571076a5a7 Gracefully error out if integer overflow in ReaxFF or QEq 2024-08-29 14:18:08 -06:00
2581b1abfe update change log info for flatpak 2024-08-28 22:13:04 -04:00
a2138b79d6 Merge branch 'develop' into next_release 2024-08-28 22:12:31 -04:00
d48ca258fa Merge pull request #4209 from akohlmey/plumed-plugin
Add support to build the PLUMED package as a plugin
2024-08-28 19:10:46 -04:00
af5f437aeb update list of dependencies 2024-08-28 15:30:44 -04:00
acfed12684 avoid recursion. there is only one executable. 2024-08-28 15:12:46 -04:00
4e8c1f3284 Merge branch 'develop' into plumed-plugin 2024-08-28 14:28:05 -04:00
0ad64045f5 Merge pull request #4298 from akohlmey/collected-small-fixes
Collected small fixes for LAMMPS and LAMMPS-GUI for the stable release
2024-08-28 11:54:27 -04:00
f2102b76f2 cosmetic 2024-08-28 11:09:47 -04:00
78310bddcf update docs for LAMMPS-GUI plugin changes and document flatpak build 2024-08-27 21:43:00 -04:00
932eaf864a must register variant for QList<QString> before using QSettings 2024-08-27 21:19:09 -04:00
99e5b06279 make plugin path canonical 2024-08-27 17:18:11 -04:00
98b4771ed6 sanity check 2024-08-27 17:18:01 -04:00
c01585e8b2 revise plugin loading logic 2024-08-27 17:02:17 -04:00
49d664583a correct define 2024-08-27 17:00:42 -04:00
4060de6a9c make handling of plugin path and recent files more consistent 2024-08-27 14:27:39 -04:00
83aab0f425 add option to set plugin path from the command line 2024-08-27 10:40:24 -04:00
d8b9679b87 fix cut-n-paste issue 2024-08-27 10:10:29 -04:00
5fbdf155e5 remove unused variables 2024-08-27 08:57:42 -04:00
2ebe1f019f avoid uninitialized data access in case there are no atoms owned by a process 2024-08-26 21:14:44 -04:00
6e791034f9 Merge pull request #4295 from akohlmey/collected-small-fixes
Updates for LAMMPS-GUI
2024-08-26 14:03:41 -04:00
ac90dca5a1 whitespace 2024-08-26 11:38:26 -04:00
4e590507f0 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-08-26 11:37:56 -04:00
121195d19d Merge pull request #4290 from lammps/doc-page-ke-tensors
Amend doc page explanations of vector outputs from the various compute temp commands
2024-08-26 11:18:19 -04:00
d9a2fd9f36 kokkos: move #endif to correct location 2024-08-26 10:54:14 -04:00
dc66929e65 Merge pull request #4293 from jrgissing/bond_react_fixes_summ24
Bond/react: fixes and error checking
2024-08-26 10:45:32 -04:00
d1f141c962 Merge branch 'develop' into plumed-plugin 2024-08-26 04:17:04 -04:00
99153f20be refactor how reactions are skipped
better treatment of allowing all possible reactions when using 'overlap' keyword of 'create_atoms' feature
2024-08-25 21:55:19 -04:00
fa373eb685 update pending version tags with planned release date 2024-08-25 16:39:13 -04:00
c68981c7fc build LAMMPS-GUI flatpack from release branch of the official repo 2024-08-25 16:37:49 -04:00
b8b103df28 update version strings 2024-08-25 16:37:25 -04:00
9e5e1af125 update TODO list for LAMMPS-GUI 2024-08-25 16:25:42 -04:00
d59d31b445 remove accidental commit 2024-08-25 16:14:36 -04:00
cfcbad9e38 back to 5 sigma 2024-08-25 16:07:22 -04:00
586e5db757 completely hide inactive atom size field instead of only disabling them 2024-08-25 15:49:42 -04:00
a1a72f741a update docs with recent paper 2024-08-25 14:54:51 -04:00
e94d32e7d3 clean up tiny_nylon example 2024-08-25 14:19:17 -04:00
6514dbb4b6 refactor how to insert atoms 2024-08-25 13:42:51 -04:00
86975151b2 step LAMMPS-GUI version 2024-08-25 07:27:37 -04:00
e3773cad83 workaround for Qt 5.12 which is lacking some color constants 2024-08-25 02:50:47 -04:00
765212eae2 LAMMPS-GUI doc update 2024-08-25 01:18:29 -04:00
97c5bcc00c update 2024-08-25 00:55:56 -04:00
180593e53c add missing picture 2024-08-25 00:51:43 -04:00
67bba08b3d add unit tests for extracting lattice spacings 2024-08-25 00:41:58 -04:00
6c13e8d053 tweak docs for better formatting 2024-08-25 00:41:26 -04:00
ac91b4fbb3 add field to set atom size if not determined otherwise. seed by lattice spacing 2024-08-25 00:21:07 -04:00
3c2fba1112 add support for extracting the current lattice spacing to library interface 2024-08-25 00:17:17 -04:00
4507101ec3 show dark mode screenshot 2024-08-24 22:51:50 -04:00
e19556263c provide syntax highlighting color schemes for light and dark themes 2024-08-24 19:28:11 -04:00
baf1511f23 add light/dark mode detection 2024-08-24 19:21:03 -04:00
217546ed3b tweak LAMMPS-GUI howto typesetting 2024-08-24 15:11:43 -04:00
2a84aa8063 document find and replace dialog 2024-08-24 14:39:33 -04:00
be029a9122 tweak layout of keyboard shortcut table 2024-08-24 14:39:19 -04:00
35d8a3d68e Document 'Find and Replace' dialog 2024-08-24 14:32:01 -04:00
d98a3d61da reduce outlier margin from 5 sigma to 4 sigma 2024-08-24 11:58:26 -04:00
1b3652583b implement text search and replace functionality 2024-08-24 11:58:14 -04:00
72873b0dca line number area attempts to be dark mode compatible 2024-08-24 02:56:47 -04:00
ec0cdb8bdc tweak background color settings 2024-08-24 02:11:18 -04:00
c0770715dd Merge pull request #4292 from akohlmey/collected-small-fixes
Collected small fixes and changes
2024-08-23 14:49:40 -04:00
bc701c20f7 cleaning clipboard has no effect 2024-08-23 03:30:56 -04:00
2beda14b23 clear clipboard before exiting 2024-08-23 03:26:46 -04:00
a20997b7cd regularize application startup. use Qt's command line parser support 2024-08-23 03:16:48 -04:00
1b339b84e1 forgot to store chart update preference 2024-08-23 02:24:18 -04:00
4f3004fc40 we use PNG version of logo 2024-08-23 00:22:14 -04:00
d8329b30e1 force initialization 2024-08-23 00:09:41 -04:00
f6d0d91e2b make certain local virial storage is initialized 2024-08-23 00:02:59 -04:00
b28f18106c try to make coverity happy 2024-08-22 23:55:59 -04:00
51a78a8a7f make else branches only for fixes 2024-08-22 23:55:42 -04:00
b300ef29ee simplify; make certain nmax is always initialized 2024-08-22 23:39:29 -04:00
42dec6fe6e modernize and remove dead code 2024-08-22 21:03:29 -04:00
01bbd60568 avoid INTEL package compilation failure with upcoming Intel compiler releases 2024-08-22 17:41:47 -04:00
1494d12b88 step LAMMPS-GUI version number. update TODO list 2024-08-22 08:31:35 -04:00
5c48a120dd add versionadded entry for smooth plots 2024-08-22 01:54:05 -04:00
5f58650d2c update LAMMPS-GUI documentation for recent changes 2024-08-22 01:23:34 -04:00
f24b7c02ed add label for plots selection 2024-08-22 01:23:09 -04:00
4a291f8bed spelling 2024-08-22 01:04:05 -04:00
4d6b998a75 flang may be called flang-new 2024-08-22 00:00:27 -04:00
446b9ed7b3 make compatible with -DLAMMPS_BIGBIG 2024-08-21 22:32:29 -04:00
9cd83a9513 remove dead code 2024-08-21 22:29:54 -04:00
79fd385239 whitespace 2024-08-21 20:22:01 -04:00
97f8a62f59 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-08-21 20:21:43 -04:00
827bc6361b fix spelling and formatting issues 2024-08-21 20:18:28 -04:00
9e314b6a06 Merge pull request #4291 from lammps/extend-verlet-split
Add error checks to verlet/split for unsupported KSpace methods
2024-08-21 20:07:42 -04:00
0ca7bd9aaa Merge branch 'develop' into collected-small-fixes 2024-08-21 18:04:38 -04:00
f36e09720a Merge pull request #4287 from akohlmey/collected-small-fixes
Collected small fixes and updates for LAMMPS and LAMMPS-GUI
2024-08-21 17:51:58 -04:00
c8b485a2df improve error message 2024-08-21 17:48:01 -04:00
9b46cd9a3a add error checks to verlet/split 2024-08-21 15:23:27 -06:00
b4eb027851 Merge pull request #4289 from lammps/grid-debug
Fix 2 bugs with distributed grids
2024-08-21 17:21:35 -04:00
466927b0df update code owners list 2024-08-21 16:45:28 -04:00
92abea3372 Merge pull request #4273 from jtclemm/small-patches
Few small patches to BPM, RHEO, and GRANULAR packages
2024-08-21 16:33:28 -04:00
e142e4fe23 Merge pull request #4228 from ndtrung81/regression-tests
Adding support for doing regression tests
2024-08-21 16:07:42 -04:00
d1fb321eae Merge branch 'develop' into small-patches 2024-08-21 16:04:40 -04:00
aca36d1e6a apply clang-format 2024-08-21 15:17:28 -04:00
7eb105adbe tweak 2024-08-21 13:09:00 -06:00
32a6db151f clarify compute pressure doc page as well 2024-08-21 13:07:51 -06:00
7de2073e8e better explanations of vector outputs for compute temp commands 2024-08-21 12:46:45 -06:00
a541873b41 2 bug fixes 2024-08-21 10:28:24 -06:00
26a0501e67 use large logo version with rounded corners and drop shadow 2024-08-21 12:07:37 -04:00
47b5b2dfa3 throw error when trying to use neigh_modify exclude with dynamic groups 2024-08-21 10:34:20 -04:00
cdbec96e07 enable and apply clang-format 2024-08-21 09:00:11 -04:00
e3333bc19d tweak no-git version output 2024-08-21 00:01:04 -04:00
2746ec609f remove unused argument 2024-08-20 23:55:35 -04:00
b65c92e2bb fix syntax error 2024-08-20 23:40:02 -04:00
64e7e7234e work around unavailable git info for PDF title 2024-08-20 23:32:18 -04:00
355b62a788 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-08-20 22:38:12 -04:00
adc5adf799 Merge pull request #4256 from rbberger/docs_authors
docs: expand author list
2024-08-20 22:37:53 -04:00
6db454a5e2 tweak title page some more 2024-08-20 22:37:25 -04:00
77f19f1dc9 small tweak to license text 2024-08-20 21:12:14 -04:00
28cd3bdb73 reorder and group author list and improve formatting in PDF file 2024-08-20 21:11:37 -04:00
4e947a9003 debugging 2024-08-20 17:28:36 -06:00
0a77c2fe35 Merge branch 'develop' into docs_authors 2024-08-20 18:12:48 -04:00
72a7634dec use custom title page 2024-08-20 16:31:32 -04:00
047d1010a0 Merge branch 'develop' into plumed-plugin 2024-08-20 11:09:18 -04:00
5665f29e03 move to proper place 2024-08-20 09:31:57 -04:00
19d6227220 plug memory leaks in testers 2024-08-20 09:19:58 -04:00
2b485a3f62 be more paranoid about cleaning up 2024-08-20 04:10:15 -04:00
80ea7ac120 plug another memory leak 2024-08-20 01:26:48 -04:00
02752ddf6a don't leak memory when throwing an exception 2024-08-20 01:15:53 -04:00
8cfd856296 plug small memory leak 2024-08-20 00:50:24 -04:00
1809115c64 avoid uninitialized access to next_thermo and next_restart from reset_dt() 2024-08-20 00:12:29 -04:00
085dec4d3c Use drop down list to select raw or smooth plot or both. Fix plot color. 2024-08-20 00:02:17 -04:00
2f6ac590b0 spelling and cosmetic stuff 2024-08-19 17:59:13 -04:00
3ebdc04aac Merge branch 'develop' into regression-tests 2024-08-19 17:50:43 -04:00
7fadaf08b2 Made the tool name and the subfolder consistent 2024-08-19 15:53:13 -05:00
71d102402f Added a paragraph to describe the regression-tests tool in Tools.rst 2024-08-19 15:44:23 -05:00
4c6beb548e white on black title. Make page 1 show up in PDF sidebar 2024-08-19 16:26:38 -04:00
7b62f82428 Merge branch 'doc_fixes' into merge-richard 2024-08-19 15:58:42 -04:00
c299c94ebc Merge pull request #4262 from jrgissing/type-labels-for-pair_style_commands
Type label support for pair_style commands
2024-08-19 15:02:23 -04:00
921f4f678d Merge pull request #4275 from akohlmey/collected-small-fixes
Collected fixes and changes for LAMMPS and LAMMPS-GUI
2024-08-19 14:07:24 -04:00
1bd6ba2b19 remove redundant navigation 2024-08-19 13:28:01 -04:00
a46c427de7 spelling 2024-08-19 08:45:56 -04:00
2cda355a92 restore to original for windows 2024-08-19 04:45:32 -04:00
26096d3399 tweak table widths for smoother display as PDF 2024-08-19 04:43:57 -04:00
03df6b276f restore table column tweaks for @rbberger 2024-08-19 01:36:08 -04:00
75663ab14b windows hack 2024-08-19 01:21:00 -04:00
c341344873 revert back to old layout. looks better with HTML. 2024-08-19 01:10:01 -04:00
4c15ac99a3 expand_type_int verify->bool 2024-08-18 23:05:52 -06:00
1afa56e0da expand_type_int: optional flag to check types
verifying type could probably be default, except for historical reasons
would involve removing redundant checks after calling routine
2024-08-18 22:39:01 -06:00
ca937372f4 fix typo 2024-08-19 00:34:52 -04:00
67e0af8a1b find LAMMPS python module for force style tests 2024-08-19 00:31:24 -04:00
d39354d569 docs: proposal for pdf title page customization 2024-08-18 22:31:06 -06:00
5902d81eca Revert "use memory create/destroy for allocating MPI objects which prefer 16 byte alignment"
This reverts commit 827d4709ac.
2024-08-19 00:16:50 -04:00
3edcc9ac00 silence compiler warnings 2024-08-19 00:04:50 -04:00
88583a862e cosmetic 2024-08-18 23:15:07 -04:00
827d4709ac use memory create/destroy for allocating MPI objects which prefer 16 byte alignment 2024-08-18 23:14:53 -04:00
a8447b419d fix bug causing memory corruption and clean up lmp_f2c.h header 2024-08-18 21:34:15 -04:00
67dccdc52f make "invisible" first page of manual show up in table of contents 2024-08-18 18:56:45 -04:00
a8a66211c0 add some more advertisement for LAMMPS-GUI 2024-08-18 18:55:59 -04:00
80ff92d172 modernize, improve error output 2024-08-18 18:49:16 -04:00
3f9d244281 spelling 2024-08-18 17:36:11 -04:00
0735e976ff Merge branch 'doc_fixes' of github.com:jmgoff/lammps_compute_PACE into collected-small-fixes 2024-08-18 17:32:06 -04:00
a5695829a9 refer to icc as Intel Classic Compiler 2024-08-18 17:28:54 -04:00
90a595f519 "back end" keeps the spellchecker happier and is just as well. 2024-08-18 17:28:34 -04:00
b3a7d4dc95 revert white on black PDF title page 2024-08-18 17:28:03 -04:00
4b01401815 more consistent fix average notation 2024-08-18 15:04:58 -06:00
cac32085a7 Merge branch 'doc_fixes' of https://github.com/rbberger/lammps into collected-small-fixes 2024-08-18 16:45:48 -04:00
2b879324f0 minor doc fix 2024-08-18 14:00:58 -06:00
84c102fe36 docs: proposal for pdf title page customization 2024-08-18 13:20:40 -06:00
216be2e96f docs: complete howto review 2024-08-18 13:20:00 -06:00
e5876b3b36 convert to c++ style declarations 2024-08-18 14:55:46 -04:00
0e1863d9bb correct forward declaration 2024-08-18 14:55:24 -04:00
80fefbb3f8 Various small cleanups to RHEO package flagged by compiler warnings
The individual changes are:
- remove of unused function parameters
- replace non-standard variable length arrays on the stack with static ones
- disable citation removed from the manual
- replace #defined constants with enum or static constexpr
- enable and apply clang-format
2024-08-18 13:01:31 -04:00
5a85702752 don't print multi-line messages multiple times 2024-08-18 11:38:24 -04:00
ffc04aaf7c silence compiler warnings 2024-08-18 11:02:01 -04:00
b7cf79a7b9 docs: start with howto section 2024-08-18 07:59:29 -06:00
0b54a0b1e3 docs: add :lammps: role
This allows to write :lammps:`command` for inline highlighting of LAMMPS
code.
2024-08-18 07:42:46 -06:00
05857315d8 docs: fixup Packages_list.rst table 2024-08-18 07:41:06 -06:00
271ae19fe7 must use overload wrapper on Qt5 2024-08-18 06:03:41 -04:00
9dddc7945d add missing file 2024-08-18 05:51:31 -04:00
98a7e045bb add smoothed plot to chart windows 2024-08-18 00:53:10 -04:00
e4b9da147a reintroduce facility to skip over outlier data due to corrupted data 2024-08-17 21:28:56 -04:00
87abcc6f0f mass replace 2 -> two, and 3 -> three where it can be safely detecte 2024-08-17 08:15:58 -04:00
435c8fdd32 Merge branch 'Edits/corrections-to-doc-pages-949---1220' of https://github.com/jrgissing/lammps into collected-small-fixes 2024-08-17 07:59:11 -04:00
9f6dbf6609 doc pages 949-1220 2024-08-17 00:28:57 -04:00
dd6c933269 remove normalization 2024-08-17 00:15:08 -04:00
3758d575d7 Update fix_balance.rst 2024-08-16 23:44:17 -04:00
8973d9a9ba avoid outlier data in plots from corrupted data when polling thermo data 2024-08-16 23:25:41 -04:00
a3990ad73f update chart window less frequently than updating data. interval set in preferences 2024-08-16 23:01:47 -04:00
6f7a48fa7a fix off-by-on bug preventing the "reset zoom" button for charts to work as expected 2024-08-16 23:00:41 -04:00
d443e7dc8c cannot reference undocumented fix 2024-08-16 17:36:37 -04:00
12016be69a update log file 2024-08-16 17:36:19 -04:00
85d79e2aa5 fix typo 2024-08-16 16:56:22 -04:00
9d3c60b334 make sphinx happy 2024-08-16 16:38:02 -04:00
b6b2cc0667 Merge branch 'doc-updates' of https://github.com/jtclemm/lammps into collected-small-fixes 2024-08-16 16:34:30 -04:00
a2fa7d68d7 update docs to make wall fix restrictions more explicit 2024-08-16 16:29:45 -04:00
5111170d8f modernize access to fixes and flag incompatible wall fixes 2024-08-16 16:10:36 -04:00
9c2c8045cb docs: update speed section 2024-08-16 14:09:32 -06:00
15127ad2e2 Last batch of edits 2024-08-16 14:03:40 -06:00
2db37c9a35 fix issues with compute smd/vol and related docs 2024-08-16 14:58:47 -04:00
1fca4d94d0 docs: update Packages_details.rst 2024-08-16 12:54:57 -06:00
a625955143 docs: update commands section 2024-08-16 12:54:53 -06:00
4aaf7d7098 fix LATBOLTZ example 2024-08-16 14:51:29 -04:00
e4a654c7cd fix typo 2024-08-16 12:49:09 -04:00
635f6000eb improve error messages, especiall for compile time selected options 2024-08-16 12:49:04 -04:00
04fdfdadc6 tweak layout of commands lists 2024-08-16 00:46:44 -04:00
661e2e74fb make table widths explicit and tweak them to improve readability in PDF 2024-08-16 00:25:25 -04:00
8f366268bb whitespace 2024-08-15 22:55:07 -04:00
5a96d537de final set of bibliography updates 2024-08-15 22:52:42 -04:00
732be489a3 another error check 2024-08-15 19:48:17 -04:00
dca156eacc Edits to devleoper doc files 2 2024-08-15 17:12:39 -06:00
c68ea4fe1e better place for error check 2024-08-15 19:09:16 -04:00
27bf4d7974 bond/react: change where to reset mol IDs
needs to happen after topology changes communicated
2024-08-15 18:15:30 -04:00
a0b125f905 use automatic numbering 2024-08-15 16:46:06 -04:00
6b226f1ff2 display commands summary category list only with HTML 2024-08-15 16:45:53 -04:00
db603a380e Merge branch 'doc-pdf' of https://github.com/ndtrung81/lammps into collected-small-fixes 2024-08-15 13:37:11 -04:00
875ba17dd8 Edits/corrections to doc pages 2315-2589 2024-08-15 09:38:58 -05:00
68b808d3b5 precompute random numbers to avoid memory corruption with multi-threading 2024-08-15 00:25:28 -04:00
97026569a7 more bibliography updates 2024-08-14 23:45:59 -04:00
b97717eb46 update false-positives 2024-08-14 22:47:28 -04:00
298fb4eb3f Merge branch 'doc-pdf-GClavier' of https://github.com/Bibobu/lammps into collected-small-fixes 2024-08-14 22:30:19 -04:00
a796554096 use explicit column widths and tweak them for good display in PDF. HTML is unaffected 2024-08-14 22:29:19 -04:00
bc492afe1c tweak size of tables 2024-08-14 21:34:17 -04:00
e9f5ff4ea9 distribute additional LaTeX files for better looking manual 2024-08-14 17:54:46 -04:00
efc53d6439 docs: update run section 2024-08-14 15:29:21 -06:00
817f92d1fe docs: completed review of build section 2024-08-14 15:25:53 -06:00
26f9a84c4f doc: more build section updates 2024-08-14 14:15:48 -06:00
9ab9212612 Changed docstring of lammps_create_atoms to avoid weird formatting in
Manual.pdf
2024-08-14 21:57:56 +02:00
29ee719129 Formatting typo 2024-08-14 21:20:07 +02:00
cb03f45528 Some typos 2024-08-14 21:16:54 +02:00
9d5710ad53 some more documentation updates for bibliography 2024-08-14 14:57:53 -04:00
892d2dda96 Added mention of the MatSci forum in the Errors_common introduction
section after the section about mailing the devs.
2024-08-14 20:49:49 +02:00
a91e534eab Changed Germain Clavier's mail adress. 2024-08-14 19:57:48 +02:00
e52c739814 There are actually 3 scripts in the amber2lmp folder. Is the 99 format
version necessary?
2024-08-14 19:35:47 +02:00
30208f7173 Added a tinker section to Tools.rst. 2024-08-14 19:32:56 +02:00
c683489110 Added a valgrind section to Tools.rst. 2024-08-14 19:25:22 +02:00
10f32e0548 make index single-column 2024-08-14 13:12:44 -04:00
60fe24acb4 Edits to developer doc files 2024-08-14 10:41:52 -06:00
ffeb74c05f Adding py links to python scatter 2024-08-14 10:41:08 -06:00
f36f3ca26b make index single column 2024-08-14 12:18:26 -04:00
9b97e37f72 strip off common namespace components from index entries 2024-08-14 12:18:17 -04:00
9144f7abcf populate dump style index by moving commands off of commands_list.rst 2024-08-14 11:06:35 -04:00
6a91f2ec67 bibliography cleanup 2024-08-14 10:32:46 -04:00
9e6715504b fix typo and reformat 2024-08-14 06:59:57 -04:00
e0dad96e53 a couple more doc tweaks 2024-08-14 06:44:44 -04:00
7ecdea20eb fix issue with pair style srp that broke regression test 2024-08-14 05:16:45 -04:00
e1a0cc29be docs: update build section 2024-08-14 00:42:36 -06:00
cf0bc0e6bb docs: update install section 2024-08-14 00:03:10 -06:00
a7df221b14 correct indentation to comply with sphinx requirements 2024-08-14 01:46:18 -04:00
511b642a60 use math environments to typeset math expressions. make consistent. 2024-08-14 01:44:17 -04:00
308ecaef1c more doc reformatting 2024-08-14 01:34:42 -04:00
3c0397f8b9 Edits to modify doc files 2024-08-13 20:17:26 -06:00
5a55ca39bc convert lists with global values from fixes to use automatic numbering 2024-08-13 20:59:57 -04:00
4d1632b9f7 small doc fixes 2024-08-13 20:47:46 -04:00
35cf16b109 Update pair_srp.cpp 2024-08-13 18:49:53 -04:00
726311f8d2 Update pair_e3b.cpp 2024-08-13 18:48:35 -04:00
3321477c7f misc doc fixes to python section 2024-08-13 16:30:33 -06:00
70384d4344 syntax highlighting updates for added command 2024-08-13 17:57:11 -04:00
56d0d7c1c2 Updating log file 2024-08-13 15:28:06 -06:00
09af3e0fac initialize pointers in constructor. removed commented out code 2024-08-13 17:07:28 -04:00
fcaaca8304 step LAMMPS-GUI version to 1.6.8 2024-08-13 16:46:46 -04:00
8dd655dd1c Merge branch 'develop' into type-labels-for-pair_style_commands 2024-08-13 16:19:44 -04:00
5da737fd11 must not set tip4p atom and bond types when restarting from a restart file 2024-08-13 16:07:20 -04:00
a69356a02f Processed the ERROR line in the output, increased max_np to 4 when no reference log file exists 2024-08-13 15:01:29 -05:00
aa0b6c47c2 Merge pull request #4263 from akohlmey/collected-small-fixes
Collected small fixes and updates for LAMMPS and LAMMPS-GUI
2024-08-13 15:22:54 -04:00
0f792b0434 cast return value to void to indicate that we want to ignore the result 2024-08-13 12:36:43 -04:00
700a22b7cd Cleaned up and added check for "Total wall time" in the output 2024-08-13 11:03:35 -05:00
b479cf6c68 use old fashioned way to signal we want to ignore the return value 2024-08-13 11:38:22 -04:00
dd148557b5 enforce initialization 2024-08-13 11:34:11 -04:00
b459f33f5e avoid off-by-on overflow 2024-08-13 11:34:11 -04:00
6dad7f7396 forgot to flag development version. 2024-08-13 11:09:14 -04:00
063e6bcdc8 small tweaks 2024-08-13 11:06:04 -04:00
0d968374b8 small cleanup 2024-08-13 06:39:47 -04:00
164419bc1f cosmetic 2024-08-13 03:48:35 -04:00
bd2e1098ce avoid tiny memory leak 2024-08-13 03:44:30 -04:00
bb2c8d8da0 propagate font choices 2024-08-13 03:42:41 -04:00
206302a8e1 more consistent font selections by avoiding QApplication 2024-08-13 03:21:32 -04:00
8111697882 relax epsilong to accommodate MSVC++ 2024-08-13 01:08:57 -04:00
a5fe6543a7 check for errors of the geturl command and abort with message 2024-08-13 00:15:35 -04:00
17ea8d6381 update comment 2024-08-12 23:52:41 -04:00
4ee6910d98 add tests for 2NN MEAM potentials 2024-08-12 23:48:06 -04:00
1af5519379 update -restart2info and info docs 2024-08-12 22:57:21 -04:00
5bcfed5fce symlink potentials 2024-08-12 22:02:57 -04:00
a4bff8988b add missing potentials via symlinks 2024-08-12 21:55:13 -04:00
633ff19ab9 fix up some EFF inputs and create conventional log files 2024-08-12 21:51:59 -04:00
2115ac8971 use compliant box creation for 2d 2024-08-12 21:25:42 -04:00
8a77949db2 cleanly demo/test using restart files without leaving binary files behind 2024-08-12 21:19:46 -04:00
a1adf5d2d1 avoid mismatched new/deletep[] and malloc()/free() 2024-08-12 21:04:12 -04:00
24436e3463 fix typo 2024-08-12 11:11:32 -04:00
bbd72a8960 Switched the order of the checks for ERROR in the output to be first 2024-08-12 09:59:58 -05:00
462e9756ce fix box dimensions to comply with stricter requirement for 2d geometries 2024-08-12 10:54:00 -04:00
fe98a875bb must check more thoroughly 2024-08-12 10:26:56 -04:00
f98568c350 add completer for extra/* arguments to read_data 2024-08-12 00:57:50 -04:00
d759d8acf7 must have network access for the flatpak app 2024-08-11 23:40:17 -04:00
243b593426 add permission to desktop 2024-08-11 23:23:58 -04:00
accbd69c03 use more reliable conversion to const char * 2024-08-11 23:15:21 -04:00
9ab07ecba6 don't return temporaries 2024-08-11 22:55:37 -04:00
9080d6bfed add wizard for tutorial 2 2024-08-11 22:55:27 -04:00
23139db860 must use different conversion to const char* to avoid garbage output 2024-08-11 19:19:56 -04:00
c6e90eed9c update appdata for LAMMPS-GUI 2024-08-11 14:08:43 -04:00
231c3910ba fix up icon 2024-08-11 12:25:20 -04:00
c7f6d75856 add an "info" page to the wizard explaining the content of tutorial 1 2024-08-11 12:17:29 -04:00
cccb43bb9b turn off CA verification as it fails on Windows 2024-08-11 12:17:06 -04:00
9163c40b7d put the tutorial folders into the user's "Desktop" folder instead of home or application folder. 2024-08-11 12:16:46 -04:00
a92192d16b automatically include release version in binary package name 2024-08-11 09:58:21 -04:00
ccd77da836 integrate new tutorial logo 2024-08-11 09:31:09 -04:00
fedeeaef24 rework wizard for tutorial 1 to load manifest 2024-08-11 00:18:11 -04:00
6b0f529c0b Added more detailed output 2024-08-10 17:52:10 -05:00
a94fa9cd43 Merge branch 'develop' into collected-small-fixes 2024-08-10 11:54:50 -04:00
4b756e0b1c Merge pull request #4270 from lammps/fix-store-global-bug-fix
Fix a bug when restarting with stored data in fix STORE/GLOBAL for global vectors or arrays
2024-08-10 11:29:06 -04:00
22f25f0c00 whitespace 2024-08-10 10:13:36 -04:00
1617870fc3 Extracted the compiler name from log file names (g++, or intel) 2024-08-09 23:43:28 -05:00
f5b1ec668e enforce using the same style wizard dialogs on all platforms 2024-08-09 22:41:24 -04:00
423cf977fa wizard for tutorial 1 is almost complete 2024-08-09 18:30:24 -04:00
658cadceea add helper to purge directories recursively 2024-08-09 18:29:38 -04:00
f4fa78cf03 Fixed issues with detecting the basename of input (e.g. in.min.box) and the log file 2024-08-09 17:17:37 -05:00
b5929be883 Merge conflicts 2024-08-09 15:38:19 -06:00
8f8ff6f636 updating fix add/heat in example 2024-08-09 15:36:27 -06:00
a7c6b0ee42 Fixing errors in add heat 2024-08-09 15:36:27 -06:00
07ac930733 Typo 2024-08-09 15:36:27 -06:00
7ce2919092 removed debug info 2024-08-09 14:10:15 -06:00
a294a970e3 ensure restart with global data resets the vector/array sizes 2024-08-09 14:01:41 -06:00
d4b6bce4af grow a bit again 2024-08-09 12:22:18 -04:00
76fbece9ee clarification 2024-08-09 09:27:02 -04:00
28dc58a389 add 2NN MEAM potential files for High-Entropy Alloys 2024-08-08 21:56:58 -04:00
800335fe2f whitespace 2024-08-08 21:47:47 -04:00
9ce75ac45a remove menu entry to open web tutorial 2024-08-08 21:40:39 -04:00
2edc8dc1ac do not copy internal "noinit" keyword to clipboard 2024-08-08 21:40:20 -04:00
751d7f0197 improve error handling and reporting for MEAM user parameter file 2024-08-08 21:27:44 -04:00
54dc7776f2 small grammar tweak 2024-08-08 21:27:06 -04:00
444e85d46c convert e3b and srp 2024-08-08 18:57:53 -04:00
c12974f006 convert rest of tip4p 2024-08-08 18:13:19 -04:00
7f2267041e make smaller 2024-08-08 15:30:28 -04:00
23fb11736a rewrite 2024-08-08 15:30:20 -04:00
bd0574c11d Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-08-08 13:43:25 -04:00
62665dd079 Merge pull request #4266 from akohlmey/geturl-command
New geturl command to download files for LAMMPS inputs on demand
2024-08-08 13:42:21 -04:00
4ad7740676 fix up cut-n-paste error 2024-08-08 11:41:54 -04:00
dbf9c75509 some more atom info in "info system" 2024-08-08 11:22:02 -04:00
eac7c6a8ed rephrase 2024-08-08 11:12:30 -04:00
6f3056511b follow common convention for manual pages documenting multiple styles 2024-08-08 05:00:01 -04:00
45e90ac2f8 must not access thermo class, if not yet created 2024-08-08 04:37:59 -04:00
4f0e99793f refactor tip4p/long 2024-08-08 00:23:33 -04:00
1b29dc4920 refactor lj/long/tip4p/long 2024-08-08 00:19:12 -04:00
6203738dcb proposed solution
bit of trickery to allow type labels to be used before they are defined
2024-08-08 00:05:20 -04:00
b9e7c9534b switch branch 2024-08-07 22:47:25 -04:00
da26b69d8d partial implementation of wizards to start tutorials 2024-08-07 22:44:10 -04:00
03bc0768cd try to free resources allocated by inspecting restart files 2024-08-07 17:30:55 -04:00
6bc0cae2d4 fix up fix colvars docs 2024-08-07 16:07:58 -04:00
6544861bd3 document large restart file warning 2024-08-07 16:01:02 -04:00
323ecdd891 add confirmation dialog with warning when trying to inspect a large restart 2024-08-07 15:57:42 -04:00
7f8bcbd93a document "verbose" keyword to "geturl" 2024-08-07 14:01:23 -04:00
69294ef343 add "verbose" option for debugging which will divert libcurl logging to the screen 2024-08-07 13:08:35 -04:00
af68051981 switch libcur to verbose output 2024-08-07 12:41:32 -04:00
c8ba358f67 more debugging github runner for macos 2024-08-07 12:20:35 -04:00
cdab8d09ad need to update LAMMPS help message, too 2024-08-07 12:12:45 -04:00
a8bb296a17 switch to verbose mode to debug GitHub runner. 2024-08-07 11:15:13 -04:00
c47a32206b add versionadded tags 2024-08-07 10:47:58 -04:00
f197ce3165 expose new introspection to library interfaces for consistency 2024-08-07 10:37:20 -04:00
937c17f3b8 add tests for geturl command 2024-08-07 10:27:48 -04:00
85f322e4f2 add introspection support for -DLAMMPS_CURL 2024-08-07 10:27:19 -04:00
fe9c9cc77d fix highlighting bug and add geturl 2024-08-07 09:38:10 -04:00
dcb3871e58 doc integration of gerurl 2024-08-07 09:37:49 -04:00
3fa48dfa34 build system integration of geturl 2024-08-07 09:37:33 -04:00
b645a0c4b1 new command geturl 2024-08-07 09:37:09 -04:00
c4510ba1ed type label support for pair_write 2024-08-06 23:51:49 -04:00
3833309725 type labels for pair_srp bond type 2024-08-06 23:37:14 -04:00
e605c1a62e type label for pair e3b oxygen 2024-08-06 23:27:34 -04:00
288f0a672d type labels for hbond pair styles K value 2024-08-06 23:13:44 -04:00
de7fdf99a3 type label for pair_coeff atm K value 2024-08-06 22:54:16 -04:00
530d6b5869 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-08-06 18:39:36 -04:00
b25cb2adff Merge pull request #4261 from Colvars/colvars-update
Colvars update
2024-08-06 18:01:35 -04:00
b7bb8083ed implement -restart2info command line flag and document it 2024-08-06 17:14:46 -04:00
40b2b08f23 avoid uninitialized access and get a "clean" core dump if the wrong pointer is used. 2024-08-06 16:08:41 -04:00
4818aec25b cosmetic 2024-08-06 15:50:50 -04:00
2344b7bcc3 enable and apply clang-format 2024-08-06 15:34:16 -04:00
ce3b3b2950 remove dead code 2024-08-06 15:30:57 -04:00
8194a9fd2f do not confuse static code analysis 2024-08-06 15:22:29 -04:00
19b7d3eac6 mention LAMMPS-GUI as visualizer option and tool to general dump image commands 2024-08-06 11:16:20 -04:00
0fe1f2c2be Merge branch 'develop' into plumed-plugin 2024-08-06 10:58:15 -04:00
8118d8e829 Merge pull request #2 from akohlmey/colvars-update 2024-08-06 15:05:06 +02:00
5f86046a92 document "Inspect Restart" feature 2024-08-06 06:36:54 -04:00
69ac247088 generate data file from restart with "pair ij" flag 2024-08-06 06:18:20 -04:00
543ceaaf89 when using "write_data" with "noinit" and "pair ij" generate missing pair coeffs by calling Pair::init_one() 2024-08-06 06:17:44 -04:00
494660700a reduce default size of image viewer 2024-08-06 00:59:23 -04:00
f21dec8b06 Fixed issues with empty output, thus no Step nor Loop 2024-08-05 23:40:05 -05:00
f956fb1059 Update pair_coul.rst 2024-08-06 00:29:00 -04:00
5d5303b59e wrong link 2024-08-06 00:21:25 -04:00
bba2ec9adf type labels for MOLECULE tip4p styles 2024-08-06 00:08:11 -04:00
2627d90adf docs for FEP tip4p type labels 2024-08-06 00:04:16 -04:00
1753343727 copy/paste error 2024-08-06 00:01:35 -04:00
ca0e155b9d type labels for FEP tip4p styles 2024-08-05 23:56:47 -04:00
0b87199e4a docs for tip4p type labels update
lj/cut and lj/long
2024-08-05 23:50:09 -04:00
6492ef1320 type labels for other KSPACE pair_styles 2024-08-05 23:32:45 -04:00
ea3fb32805 comm info is more distracting than useful 2024-08-05 23:11:38 -04:00
654fd05f0e Merge branch 'develop' into collected-small-fixes 2024-08-05 22:43:50 -04:00
46c5ff624c follow the LAMMPS programming style more closely 2024-08-05 22:32:55 -04:00
445020359b simplify using LAMMPS_NS::utils functions 2024-08-05 22:13:20 -04:00
e5957ccc19 recreate example logs with new colvars version 2024-08-05 22:12:30 -04:00
04eb6c421d remove class member "me" and apply clang-format 2024-08-05 21:47:12 -04:00
a42d632aed Merge branch 'develop' into colvars-update 2024-08-05 21:38:57 -04:00
843e678a78 Merge pull request #4255 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-08-05 20:53:15 -04:00
ae39fc5b21 fix logic bug 2024-08-05 20:24:38 -04:00
0216692698 add restart file inspector showing system info, data file, and snapshot image 2024-08-05 20:04:44 -04:00
3f79b7e493 Update pair_lj_cut_tip4p_long.cpp 2024-08-05 19:52:03 -04:00
7561e05218 output timestep info as part of the system info 2024-08-05 19:39:57 -04:00
89debb2141 add a hidden "noinit" flag to write_dump that works the same as for write_data 2024-08-05 19:31:21 -04:00
d9e0847c3b update read_restart docs about timestep info 2024-08-05 19:27:36 -04:00
9fa2ffa659 Merge pull request #4259 from jrgissing/add_some_more_type_label_support,again
Type label support for dump image, movie
2024-08-05 19:22:55 -04:00
133dee9ac1 Update Colvars library to version 2024-06-04 2024-08-06 01:07:43 +02:00
278accd9ea Update FixColvars to expand usage of fix_modify commands
See https://github.com/Colvars/colvars/pull/418

Also moving inthash code to a separate file to simplify future refactoring
2024-08-06 01:05:51 +02:00
72a0992054 Propagate OpenMP flags to Colvars library 2024-08-06 00:57:12 +02:00
e599663b2b Update dump_image.rst 2024-08-05 18:11:53 -04:00
c6eb1fb9dd Allowed to skip subfolders from input lists by commenting them out 2024-08-05 16:28:23 -05:00
54a5d5e605 improve flatpak building so it sets up the required repo automatically as well 2024-08-05 14:23:54 -04:00
b094113e7a update TODO list 2024-08-05 08:58:31 -04:00
4b50356aa8 step LAMMPS-GUI version number 2024-08-05 08:55:34 -04:00
52416afd95 remove comment 2024-08-05 08:55:20 -04:00
f20aa6271c also support bcolor, bdiam
(type label support)
2024-08-04 19:35:02 -04:00
a0f4da37e9 docs for type label support 2024-08-04 19:09:18 -04:00
6ecaa7c7ba type label support for acolor, adiam
for dump_image, movie
2024-08-04 19:02:30 -04:00
6e1c2bde4d add missing icon file 2024-08-04 18:49:38 -04:00
66621a99fd update docs for LAMMPS-GUI to include recent additions 2024-08-04 18:48:35 -04:00
fd8a5d3e88 make default choice of image shininess selectable in preferences 2024-08-04 18:25:46 -04:00
fbc505c7c6 add shininess toggle button to image viewer, move buttons to second line on top 2024-08-04 17:51:34 -04:00
6671e3b410 Fixed valgrind tests with 1 proc and typo in the config file 2024-08-04 15:26:54 -05:00
d470919a44 implement auto-save on run and quit 2024-08-04 11:27:03 -04:00
1d1b448e18 update Linux installation docs to describe flatpak installation 2024-08-04 06:34:07 -04:00
e1275baa99 update LAMMPS-GUI TODO list 2024-08-03 23:09:12 -04:00
081169b239 automatically switch between showing stable, release, latests doc pages 2024-08-03 14:35:37 -04:00
14b552372d update help index table 2024-08-03 13:38:33 -04:00
92b33b3c07 export git and LAMMPS version strings through library interface 2024-08-03 13:33:21 -04:00
7c9703b416 update LAMMPS-GUI docs for changing the default of "Reformat on 'Enter'" 2024-08-03 09:16:34 -04:00
950237105d remove redundant entry 2024-08-03 08:58:38 -04:00
c6e03d2aa4 disable re-indent on return by default 2024-08-03 08:28:16 -04:00
4dfc15151a cap the maximum number of threads used by default at 16 2024-08-03 08:26:54 -04:00
70abf60d73 Merge branch 'develop' into plumed-plugin 2024-08-02 23:13:37 -04:00
c60c42cede correct order of initializater list 2024-08-02 23:11:56 -04:00
1096da2d01 plug memory leaks 2024-08-02 18:17:14 -04:00
0367f3ed07 avoid memory leaks from extracting scalar data from fixes 2024-08-02 18:17:01 -04:00
b41b2c9bfc must destroy before allocate to avoid leaking 2024-08-02 17:44:38 -04:00
d3919be102 don't leak file handle 2024-08-02 17:41:13 -04:00
a905c9fd32 make sure virial array is initialized in the constructor to avoid uninitialized access 2024-08-02 17:18:09 -04:00
0abc4f3464 initialize class data 2024-08-02 17:17:42 -04:00
859cbc90ef plug memory leaks 2024-08-02 17:17:23 -04:00
d03ca368b5 add a couple more suppressions 2024-08-02 16:03:12 -04:00
423ca92d39 use try/catch to delete dump on dump_modify error and then rethrow exception 2024-08-02 15:59:25 -04:00
332157fa9b fix typo 2024-08-02 15:40:40 -04:00
75061d4b9d docs: expand author list 2024-08-02 12:54:03 -06:00
b0bc154ab8 must provide branch name when building flatpak bundle 2024-08-02 12:29:15 -04:00
51e7e91c6d Use (short) LAMMPS version string as default branch for flatpak 2024-08-02 12:10:36 -04:00
b5460061be more details about running CLI utils in the flatpak bundle 2024-08-02 11:50:15 -04:00
1f7ef3e790 add target for creating a flatpak bundle to CMake 2024-08-02 11:46:31 -04:00
e73e522e40 update docs for installing LAMMPS-GUI 2024-08-02 10:19:42 -04:00
36a691e42e more small tweaks 2024-08-02 04:31:15 -04:00
d903026bd2 small updates and corrections 2024-08-02 04:16:05 -04:00
38611afeba add support for building LAMMPS-GUI as flatpak 2024-08-02 03:15:55 -04:00
9e1bf78201 enforce initialization 2024-08-01 22:12:18 -04:00
6b9e9ae5d8 remove commented out code 2024-08-01 21:48:16 -04:00
742bb3aae2 silence warnings 2024-08-01 18:46:48 -04:00
7a3ba6027b add option to skip death tests for use with valgrind checking of unit tests 2024-08-01 17:38:12 -04:00
db230cd89e step LAMMPS-GUI patch level 2024-08-01 10:17:16 -04:00
a775cf4136 avoid error in image creation when sigma is zero 2024-08-01 10:02:42 -04:00
a41d20e412 make sure a dump with ID WRITE_DUMP does not exist (e.g. as a leftover from a previous crash) 2024-08-01 09:41:38 -04:00
252c8483c3 make LAMMPS python module compatible with mpi4py 4.x.x 2024-08-01 03:45:45 -04:00
18b3f6b4d4 Merge pull request #4250 from akohlmey/collected-small-fixes
Collected small changes and fixes
2024-07-31 18:21:23 -04:00
ff2639a196 Merge pull request #4252 from k-harris27/fix-empty-label
Fix reading empty type label string in restart
2024-07-31 17:37:32 -04:00
8bc38709a4 raise minimum required version of clang-format and extend search to newer versions 2024-07-31 09:10:43 -04:00
9c9fac49d7 Fix reading empty type label string in restart 2024-07-31 13:39:41 +01:00
5dff36aa43 apply clang-format 2024-07-31 06:49:55 -04:00
c540252d8b sphinx 7.4.x is the last series of versions compatible with current breathe 2024-07-30 22:31:20 -04:00
7e3d613c80 set to zero on underflow to avoid std::stod() throwing an out-of-range exception 2024-07-30 22:24:59 -04:00
cc1e0ac9c5 replace atoi() with std::stoi() 2024-07-30 21:50:44 -04:00
d68bc9f628 replace remaining calls to atof() with std::stod() 2024-07-30 21:02:55 -04:00
cb00839357 Merge branch 'develop' into plumed-plugin 2024-07-30 20:30:21 -04:00
a54e67bf1c Merge pull request #4242 from akohlmey/collected-small-fixes
Collected small fixes and updates for LAMMPS and LAMMPS-GUI
2024-07-30 20:04:19 -04:00
3c6adde66b replace atoi()/atof() with std::stoX() 2024-07-30 16:25:39 -04:00
7b2c7e0df8 new code owner 2024-07-30 16:17:24 -04:00
5016a0848f make compatible with per-type and per-atom masses 2024-07-30 16:16:05 -04:00
1254d579f7 reduce compiler warnings, remove dead code, follow LAMMPS conventions more closely 2024-07-30 16:13:06 -04:00
701280a648 lower GSL version requirement for compatibility with more (Linux) systems 2024-07-30 15:20:48 -04:00
b6834f33c0 modernize, more selective argument checking, better error messages 2024-07-30 14:21:56 -04:00
7decc33327 Fixed mpiexec valgrind command line, enforced a single proc run 2024-07-30 12:05:47 -05:00
75b09ed143 discuss in more detail MPI support in PyLammps. Some small improvements in MPI support
MPI related changes are:
 - Raise exception in PyLammps.eval() if called from MPI rank
 - Print (some) informational and warning messages only from MPI rank 0
2024-07-30 11:27:31 -04:00
a5a0620dca When KOKKOS has been compiled with GPU support the GPU *must* be used 2024-07-30 10:35:15 -04:00
bd2e071ef0 clarify that hybrid styles also do not write coeff data to data files 2024-07-30 08:59:51 -04:00
208216ba3d Merge branch 'kokkos-amd-gfx1103-support' into collected-small-fixes 2024-07-30 08:46:22 -04:00
cb6e71b72f fix typo 2024-07-30 08:46:01 -04:00
1c40cd1c22 avoid segfault 2024-07-30 08:45:01 -04:00
0ea45d89d9 clarify that all hybrid styles do not write Coeff sections 2024-07-30 05:45:24 -04:00
620af2599b use std::stoX() functions 2024-07-30 03:57:23 -04:00
92cbbaab6a no longer used 2024-07-30 03:54:47 -04:00
a75862088a replace atof() with std::stod() 2024-07-30 03:43:26 -04:00
f0e9d0c96d update comment 2024-07-30 03:39:03 -04:00
5082d15844 use std::stoXX() functions and check for incomplete conversions and exceptions 2024-07-30 03:38:53 -04:00
d2b12372f1 not used anymore 2024-07-30 01:31:56 -04:00
9aadb16c06 not used anymore 2024-07-30 01:31:38 -04:00
1035dcf735 get rid of ATOBIGINT 2024-07-30 01:18:22 -04:00
95513838da fix typo 2024-07-30 00:54:12 -04:00
361b8c25c4 use c++11 function to convert strings to numbers 2024-07-30 00:34:12 -04:00
d5e57ac02d reimplement using C++11 2024-07-30 00:33:44 -04:00
60d118a41a update to current list of compression tools 2024-07-29 20:13:27 -04:00
1d5aa19e4f document on-the-fly decompression for file viewer 2024-07-29 20:13:09 -04:00
f3c1697b10 support reading compressed files, same as LAMMPS itself. 2024-07-29 20:01:06 -04:00
9af53e3af8 portability 2024-07-29 20:00:30 -04:00
afcf00c399 update 2024-07-29 19:59:36 -04:00
6eb3679468 add commented out commands for visualization with LAMMPS-GUI 2024-07-29 19:59:22 -04:00
e1f17cec7d update list of supported devices 2024-07-29 17:11:51 -04:00
41254b26c7 backward compatibility not needed 2024-07-29 17:01:34 -04:00
2f2412bd95 correctly use versionchanged command 2024-07-29 15:24:05 -04:00
6bb89f6a14 Merge branch 'develop' into collected-small-fixes 2024-07-29 15:17:55 -04:00
04f7aaca26 Merge pull request #4243 from jtclemm/sph-update
Cleaning up and fixing bug in SPH package
2024-07-29 15:16:48 -04:00
a00b396159 re-enabled unit test 2024-07-29 15:12:16 -04:00
dc7768105a Merge remote-tracking branch 'github/fix_issues' into collected-small-fixes 2024-07-29 15:10:39 -04:00
36bec29736 Revert "temporarily remove non-compiling KOKKOS sources"
This reverts commit 4a2901bd5e.
2024-07-29 15:08:52 -04:00
490f3e6890 fix compilation 2024-07-29 15:07:51 -04:00
ddf6dd50cf Merge pull request #4224 from lab-cosmo/bugfix/parallel-ipi
Bugfix/parallel ipi
2024-07-29 15:06:49 -04:00
9c937113fd use strtoll() and strtod() instead of atoi(), atol(), atoll() and atof() 2024-07-29 14:45:43 -04:00
0b4dad1335 Made progress status as a whole string 2024-07-29 12:12:23 -05:00
e870217507 Handled cases to skip when resuming from last progress 2024-07-29 11:45:22 -05:00
d84b12ea63 define EPSILON consistently as static constexp 2024-07-29 11:57:46 -04:00
eeaa1eadeb add test for value tokenizer to check limits 2024-07-29 11:57:09 -04:00
abb19890f9 Fix another compiler warning 2024-07-29 11:46:22 -04:00
b773c12284 Tweak comment 2024-07-29 11:46:11 -04:00
d81bf66fe1 Fix issues with new KOKKOS hybrid topo styles 2024-07-29 09:29:40 -06:00
a4ad184d37 Fix Makefile build for UF3 with KOKKOS 2024-07-29 09:29:11 -06:00
2ff43fc8bd Fix compile issue 2024-07-29 09:27:28 -06:00
204fc79211 Remove unused var 2024-07-29 09:27:09 -06:00
3155b6f361 Avoided rewriting progress with completed runs, improved parsing log.lammps to yaml 2024-07-29 09:41:13 -05:00
20a1fc6a78 apply clang-format 2024-07-29 01:25:12 -04:00
8a13db457a small fix 2024-07-29 01:22:03 -04:00
7c4b1bdc4a update include files according to include-what-you-use testing 2024-07-29 01:18:08 -04:00
4d8e03e2ae document recenter option 2024-07-29 00:16:31 -04:00
15c2c59d0c add button to recenter the image on the currently selected group's COM 2024-07-29 00:06:53 -04:00
aa3c287999 add wrapper to extract value of equal style and compatible variables 2024-07-29 00:05:53 -04:00
7d69535d78 step LAMMPS-GUI version number to 1.6.5 2024-07-29 00:04:54 -04:00
84edc5ac81 correct documentation 2024-07-29 00:04:31 -04:00
08d47d389d remove include obsoleted in Qt6 2024-07-28 22:16:44 -04:00
e6a708d253 add support for AMD Phoenix APUs with HIP 2024-07-28 20:49:17 -04:00
4a2901bd5e temporarily remove non-compiling KOKKOS sources 2024-07-28 20:46:44 -04:00
d101fecf4d Fixed bugs with num_runs undefined 2024-07-28 16:47:56 -05:00
4f46b07d35 make more similar to pair style sw/kk 2024-07-28 16:22:46 -04:00
b9b62822ee add missing "override" property 2024-07-28 16:00:57 -04:00
b42ccf3a0f don't check for omp.h if the compiler identifies as Clang since the CMake check seems broken 2024-07-28 12:42:05 -04:00
26aba2c314 silence compiler warnings 2024-07-28 11:49:27 -04:00
5501f608f5 fix out of bound memory access bug detected by hipcc 2024-07-28 11:25:15 -04:00
ffdf499cb1 fix typo 2024-07-28 11:24:46 -04:00
3654f822f3 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-07-28 03:31:08 -04:00
122e9176e7 Merge pull request #4240 from akohlmey/more-typelabel-support
Add some more typelabel support
2024-07-28 03:30:36 -04:00
45795acdbf import bugfix for dihedral style charmmfsw from PR #4190. Test passes. 2024-07-28 03:28:59 -04:00
517fadd167 skip kokkos_omp tests for now since they are failing 2024-07-27 21:11:21 -04:00
83297a1071 extend force style testers for bonded interactions to check KOKKOS/OpenMP
selectively imported from PR #4190 by @alphataubio
2024-07-27 21:06:52 -04:00
a5d0efcd5b make test environment consistent across all force tests 2024-07-27 20:42:42 -04:00
aa32273aa1 Allowed to skip input scripts whose name matches patterns, handled cases where runs completed but log.lammps has irregular format (multi, in.tmd) 2024-07-27 17:10:23 -05:00
a3775f785a add some installation info 2024-07-27 08:55:02 -04:00
6eb6d972e9 more doc tweaks 2024-07-27 04:38:20 -04:00
ab0da442a4 Handled cases where log files have different thermo ouput columns than the reference log file (in.hyper.local) in subsequent runs 2024-07-26 23:51:23 -05:00
8b0aaa814e small tweak to refer to LAMMPS-GUI more consistently 2024-07-27 00:19:21 -04:00
06563b8255 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-07-26 22:48:26 -04:00
7396426963 Merge pull request #4183 from alphataubio/spica-kk
Add Kokkos version of spica pair and angle styles
2024-07-26 22:45:47 -04:00
08fdad12e8 fix typo and rewrap 2024-07-26 19:47:10 -04:00
a972a282a7 Adding remap v restriction to doc files 2024-07-26 17:43:04 -06:00
2a99b9957d simplify and shorten charmmfsw example. add reference logs. 2024-07-26 19:34:23 -04:00
e7d338573f Merge branch 'develop' into spica-kk 2024-07-26 19:10:46 -04:00
cabde6549e add backward compatibility with inputs created before the rename of SDK to SPICA 2024-07-26 19:08:59 -04:00
ca25071353 include generic accelerated style blurb 2024-07-26 18:33:07 -04:00
06767886de Merge branch 'develop' into collected-small-fixes 2024-07-26 18:32:49 -04:00
1014cd1e0e Merge pull request #4211 from megmcca/kk_hybrid_topo_a-d-i
Port hybrid angle, dihedral, improper topology styles to Kokkos
2024-07-26 18:31:19 -04:00
343d600410 make docs consistent with rest of manual and rephrase fix shake changes 2024-07-26 17:23:46 -04:00
50bf022946 Improved error messages in the log files 2024-07-26 15:19:01 -05:00
e0857ad558 Handled more cases with ERROR in log.lammps 2024-07-26 14:11:43 -05:00
e28de32a77 update docs, kk accel style 2024-07-26 13:06:17 -06:00
e317c18e1e whitespace 2024-07-26 12:57:22 -06:00
ce42418efc Merge branch 'lammps:develop' into kk_hybrid_topo_a-d-i 2024-07-26 12:56:27 -06:00
90d98d9a92 Added a config file for valgrind tests 2024-07-26 12:26:37 -05:00
5bcf124431 Converted the return results from iterate() into a dict, processed memory leaks if valgrind is used 2024-07-26 12:23:58 -05:00
59ef492982 Handled a few cases with mismatched columns in thermo output 2024-07-26 09:51:19 -05:00
a2f461c688 fix cut-n-paste doc issue 2024-07-26 10:35:07 -04:00
c0c69af709 update LAMMPS-GUI howto docs 2024-07-26 10:19:15 -04:00
7bae7ea2f7 add export to YAML to chart viewer 2024-07-26 10:04:39 -04:00
c8818a16c5 Add menu entries to open LAMMPS tutorial website 2024-07-25 22:14:06 -04:00
df4ae41283 update docs for added typelabel support 2024-07-25 21:25:14 -04:00
c343287f2c add conditional typelabel support 2024-07-25 21:15:16 -04:00
1a034af7d5 fix logic bug 2024-07-25 21:14:38 -04:00
68a6bc0693 Adding missing header file 2024-07-25 18:15:34 -06:00
3deffb0dfd typo 2024-07-25 18:10:27 -06:00
d43e87bce1 Missing word 2024-07-25 17:54:52 -06:00
49b377fc3d Adding errors to unpatched uses of vest with vremap 2024-07-25 17:51:48 -06:00
6abbbdba6c Patching vremap in SPH 2024-07-25 17:10:23 -06:00
e02ad1a3b2 Cleaning up SPH package, minor bug fixes 2024-07-25 17:02:22 -06:00
1a344853e0 Added more info on the number of input scripts per subfolder 2024-07-25 16:49:53 -05:00
1e41dfaeb9 Adding movie references to BPM/RHEO 2024-07-25 15:18:45 -06:00
26503c948a improve detection of triclinic box trajectory files 2024-07-25 16:59:41 -04:00
ff27bb8865 add missing space 2024-07-25 16:59:13 -04:00
0c5b9175d6 Fixed an issue with num_ref_runs not specified before use 2024-07-25 13:26:47 -05:00
590c7dcf8f Merge branch 'lammps:develop' into spica-kk 2024-07-25 13:54:44 -04:00
f84b18170f Reported different outcomes for the test runs, priotized running the input first, then processing the output, mem leaks and finally numerical checks 2024-07-25 12:19:00 -05:00
13fabe445e add check to detect whether there are overlaps between type labels and fix shake keywords 2024-07-25 09:07:23 -04:00
a278a6f951 restore original fix shake code 2024-07-25 09:02:47 -04:00
870306dd04 use preferred comparison method 2024-07-25 08:49:03 -04:00
e844ce3ddf re-align ReaxFF OpenMP version of ValidateLists with serial version 2024-07-25 08:48:43 -04:00
eb5f45dfe7 Fixed bugs with progress file close 2024-07-24 23:50:18 -05:00
f254af2bab Updated logger and output format 2024-07-24 23:11:54 -05:00
90291a9b3a Merge pull request #4237 from Yi-FanLi/pimd_langevin_lj
fix pimd/langevin: improve usage of lj reduced units
2024-07-24 18:58:12 -04:00
1c42a06f1b use enums instead of numbers. 2024-07-24 15:59:55 -04:00
93bab0cfcc simplify parser for fix shake/rattle options and add typelabel support 2024-07-24 10:40:59 -04:00
20fb6a4279 add typelabel support to neigh_modify exclude type 2024-07-24 10:21:20 -04:00
732786d178 use preferred comparison method 2024-07-24 08:57:47 -04:00
fbd37bd5e9 Merge pull request #4235 from akohlmey/collected-small-fixes
LAMMPS GUI improvements
2024-07-24 00:04:24 -04:00
61c0001286 Merge pull request #4239 from lammps/occasional-neighbor-bug-fix
Bug fix for determining when an occasional neighbor list needs rebuilding
2024-07-23 22:37:51 -04:00
992b279b3a Merge branch 'develop' into pimd_langevin_lj 2024-07-23 21:34:30 -04:00
eaf875187c Fix bug in GPU/CPU overlap 2024-07-23 19:47:26 -04:00
ce0e513d8c Remove unused function 2024-07-23 17:42:23 -06:00
8bba2d12ec Fix bug in GPU/CPU overlap 2024-07-23 17:41:48 -06:00
c1c8525f4b fix typo in comment 2024-07-23 19:03:43 -04:00
91931f0ea2 Merge remote-tracking branch 'github/develop' into collected-small-fixes
# Conflicts:
#	doc/src/Tools.rst
2024-07-23 17:04:36 -04:00
afbcbc2dd6 Merge pull request #4238 from akohlmey/remove-lammps-shell
Remove lammps-shell tool as it has been superseded by LAMMPS-GUI
2024-07-23 14:58:40 -04:00
1bde65c1f3 Updated README with example uses, added progress file option 2024-07-23 10:01:29 -05:00
dbc1582c86 Reformated the screen output 2024-07-23 09:37:01 -05:00
b3c2083ff1 Split the input list before quitting for dry run 2024-07-23 08:53:42 -05:00
0210341489 whitespace 2024-07-23 05:09:33 -04:00
b459d0c9b9 apply clang-format 2024-07-22 23:58:10 -04:00
ed3ab86ba7 typo 2024-07-22 18:57:53 -04:00
d0528f7f02 Removing more obsolete args from nlist build_one() 2024-07-22 16:45:51 -06:00
4a783b74be Split the subfolders into num_workers and write out the separate text files 2024-07-22 16:53:12 -05:00
572c511830 sanity check that occasionsal list is assigned to an NPair class 2024-07-22 14:37:13 -06:00
c6b7143863 whitespace around comment 2024-07-22 14:12:52 -06:00
445251d569 simplify logic for checking whether occasional neight list needs to be rebuilt 2024-07-22 14:11:04 -06:00
244db720b9 the list of subfolders can be loaded from a text file 2024-07-22 14:58:50 -05:00
b551a8197f remove extra iteration 2024-07-22 10:57:49 -06:00
409e795027 remove extra iteration 2024-07-22 10:45:31 -06:00
9fd21fa065 Remove lammps-shell tool as it has been superseded by LAMMPS-GUI 2024-07-22 06:43:10 -04:00
70ee5495a2 mention dump_modify binary for VTK style dumps 2024-07-22 06:14:31 -04:00
1f14f36708 step patch level version 2024-07-21 19:11:01 -04:00
c05b184cca update documentation for file viewer feature 2024-07-21 19:10:15 -04:00
51b58b4249 Cleaned up and added comments 2024-07-21 18:06:34 -05:00
7aaa5edf29 Updated progress tracking to skip completed tests 2024-07-21 17:56:10 -05:00
7dc0ace48f file viewer can be called from File menu or context menu in editor if word under cursor is a file 2024-07-21 18:37:06 -04:00
97ffabda0e add (text) file viewer class 2024-07-21 18:36:20 -04:00
36665683d4 Updated progress tracking 2024-07-21 16:57:08 -05:00
ca859c1d17 Added progress to track the tests processed 2024-07-21 16:22:11 -05:00
47c6f1633c Reverted the changes to examples/melt/in.melt, no need to add #REG 2024-07-21 10:34:23 -05:00
3ddb202853 Removed the unnecessary thermo yaml file under examples/melt 2024-07-21 10:32:44 -05:00
695f25521d Cleaned up and fixed issues with in_place = False (using the provided in.lj for debugging) 2024-07-21 10:21:14 -05:00
f23835932c Updated README and cleaned up 2024-07-21 10:06:37 -05:00
e8f09bfb02 Rearranged the functions for processing #REG markers, maybe phased out later as not needed 2024-07-21 09:11:38 -05:00
9109b4d89e Removed input scripts, data files and ref thermo files that were previously used for debugging, keeping only in.lj 2024-07-21 09:01:03 -05:00
051ed89851 Reverted the unintentional changes to examples/bpm/impact/brokenDump 2024-07-21 08:58:34 -05:00
c689cea7d8 initialize in constructor rather than header 2024-07-20 23:48:39 -04:00
9413bb825f match lj/spica/coul/long as close as possible to lj/cut/coul/long 2024-07-20 23:25:46 -04:00
49ead6be10 update doc 2024-07-20 22:46:06 -04:00
ce0fd7dcb7 initialize lj parameters to 1 2024-07-20 22:34:27 -04:00
9676b0cb06 Merge branch 'upstream' into regression-tests 2024-07-20 16:46:49 -05:00
063d5d2fcd keep entries in roughly alphabetical order 2024-07-20 03:35:04 -04:00
39efd3bb2d Merge branch 'develop' into small-patches 2024-07-19 13:58:52 -06:00
3d4074d574 Accessor for history, ensure saved bonds processed in update/special/bonds 2024-07-19 13:58:16 -06:00
cf4654d9cf spelling 2024-07-18 19:07:59 -04:00
3017630c01 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-07-18 18:40:22 -04:00
1ed6e153b6 Merge pull request #4214 from jtclemm/rheo
New multiphase fluids package
2024-07-18 18:38:51 -04:00
1c99d7f813 bugfix for extracting 2d-data with lammps_pair_extract() 2024-07-18 13:37:04 -04:00
517681eb1e avoid passing uninitialized data 2024-07-18 13:23:20 -04:00
3b022e86db add extract_pair_dimension and extract_pair for fortran module 2024-07-18 07:39:15 -04:00
bb005e1858 k_cut_ljsq and k_cut_coulsq 2024-07-18 04:24:40 -04:00
23f37e6f63 minor fixes 2024-07-18 03:53:44 -04:00
992987eb6a fix formatting to make diff easier 2024-07-18 00:27:35 -04:00
85beac7107 compatibility with Qt-5.12 and Ubuntu 20.04LTS 2024-07-18 00:16:12 -04:00
78aacfb52e whitespace 2024-07-18 00:11:36 -04:00
93d40f494f revise documentation for changes in version 1.6 2024-07-18 00:06:51 -04:00
11c77b6136 drop icon since we now have the File menu entry and keyboard shortcut 2024-07-18 00:06:23 -04:00
1d1bf669f6 apply clang-format 2024-07-17 23:18:03 -04:00
7c804f7843 add feature to image viewer that copies the dump image command line to the clipboard 2024-07-17 23:16:49 -04:00
c3272297fc use LAMMPS-GUI consistenly (instead of LAMMPS GUI) 2024-07-17 23:01:15 -04:00
2e2dc2abe5 document new features 2024-07-17 19:14:22 -04:00
955db30b32 use LAMMPS-GUI consistently 2024-07-17 19:14:04 -04:00
f877a6f4ce more consistency changes 2024-07-17 19:13:10 -04:00
470b106d99 small tweaks for more consistency 2024-07-17 15:11:17 -04:00
1e75695558 Updating LAMMPS GUI documentation for version 1.6 2024-07-17 14:08:35 -04:00
de95eb907a Clarifying comment on breakage in bond hybrid 2024-07-17 11:53:01 -06:00
5afde3f0f5 export to YAML functionality is only available if there is YAML format data 2024-07-17 04:14:51 -04:00
99ec87dddc Update pair_lj_spica_coul_long.cpp 2024-07-17 01:16:37 -04:00
d277a12e43 add missing icon file 2024-07-16 23:44:46 -04:00
2a1447ff03 extract YAML format thermo data from output window text 2024-07-16 23:38:18 -04:00
1b9302299a implement delete-all-images function with pushbutton in slideshow viewer 2024-07-16 22:54:38 -04:00
ccfdb4aee4 https://matsci.org/t/a-few-kokkos-development-questions/56598 2024-07-16 19:45:47 -04:00
dc84078156 spelling 2024-07-16 19:15:31 -04:00
5b29871198 update docs for new library function 2024-07-16 19:08:01 -04:00
8d4a80729a don't overwrite string type argument variables with their encoded version 2024-07-16 19:01:06 -04:00
4daba292d7 add unit tests for library interface function lammps_extract_pair() and python equivalent 2024-07-16 18:30:45 -04:00
afa44e931b Fixed log file name issues, ignored log files that don't give thermo ouput as normally expected 2024-07-16 14:46:13 -05:00
a5299b48d9 update view size 2024-07-16 12:33:49 -06:00
9730bb4f10 step LAMMPS GUI version to 1.6.0 2024-07-16 14:25:41 -04:00
44edc61a00 Fixed issues with log file names with overlapping patterns (e.g. log.10Jan22.abcfire.* and log.10Jan22.neb.sivac.abcfire.*) 2024-07-16 13:16:23 -05:00
d274989843 update indices 2024-07-16 11:11:31 -06:00
74780e74ef update TODO list with new ideas motivated by tutorial paper 2024-07-16 07:30:14 -04:00
615c1bb623 more compact and consistent window titles 2024-07-16 05:13:04 -04:00
90dee57aae try using LJ sigma for particle radius in VDW mode 2024-07-16 01:40:18 -04:00
3b853adaac add lammps_extract_pair_dimension and lammps_extract_pair to library interface 2024-07-16 01:38:21 -04:00
a9a896c677 Small doc changes, renaming status variable 2024-07-15 17:19:51 -06:00
1b5c42e1b7 add shortcut button for save buffer 2024-07-15 18:48:18 -04:00
207d1e20b9 warn about problematic compiler versions and C++ standard combinations 2024-07-15 18:23:59 -04:00
d7792956d6 bugfix for unittest/fortran/wrap_configuration.cpp 2024-07-15 17:47:22 -04:00
0f13f632e2 Merge pull request #4227 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-07-15 16:22:58 -04:00
6f8bedd01c sync minimum sphinx version with requirements file 2024-07-15 14:14:13 -04:00
7cfc34e45d the source_suffix option is supposed to be a map 2024-07-15 14:08:19 -04:00
046f57625a Merge branch 'develop' into collected-small-changes 2024-07-15 13:10:35 -04:00
0b08ee898c Merge pull request #4218 from robeme/electrode
Bugfixes and improvements for ELECTRODE package
2024-07-15 13:10:09 -04:00
bb15fa53cb Merge pull request #4230 from jrgissing/chunk_related_fixes
docs + minor msd/chunk refactor
2024-07-15 13:08:02 -04:00
b0238b1bf2 Merge pull request #4232 from rbberger/remove_sprintf_from_core
core files: replace sprintf with snprintf
2024-07-15 12:17:55 -04:00
1fe1aa0683 lower default update interval to 10ms 2024-07-15 10:28:22 -04:00
1d6959efe6 only print fix reaxff/bonds output during setup the first time 2024-07-15 06:58:05 -04:00
acd7bd111d remove dead code 2024-07-15 06:51:58 -04:00
6fedb6a1b8 fix compilation issue with latest QUIP/libAtoms code 2024-07-15 06:48:21 -04:00
970f518939 avoid out of range access 2024-07-15 06:25:03 -04:00
fb9a36c2f4 do not update the chart window when LAMMPS is not in a minimization or run 2024-07-13 19:12:46 -04:00
58513320d3 core files: replace sprintf with snprintf 2024-07-13 15:33:56 -06:00
f83b82f04f Handled more cases 2024-07-12 23:59:17 -05:00
1912083935 add warning about overflowing image flags and how to prevent that 2024-07-12 23:43:14 -04:00
a0fb12c265 disentangle the fix deform and fix deform/pressure pages somewhere for easier reading 2024-07-12 23:42:42 -04:00
06511a6e77 couple more doc tweaks 2024-07-11 19:17:09 -04:00
0e6ff7d70a only call post_force() if it was selected as callback. 2024-07-11 15:02:38 -04:00
47af1775c2 update test since we have now one invocation also during setup 2024-07-11 15:02:03 -04:00
a55092dc26 rewrap docs 2024-07-11 13:39:44 -04:00
c1c1d32136 The post_force callback should also be called during "setup" 2024-07-11 13:32:56 -04:00
9e917412c9 fix typo and rewrap lines 2024-07-11 12:39:42 -04:00
e51e0c1fb7 re-order entries 2024-07-11 11:37:42 -04:00
e0a0c94c6e Prepared for multiprocessing, maybe using separate input lists for different run_tests.py is sufficient 2024-07-11 00:04:26 -05:00
b9e263b1d1 re-add empty row between special and regular pair styles 2024-07-10 16:17:33 -04:00
00f214f323 Added the --dry-run option to print statistics for the LAMMPS build and examples folder only 2024-07-10 11:35:23 -05:00
8f6cf085e8 syncing table in build_packages/extra 2024-07-09 15:06:18 -06:00
d875c5bb0f Updated README 2024-07-09 09:02:44 -05:00
17b2282a1e Merge branch 'upstream' into regression-tests 2024-07-09 08:24:46 -05:00
a72cffd198 Changed indentation 2024-07-09 08:22:37 -05:00
170c12d5df Handled error runs where log.lammps is not created (e.g. using more MPI procs than the number of physical CPUs) 2024-07-08 17:19:57 -05:00
0b3de48ef0 Added the config file for kokkos testing and enabled logging for the output of the failed runs 2024-07-08 16:32:45 -05:00
c7d729e3d6 Allowed to skip a list of input scripts as specified in the config file 2024-07-08 15:52:49 -05:00
d0e5640a75 add cvflag check, update mem usage 2024-07-08 05:05:36 -06:00
7673a904d1 update variable for consistency w/ non-kokkos 2024-07-08 05:05:06 -06:00
4bc97dc812 fix topo labels 2024-07-08 05:01:23 -06:00
aaf25602e3 add Q_MASK to datamask_read 2024-07-07 17:11:18 -04:00
b1a4f08dd2 Update in.charmmfsw 2024-07-07 16:56:00 -04:00
c77d2d952d Update pair_lj_charmmfsw_coul_long_kokkos.cpp 2024-07-07 16:55:39 -04:00
06e8f8eab2 cleanup 2024-07-07 15:57:37 -04:00
9c37e0f0df add charmmfsw example for kokkos gpu testing 2024-07-07 15:32:12 -04:00
2cb3cb3323 merging charmmfsw properly into spica (1st try) 2024-07-07 11:04:11 -04:00
bac8885739 minor changes 2024-07-07 06:19:42 -04:00
2459b7e975 oops 2024-07-07 05:58:27 -04:00
68231e9ba4 minor formatting changes 2024-07-07 05:49:03 -04:00
62ac8d0ab3 fixes 2024-07-07 02:59:43 -04:00
1a30fe5349 reset_atoms: one more grammar tweak 2024-07-06 18:03:43 -04:00
08cf19955d minor corrections to 'reset_atoms' docs 2024-07-06 17:57:18 -04:00
b1db2ddb3f store 'nchunk for msd' on first pass
because nchunk can be modified elsewhere
2024-07-06 15:57:18 -04:00
b7942ead3f chunk docs typo 2024-07-06 15:49:46 -04:00
54901eb8a4 remove pointless check 2024-07-06 09:55:41 -04:00
f34b6dacaf improve fix indent documentation 2024-07-06 09:55:22 -04:00
c3f76dcc81 cleanup 2024-07-06 01:12:23 -04:00
fdf9ffee73 use auto for type 2024-07-06 00:52:27 -04:00
9c8f7854ad avoid out-of-bounds string character access during completion 2024-07-06 00:50:15 -04:00
fecf38e116 move d_type = atomKK->k_type.view<DeviceType>() to compute() 2024-07-06 00:20:45 -04:00
87060b2d3e display selected C++ standard as part of the CMake summary output 2024-07-05 21:37:04 -04:00
f05c87cd43 use proper const qualifier 2024-07-05 21:31:52 -04:00
96f2e32591 fix typo 2024-07-05 20:15:30 -04:00
61e391b449 correct check for invalid header keywords 2024-07-05 19:28:04 -04:00
b89bc47626 more thorough checks for molecule file header keywords 2024-07-05 19:10:48 -04:00
a3bacfca65 more unit tests for tokenizer functions constains() and matches() 2024-07-05 18:55:55 -04:00
6fd962e132 spelling 2024-07-05 16:44:08 -04:00
880aa40d1b add missing header 2024-07-05 16:23:02 -04:00
2fc664d5da added kokkos views 2024-07-05 16:21:43 -04:00
dacc55b889 Prevent overflow in neighbor output 2024-07-05 16:20:28 -04:00
f0a11dbefd also promote ndatum in MyPoolChunk class 2024-07-05 16:16:04 -04:00
caa1b4a891 promote ndatum to bigint to avoid overflows 2024-07-05 16:12:08 -04:00
8fcde04097 add a "matches()" method to the Tokenizer and ValueTokenizer classes using utils::strmatch() 2024-07-05 15:45:49 -04:00
4746fe74ed Allowed to specify tolerances for individual input scripts, overriding the global values 2024-07-05 09:37:06 -05:00
810698dc07 Skip neighbor folding at first call
There may be issues due to the fact that the NL is initialized
with the LAMMPS data file, that does not have to be the same
as the starting config in i-PI
2024-07-05 09:07:30 +02:00
eeaecb3ed3 macOS app bundle requires -D BUILD_TOOLS=yes 2024-07-04 15:13:06 -04:00
0d54f99fc0 Fixed a nasty bug when running the ipi interface with many MPI workers
Looks like the migrate() call should happen before trajectory folding
2024-07-04 17:34:18 +02:00
c0dfccdd64 add a few more flags to clang-tidy 2024-07-04 11:18:08 -04:00
da2bd44b73 modernize and reformat with clang-tidy and clang-format 2024-07-04 11:17:54 -04:00
cefe76919c make more use of auto and thus avoid having to specify the same type twice 2024-07-04 11:12:40 -04:00
10e3595b57 separately catch exceptions thrown by new 2024-07-03 22:20:06 -04:00
a4d69878fa update list of available sanitizers for Fedora 40 and GCC 14 2024-07-03 22:02:35 -04:00
f94b078936 use pkg-config instead of pkgconf consistently, since the latter comes with compatibility to the former 2024-07-03 21:21:35 -04:00
0fb7493658 spelling fixes 2024-07-03 19:17:11 -04:00
b6d11b5902 document GSL dependency and provide build instructions for RHEO package 2024-07-03 19:07:19 -04:00
96d58bb03e automatically set include/libs flags for GSL, if pkg-config is available 2024-07-03 18:32:42 -04:00
feba9640af not needed anymore 2024-07-03 18:22:27 -04:00
e1232af867 Missing flag and changing dependencies 2024-07-03 16:12:17 -06:00
9b52888e53 Adding RHEO dependency to cmake 2024-07-03 15:53:38 -06:00
ece17cf56f Adding rheo make support 2024-07-03 15:30:33 -06:00
17d736c0f9 Merge branch 'develop' into electrode 2024-07-03 15:17:43 -04:00
01502f70a4 print warnings only on MPI rank 0 2024-07-03 15:16:08 -04:00
33490fc402 align with other similar tests in LAMMPS 2024-07-03 15:09:25 -04:00
1f02178263 make exclusion more specific 2024-07-03 09:32:37 -04:00
66552d80da Merge branch 'develop' into rheo 2024-07-03 03:42:44 -04:00
0a6fd5b097 get rid of some evil tabs 2024-07-03 03:41:57 -04:00
3385198b51 fix typo 2024-07-03 00:51:32 -04:00
993a7cce54 Merge pull request #4215 from lammps/atom-map-bug
Ensure atom map is reset by fix pour and fix deposit
2024-07-03 00:38:33 -04:00
4b8f961098 Updating headers 2024-07-02 14:00:37 -06:00
ad4573e4f6 add fourth term 2024-07-02 11:08:05 -06:00
56a9192cf3 Merge pull request #4212 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-07-02 00:46:14 -04:00
edebab9a5c clarify possible map styles on atom_modify doc page 2024-07-01 14:57:26 -06:00
f633b03602 ensure atom map is reset by fix pour and fix deposit 2024-07-01 09:33:20 -06:00
b8360631e1 Fix typos and add TF definitions to fix_electrode.rst 2024-07-01 10:35:54 +02:00
49c84dbe1e Bugfix virial with fix electrode 2024-07-01 10:05:28 +02:00
dc07a75011 whitespace 2024-06-30 18:36:18 -04:00
d75e66dc71 add unit tests for lammps_extract_variable() 2024-06-30 18:32:37 -04:00
f8a7fc787c correct documentation and simplify extracting vector length 2024-06-29 21:32:37 -04:00
6ad0145709 new special variable function is_timeout() 2024-06-29 04:02:33 -04:00
246698d3c2 Timer::_timeout should be double and it should be allowed to have fractions. 2024-06-29 03:43:26 -04:00
d5c90eebfd Flipping doc reference name 2024-06-28 17:27:13 -06:00
1326592f23 Proofing RHEO package 2024-06-28 17:07:23 -06:00
8397738978 add explanation about integrating new styles into packages 2024-06-28 18:32:58 -04:00
a8c7ebf47d must use the "roots" communicator only on world->me == 0
Thanks to @joshuakempfert. See issue #4210
2024-06-28 14:17:20 -04:00
6a8e7b4d70 update variables, templates, kk types 2024-06-27 22:56:12 -06:00
d7da58752b update commands, zero functors 2024-06-27 22:54:00 -06:00
62d564f81a add hybrid kk for angle, dihedral, improper styles 2024-06-27 22:49:03 -06:00
4fd14f4e1c update install actions 2024-06-27 22:44:25 -06:00
9fef3b68e0 update deallocate, suffix flags 2024-06-27 22:36:15 -06:00
0de8192a9b add kokkosable variable 2024-06-27 22:31:59 -06:00
185141bd7d use faster compression 2024-06-27 23:24:20 -04:00
2ad8119282 do not try to install plumed patches 2024-06-27 21:24:12 -04:00
1f7fb7b6f5 correct path (again) 2024-06-27 20:57:35 -04:00
42724fda74 note the ability to build ML-PACE and PLUMED as plugins 2024-06-27 20:56:20 -04:00
e75e63c218 also package the plumed.exe executable with the plugin 2024-06-27 20:08:15 -04:00
5014e408c0 use correct path to (downloaded) plumed source tree 2024-06-27 20:07:52 -04:00
3c0eaf6870 Moving stress calculation to rheo/prop/atom 2024-06-27 16:57:53 -06:00
2c2007ff55 silence warnings 2024-06-27 18:52:58 -04:00
0e706d4dcc add support for building the PLUMED package as plugin 2024-06-27 18:14:56 -04:00
cdb4a331a6 remove INTEL package from cross-compiler config.
It doesn't do much goos since we're not using an Intel compiler
and we are running out of capacity for auto-exported symbols
for the LAMMPS shared library (limited to 65k).
2024-06-27 06:27:58 -04:00
a74500f416 Merge pull request #4205 from akohlmey/next-release
Update version tags for next feature release
2024-06-26 23:26:04 -04:00
d47b9c6571 cosmetic 2024-06-26 21:49:02 -04:00
e72a786a44 fix typo 2024-06-26 19:58:09 -04:00
9d94345f09 Merge branch 'develop' into next-release 2024-06-26 19:50:27 -04:00
7b70ad928f Merge pull request #4203 from akohlmey/collected-small-changes
Collected small changes and bugfixes
2024-06-26 19:46:21 -04:00
14086cc9ad add warning about memory consumption 2024-06-26 10:50:38 -04:00
25985abfc0 add version tag 2024-06-26 09:50:52 -04:00
b1d1213dfd reformate, make small corrections, align with other doc files and use sphinx-design to make html more compact 2024-06-26 07:30:50 -04:00
252f48b2c1 Mention bonded force field primer from typelabel paper in bioFF howto 2024-06-26 07:27:11 -04:00
44b66cb56b various documentation fixups, dedup references, wrap paragraphs, adjust underlines, add missing index 2024-06-26 07:26:03 -04:00
8173142950 Merge branch 'develop' into collected-small-changes 2024-06-26 06:16:21 -04:00
4bb71195aa Allow NULL for eta in fix electrode 2024-06-26 12:08:45 +02:00
9ac821b3cb protect against 32-bit integer overflow 2024-06-26 05:07:53 -04:00
acc28e01c3 Merge pull request #4050 from akohlmey/bioff-doc-updates
Bio force field documentation updates
2024-06-26 04:27:33 -04:00
da2dc9a154 handle case of no LAMMPS instance or no simulation box 2024-06-26 01:30:14 -04:00
89193c8a66 expand scope of files to ignore that are created by cmake/ctest 2024-06-25 22:32:51 -04:00
ee85249ad6 update codeowners 2024-06-25 20:26:06 -04:00
8d280a73ac small programming style updates 2024-06-25 20:21:51 -04:00
baaa9dbedd move initializers for structs from header file to implementation, add constructors 2024-06-25 20:18:37 -04:00
e5250a76ac apply clang-format 2024-06-25 20:07:34 -04:00
e3fb1f24bd Merge branch 'develop' into collected-small-changes 2024-06-25 19:41:45 -04:00
0b0ec155ca whitespace 2024-06-25 19:40:07 -04:00
03695ac9b1 remove temporary files 2024-06-25 19:39:48 -04:00
3323e45372 Merge pull request #4168 from cesmix-mit/kokkospod
New features for the ML-POD package
2024-06-25 19:35:08 -04:00
b69e7e03fd small fix 2024-06-25 19:07:59 -04:00
116ac85a34 use consistent method to silence compiler warnings about unused parameters 2024-06-25 19:07:50 -04:00
b62a05a147 fix up garbled references to other doc pages 2024-06-25 19:06:23 -04:00
8e4ffdc84e update docs for fully integrating utils::bounds_typlabel() function 2024-06-25 18:23:07 -04:00
5cbe85ecf1 remove redundant error argument (accessible through lmp) 2024-06-25 18:19:41 -04:00
fcba5ee3c9 silence compiler warnings and apply clang-format 2024-06-25 15:01:17 -04:00
fd2eab9924 Remove commented out code 2024-06-25 14:53:05 -04:00
94742c043c Merge branch 'kokkospod' of https://github.com/cesmix-mit/lammps into kokkospod 2024-06-25 14:43:02 -04:00
1892ee35d4 remove printf or replace it with utils:logmsg 2024-06-25 14:42:57 -04:00
3453f13c2d correct capitalization 2024-06-25 13:33:29 -04:00
125da5723b whitespace 2024-06-25 13:31:33 -04:00
e6e89ec54a Merge branch 'develop' into collected-small-changes 2024-06-25 13:31:15 -04:00
b84c09d30e update version tags for next feature release 2024-06-25 13:30:38 -04:00
8fa0064dc2 Merge pull request #4204 from lammps/dpd-coul-slater-doc-page
Minor edits to new pair dpd/coul/slater/long doc page
2024-06-25 13:21:04 -04:00
e830dd9761 Merge pull request #14 from akohlmey/kokkospod
Update kokkospod branch to upstream and minor cleanups and corrections
2024-06-25 00:01:25 -04:00
6ef8472481 Merge commit 'refs/pull/4168/head' of github.com:lammps/lammps into kokkospod 2024-06-24 23:52:39 -04:00
6b659a6e56 Remove commented out code and turn off timing 2024-06-24 22:48:34 -04:00
ebbb2673f1 Merge branch 'kokkospod' of https://github.com/cesmix-mit/lammps into kokkospod 2024-06-24 22:34:52 -04:00
e195f1759f Remove unused parameters, change command name, and update documentation and examples.. 2024-06-24 22:32:35 -04:00
eb7c6e47ae Merge pull request #15 from stanmoore1/kokkospod
Small changes for https://github.com/lammps/lammps/pull/4168
2024-06-24 21:26:59 -04:00
a2fcec6aaa fix typos, spelling, incorrect markup, and correct and add more details for speedup note 2024-06-24 20:01:41 -04:00
667c673855 Update docs 2024-06-24 17:55:28 -06:00
a88a22c36e Small cleanup 2024-06-24 17:52:58 -06:00
d5e5630cc5 Comment out unused var 2024-06-24 17:42:17 -06:00
63f61a41dc Update .gitignore for POD 2024-06-24 17:41:21 -06:00
b9a850d93f Add logic for GNU Make 2024-06-24 17:40:47 -06:00
bf6e0d59c9 fix bug in general triclinic dump refactor reported by @stanmoore1 2024-06-24 19:18:49 -04:00
da095a1d79 minor edits to new pair dpd/coul/slater/long doc page 2024-06-24 16:36:38 -06:00
bf4aab68d3 update sdk -> spica 2024-06-24 17:45:53 -04:00
5442446460 remove commented out code 2024-06-24 17:44:07 -04:00
43bace6748 Fix typo 2024-06-24 15:16:37 -06:00
b0718a0983 Merge conflicts 2024-06-24 14:16:40 -06:00
b219bb8de8 Merge conflicts 2024-06-24 14:09:33 -06:00
21a42c1304 Small cleanup 2024-06-24 14:08:47 -06:00
9a41f6aedf spelling updates 2024-06-23 04:21:01 -04:00
01a85639f9 Merge branch 'develop' into kokkospod 2024-06-23 03:56:39 -04:00
0d1759d4a4 small programming style updates 2024-06-23 03:56:23 -04:00
e17dc38087 use utils::numeric to convert text to numbers 2024-06-23 03:56:10 -04:00
21685136be add braces to group commands according to indentation 2024-06-23 03:55:50 -04:00
79cc64766b initialize all pointers to null, reorder to match definition 2024-06-23 03:55:10 -04:00
3c81badc5c avoid namespace pollutions from defines in eapot.h 2024-06-23 03:40:04 -04:00
487a9ae73e return to alphabetical order 2024-06-23 03:09:54 -04:00
0e28eb0348 Make sure CMAKE_INSTALL_FULL_LIBDIR is defined when using it 2024-06-22 23:28:05 -04:00
5207b93fd8 small update for consistency 2024-06-22 20:33:44 -04:00
7e7f3c08f4 make check more specific but accelerator compatible 2024-06-22 20:29:26 -04:00
e6042c7db2 Merge branch 'develop' into spica-kk 2024-06-22 20:27:00 -04:00
1349d7632e flag KOKKOS support for added styles in commands lists 2024-06-22 20:26:45 -04:00
fb529bb9e8 trigger calling Fix::reset_dt() which may cause segfaults with respa 2024-06-22 20:04:40 -04:00
9dc85dec54 apply clang-format 2024-06-22 20:04:09 -04:00
5693c8ac33 modernize fix instance lookup 2024-06-22 20:03:14 -04:00
b8cbd1bfc3 use proper technical term 2024-06-22 14:26:24 -04:00
090ed81e77 avoid segfault in fix shake/rattle when timestep is changed before run 2024-06-22 14:20:23 -04:00
f1c5b4b68d avoid access to uninitialized step_respa pointer in Nose-Hoover fixes 2024-06-22 04:16:46 -04:00
353121c942 update compute descriptors 2024-06-21 22:08:20 -04:00
cfcd2b2068 Merge pull request #4202 from lammps/dump-triclinic-bug-fix
Dump triclinic bug fix
2024-06-21 14:29:31 -04:00
cf2dede47f whitespace 2024-06-21 12:20:59 -04:00
13f0e37a57 Merge pull request #4201 from lammps/amoeba-doc-page
Fix errors in fix amoeba/pitorsion doc page
2024-06-21 12:17:26 -04:00
eba1599f9c typo comment change 2024-06-21 09:35:10 -06:00
de684a15b6 typo code change 2024-06-21 09:33:12 -06:00
fc539b46ea change all function ptrs and 2 example dump files 2024-06-21 09:23:04 -06:00
7dae9c05ba changes for triclinic function ptr init 2024-06-21 08:59:09 -06:00
d0da16070b one more change 2024-06-21 08:00:50 -06:00
6b42545044 fix errors in fix amoeba/pitorsion doc page 2024-06-21 07:51:49 -06:00
241a8dda63 Merge pull request #4200 from akohlmey/collected-small-changes
Collected small fixes for development version
2024-06-21 09:42:57 -04:00
fe13768fa4 remove unused class member 2024-06-21 01:16:50 -04:00
c7f386ce9f fix missing arguments and cut-n-paste error reported by coverity scan 2024-06-21 01:13:36 -04:00
a6d51b7cc8 follow LAMMPS programming style more closely 2024-06-21 01:04:55 -04:00
41d24f5d57 apply clang-format 2024-06-21 01:02:02 -04:00
6d1fb9eb62 fix typo 2024-06-20 20:31:24 -04:00
fc98f626b4 Merge branch 'develop' into collected-small-changes 2024-06-20 20:13:22 -04:00
7e8f956e05 remove accidental commit 2024-06-20 20:09:28 -04:00
8ce284f125 Merge pull request #4145 from jrgissing/improve_type_label_support
Improve type label support
2024-06-20 16:30:22 -04:00
dfabe5d333 Merge remote-tracking branch 'github/develop' into collected-small-changes 2024-06-20 16:25:43 -04:00
65f2767d9d Merge pull request #4169 from ohenrich/cg-dna
CG-DNA: Real units and potential reader
2024-06-20 16:25:16 -04:00
734fdf4a46 rename CG-DNA potential files 2024-06-20 14:33:26 -04:00
00d7aa935f follow LAMMPS programming style more closely, silence compiler warnings 2024-06-20 09:39:21 -04:00
001ac67b3b apply clang-format 2024-06-20 09:23:32 -04:00
c8dc135b8f update according to "include-what-you-use" principles 2024-06-20 09:22:32 -04:00
2dc7de417a Merge branch 'develop' into improve_type_label_support 2024-06-20 08:56:02 -04:00
9c8c04a7b4 Merge branch 'develop' into cg-dna 2024-06-20 02:44:29 -04:00
8d69bd77ef don't throw an error when reading QEq parameters from file 2024-06-19 18:28:04 -04:00
71c5e04121 Merge pull request #4179 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-06-19 17:39:57 -04:00
cb0af02748 Merge pull request #4193 from akohlmey/extra-command-package
Create new EXTRA-COMMAND package
2024-06-19 15:06:20 -04:00
ddec24308c small docs and spelling corrections and updates 2024-06-19 15:04:14 -04:00
778d11c79e Merge remote-tracking branch 'github/develop' into collected-small-changes 2024-06-19 14:46:04 -04:00
80556214e4 remove unused class member 2024-06-19 13:57:10 -04:00
629a9cbe3d Merge pull request #4188 from Eddy-Barraud/dpd_charged
add pair styles dpd/coul/slater/long and dpd/coul/slater/long/gpu
2024-06-19 13:50:46 -04:00
c4f5605518 Merge pull request #4197 from rbberger/library_interface_update
library: add comm->procgrid to extract_global
2024-06-19 12:04:07 -04:00
9b419b669d Merge pull request #4192 from gtribello/fix-plumed-cmake
Update to Plumed interface
2024-06-19 12:03:43 -04:00
ef902b03f9 Merge branch 'develop' into collected-small-changes 2024-06-19 12:02:56 -04:00
4e0bf6137d Merge pull request #4110 from uf3/ml-uf3
Implementation of pair_style uf3 and uf3/kk
2024-06-19 11:43:32 -04:00
45508baee5 major refactor for restart, data file handling. removal of dead code. 2024-06-19 11:09:56 -04:00
6ada6b7bf2 update example for dpd/coul/slater/long 2024-06-19 11:00:21 -04:00
0aff26705c correct force style input 2024-06-19 10:40:19 -04:00
37572225f4 Merge pull request #4191 from akohlmey/pair-hybrid-molecule
Add new pair style hybrid/molecular
2024-06-19 00:49:37 -04:00
83a024b26b add force style test 2024-06-18 21:41:34 -04:00
71b38521c5 reformat and remove duplicate NP_MULTI_OLD flags 2024-06-18 21:21:20 -04:00
2a132dfe8f add tests for PyLammps to check new exports 2024-06-18 21:13:33 -04:00
19a8313578 switch proc_grid to procgrid with backward compatibility for PyLammps 2024-06-18 21:13:14 -04:00
b9f8a5b811 Merge pull request #4184 from stanmoore1/pair_soft_kk
Add Kokkos version of `pair_style` soft
2024-06-18 20:52:34 -04:00
d54f38ff62 whitespace 2024-06-18 20:46:32 -04:00
740b206e7f Tightened up the definitions of deltamu's and conc's 2024-06-18 11:04:47 -06:00
43cc8696dd mention that verlet/split is not available for TIP4P 2024-06-18 08:46:18 -04:00
41227e0e93 apply param per type check only on atom types in fix group 2024-06-18 08:35:18 -04:00
3d1f933e21 port QEq parameter check from fix qeq/reaxff to fix qeq/shielded 2024-06-18 07:05:29 -04:00
5e72dc0d6b error out when extracting non-existent QEq paramters from ReaxFF, e.g. when using pair style hybrid 2024-06-18 06:59:12 -04:00
88ccaeddc1 always return initialized data when extracting per-type info 2024-06-18 06:58:26 -04:00
ab800b4e26 skip over groups with whitepsace in their name so we don't create illegal index files 2024-06-17 17:23:05 -04:00
c867bb3e28 enable and apply clang-format 2024-06-17 17:00:00 -04:00
9856ef7d81 better error handling when processing index files with illegal group names 2024-06-17 16:57:22 -04:00
318b43f358 update group2ndx/ndx2group docs 2024-06-17 15:02:43 -04:00
f4005e350a update fix plumed API version check and add reminder comments to build files 2024-06-17 07:11:56 -04:00
4be1b41aef class n func rename 2024-06-17 10:03:06 +02:00
d8c88c70ea Merge pull request #4189 from evoyiatzis/patch-2
Update fep.py
2024-06-16 01:27:42 -04:00
7704227bfb Merge pull request #4195 from jtclemm/small-patches
Various small patches for GRANULAR and BPM packages
2024-06-16 01:26:01 -04:00
59fb8a6835 avoid segfault trying to delete non-copied style 2024-06-15 14:08:14 -04:00
d2ea3b1ac5 add some tests for new features 2024-06-15 08:28:52 -04:00
ee0dd80cbe fix another typo 2024-06-15 06:17:13 -04:00
9b52f66a5a fix typos 2024-06-15 05:55:45 -04:00
cb3aa07287 update PyLammps to use added properties directly instead of parsing them. 2024-06-14 20:21:19 -04:00
1ce94e47d8 also make "comm->ghost_velocity" accessible 2024-06-14 20:20:53 -04:00
77b610a2bd also make comm->style, comm->layout, and comm->mode accessible through the library interface 2024-06-14 20:04:21 -04:00
514039ed62 library: add comm->procgrid to extract_global 2024-06-14 08:10:24 -06:00
a4ac48addf add example file and author contrib 2024-06-14 10:13:48 +02:00
11ef510a93 Merge branch 'lammps:develop' into improve_type_label_support 2024-06-13 19:26:42 -04:00
03251e823f add terminal newline 2024-06-13 15:20:12 -04:00
fb23df7bf7 example input file 2024-06-13 17:35:45 +02:00
37f3233040 Check the atom style has an atom map 2024-06-13 17:14:13 +02:00
575853b27a correct headers' author 2024-06-13 17:11:54 +02:00
80e96d8c9b Bugfix electrode piston example 2024-06-13 17:00:01 +02:00
8eec17d409 add missing file for CMake build 2024-06-13 09:26:23 -04:00
e95598a716 doc fixes 2024-06-13 09:17:09 -04:00
397dc9a7f6 build system and maintenance updates 2024-06-13 09:13:55 -04:00
4b0adcc66a avoid segfaults when updating charts in simulations with fast thermo output 2024-06-13 08:34:25 -04:00
3865dda5a2 integrate new doc file into manual 2024-06-13 08:33:40 -04:00
1b040d7108 white space fix 2024-06-13 13:49:18 +02:00
8bbbe2dd6b Update pair_dpd_coul_slater_long.rst 2024-06-13 11:43:57 +02:00
35cbc84329 Update lal_dpd_coul_slater_long.cpp 2024-06-13 10:25:56 +02:00
2aacc017cb Changes to CMake to hopefully match Sachith's suggestions 2024-06-12 17:29:30 -06:00
ce7ba21b8b clarify potentially misleading comment 2024-06-12 17:02:25 -04:00
67d86b559e Clarifying BPM logic and removing spelling errors in doc 2024-06-12 14:44:13 -06:00
53db2af179 Adding ndata accessor to bond history 2024-06-12 12:27:34 -06:00
610172b9dc Merge branch 'lammps:develop' into cg-dna 2024-06-12 17:38:20 +01:00
2434ad6574 doc page 2024-06-12 17:29:16 +02:00
99263ed7d7 init_atomic with new pair name 2024-06-12 15:41:38 +02:00
2470d621c8 wrong header name... 2024-06-12 15:31:28 +02:00
3686a7fcf3 wrong cl / cubin header file names 2024-06-12 15:25:28 +02:00
84ed769ca3 changing the fix name and file names for coherence 2024-06-12 15:12:55 +02:00
7f1fbca66f update lal_base_dpd for optional charged 2024-06-12 14:30:54 +02:00
1a310f5729 Limit CoeffRest gran damping to non-cohesive, prevent potential nans 2024-06-11 17:03:15 -06:00
5ff853ce67 Merge branch 'develop' into small-patches 2024-06-11 16:56:28 -06:00
c190318649 Small doc page clarifications 2024-06-11 16:53:10 -06:00
7bb0da5255 Increased checks for broken bonds in bond BPM 2024-06-11 16:11:24 -06:00
2d9aad67d0 Consistent newton checks compute nbond/atom 2024-06-11 15:24:34 -06:00
e0228d1f15 Bond history compatability delete atoms 2024-06-11 13:16:34 -06:00
09bea938c5 fix copy-n-paste error 2024-06-10 14:26:32 -04:00
d61c94c0f3 move group2ndx and ndx2group to new EXTRA-COMMAND package. update docs. 2024-06-10 14:14:36 -04:00
567ba1f437 improve R value for SI units 2024-06-10 19:37:35 +02:00
77c04d3827 cosmetic changes 2024-06-10 09:15:14 -04:00
12b26eb0a5 Merge branch 'lammps:develop' into fix-plumed-cmake 2024-06-10 13:17:02 +01:00
fa8f73689e add /omp aliases to hybrid pair styles for consistency and added tests
without the aliases, the introspection check lead to skipping suitable tests
2024-06-10 07:33:17 -04:00
2a7f0fb863 update intel pair list support for molskip flag 2024-06-10 07:16:24 -04:00
5f85112102 fix hybrid sub-style detection for OPENMP package 2024-06-10 07:16:02 -04:00
1ec24db123 remove redundant and problem causing NP_INTRA flag 2024-06-10 06:46:22 -04:00
e0c2009525 update conditions, comments, better eflag handle 2024-06-10 11:33:58 +02:00
325350dce4 small tweaks 2024-06-09 12:03:40 -04:00
f442cb4f65 add unit tests for pair style hybrid/molecular 2024-06-09 11:44:35 -04:00
1f0cd8be2a fix neighbor list request bug 2024-06-09 11:40:34 -04:00
5fb1776fa1 add implementation of pair style hybrid/molecular 2024-06-09 10:31:37 -04:00
117786aa7b support molskip for r-RESPA neighbor lists 2024-06-09 10:31:16 -04:00
3f901f2d8e reset manybody_flag if threebody terms are turned on or off in sw pair style 2024-06-09 07:03:31 -04:00
91b9308d4f initial version of pair style hybrid/molecular 2024-06-09 07:02:18 -04:00
69a31b7da7 dependent python packages have caught up with changes in sphinx 7.3.7 2024-06-09 04:12:51 -04:00
5be5a53801 correct documentation for added bond hybrid/kk 2024-06-09 04:10:52 -04:00
43ce6b018a update Plumed support for version 2.8.4 and 2.9.1 2024-06-09 01:30:35 -04:00
ca8eb4fb68 update angle spica test 2024-06-08 21:57:24 -04:00
42b4ff4cc5 revert to develop test_angle_style, kokkos_omp test is in kokkos-unit-testing branch 2024-06-08 21:31:31 -04:00
85c345cf2d duplicate calc of r 2024-06-07 16:51:32 +02:00
f5b2eb3a80 Update lal_dpd_charged.cu 2024-06-07 15:16:54 +02:00
aadeb1149d double host write, wrong dpd cond 2024-06-07 15:14:05 +02:00
575047c278 Update fep.py 2024-06-07 14:40:21 +02:00
afc8c752fd wrong kernel params 2024-06-07 11:31:33 +02:00
14f0a14c82 Merge branch 'dpd_charged' of https://github.com/Eddy-Barraud/lammps-custom into dpd_charged 2024-06-07 09:05:13 +02:00
001063250e allocate extra_fields 2024-06-07 09:05:11 +02:00
203194c7fb Merge branch 'lammps:develop' into spica-kk 2024-06-06 14:13:32 -04:00
91c718c467 Update Install.sh 2024-06-06 12:47:11 -04:00
fd373957cc Merge branch 'lammps:develop' into dpd_charged 2024-06-06 18:37:40 +02:00
7cb73ca1a1 maybe wrong scale 2024-06-06 11:23:38 +02:00
0da8be7525 Update lal_dpd_charged.cu 2024-06-06 11:20:21 +02:00
ce9f99e9c1 store_answersq for ecoul 2024-06-06 11:19:06 +02:00
5c9ac8e569 Update pair_dpd_charged_gpu.cpp 2024-06-06 11:14:28 +02:00
71d8fe564f wrong init var and still force... 2024-06-06 10:55:26 +02:00
06f1b1bffa wrong names, old var del 2024-06-06 10:50:30 +02:00
7d2764da27 only dpd coef update 2024-06-06 10:42:09 +02:00
be298634b7 readdress force sp_cl 2024-06-06 10:40:13 +02:00
69309cab0c header fix missing var 2024-06-06 10:36:31 +02:00
0e9fef01e7 class fix and header 2024-06-06 10:32:45 +02:00
2da4f23743 debug 2024-06-06 10:23:32 +02:00
c1db6a50ec move eflag 2024-06-06 10:10:36 +02:00
8eefc0d305 debug scale_in ; n_stride 2024-06-06 09:58:11 +02:00
aaf5200316 Merge branch 'develop' into collected-small-changes 2024-06-06 02:17:50 -04:00
1fa67290c3 updated pair style and angle style /kk in docs 2024-06-05 19:56:29 -04:00
a256021588 added 2 kokkos styles to legacy make system 2024-06-05 19:56:09 -04:00
44e13d97c6 removed more whitespace 2024-06-05 19:55:38 -04:00
f2db99193e removed whitespaces 2024-06-05 19:31:12 -04:00
235c1179b1 implemented evtally13 2024-06-05 19:13:57 -04:00
43d94985fa angle-spica.yaml using in.spica and data.spica
in.spica and data.spica based on  in.fourmol and data.fourmol with pair style lj_spica instead of pair style zero
2024-06-05 19:13:16 -04:00
eb7f947a0c cuda forces + init var 2024-06-05 17:49:27 +02:00
7ef9a93a75 Merge pull request #4167 from stanmoore1/kk_hybrid_topo
Port hybrid bond topology styles to Kokkos
2024-06-05 09:44:54 -06:00
c1c3f21b36 Need to update index as well 2024-06-05 09:05:13 -06:00
777577b05e Update docs 2024-06-05 09:00:01 -06:00
0cf67a09ff Merge branch 'develop' into collected-small-changes 2024-06-05 10:56:35 -04:00
ecdc1bc336 Update docs 2024-06-05 08:29:33 -06:00
c6f32b8cb3 Merge pull request #4185 from lab-cosmo/ipi-example
Updated i-pi example
2024-06-05 08:14:42 -06:00
9ea57acf54 pack4 cutoffs 2024-06-05 11:40:24 +02:00
7990da4ee8 Update angle_spica.cpp 2024-06-04 23:00:17 -04:00
860c190712 fixes 2024-06-04 22:56:09 -04:00
e7581af0f5 fixes 2024-06-04 22:43:53 -04:00
a093ddf3fd fixes 2024-06-04 22:20:27 -04:00
d1978dd136 support writing data files with PairIJ sections for all generic testers 2024-06-04 21:57:18 -04:00
261f0e0bb4 Update test_angle_style.cpp 2024-06-04 21:29:44 -04:00
42a3c754ec fixes 2024-06-04 21:26:58 -04:00
4f128fae81 fixes 2024-06-04 20:58:42 -04:00
e2a819e399 fixes 2024-06-04 20:53:41 -04:00
6bbd3be1a9 fixes 2024-06-04 20:45:47 -04:00
657befa959 second version angle_spica_kokkos and added kokkos_omp test to test_angle_style 2024-06-04 20:24:33 -04:00
8a94faee58 Updated i-pi example 2024-06-04 23:48:17 +02:00
de988b271b Merge branch 'develop' into collected-small-changes 2024-06-04 17:16:16 -04:00
d512326f06 Fix uninitialized variable 2024-06-04 15:06:34 -06:00
984d39366e Add Kokkos version of pair_style soft 2024-06-04 13:57:51 -06:00
f5253eb926 Merge pull request #4174 from akohlmey/atom-map-library-interface
Add support for extracting a few more properties and the Atom::map() function to the library interface
2024-06-04 13:23:31 -06:00
c1a71b3488 Merge pull request #4176 from akohlmey/remove-i-pi
Remove i-PI distribution from tools folder
2024-06-04 13:12:42 -06:00
b187001f38 atom charge and dpd/slater cutoff passing 2024-06-04 19:13:56 +02:00
e42c2b7bb5 more fixes 2024-06-03 19:21:15 -04:00
cd04de58dc pair_lj_spica_coul_long fixes, now passes unit test 2024-06-03 19:07:58 -04:00
b1570fc855 first draft angle_spica_kokkos based on angle_harmonic_kokkos 2024-06-03 18:56:39 -04:00
fc0b155de9 Dam example, generalizing non-quintic kernels 2024-06-03 15:04:24 -06:00
1792679bb8 first draft of pair style lj/spica/coul/long/kk 2024-06-03 14:28:31 -04:00
118fa8e209 must reset "eval_in_progress[]" flags to avoid bogus circular dependency errors 2024-06-03 07:47:59 -04:00
34a037ccfb workaround for xdg-open and incompatible shared libs 2024-06-02 09:41:58 -04:00
7258b2972a small LAMMPS-gui build documentation updates 2024-06-02 04:39:08 -04:00
7df21a0e79 remove unused variables 2024-05-31 12:11:20 -04:00
c69e905cd6 Merge branch 'dpd_charged' of https://github.com/Eddy-Barraud/lammps-custom into dpd_charged 2024-05-31 17:07:25 +02:00
9b14a880dc charge pointer and corrections 2024-05-31 17:07:22 +02:00
154280899d Merge branch 'lammps:develop' into dpd_charged 2024-05-31 15:24:08 +02:00
fcdcf65995 creation + working CPU
new pair style dpd/charged which is the combination of dpd and coul/slater/long
Working on CPU, GPU in progress
2024-05-31 15:12:37 +02:00
1d7fa4f1a8 register build number for Windows 11 24H2 2024-05-30 19:41:28 -04:00
61b8619f07 let dump_modify types numeric revert labels 2024-05-30 11:34:41 -04:00
788428ebf9 more corrections 2024-05-29 09:00:54 -04:00
10d09aca74 apply corrections to i-PI package on PyPi 2024-05-29 08:51:53 -04:00
1a83fefc70 add false positive 2024-05-29 08:38:54 -04:00
1697f2a465 Merge branch 'develop' into remove-i-pi 2024-05-29 08:36:01 -04:00
1cf1f0daab update false positives 2024-05-28 20:04:12 -04:00
e6a3462018 replace non-ASCII character 2024-05-28 19:59:42 -04:00
2d7515218c improve wording 2024-05-28 19:55:59 -04:00
e8ee0d9e71 Merge pull request #4171 from akohlmey/sort-vector
Add special variable functions sort() and rsort() for sorting vectors by value
2024-05-28 16:22:08 -06:00
05ba777c0a Merge branch 'develop' into remove-i-pi
# Conflicts:
#	doc/src/fix_ipi.rst
2024-05-28 18:03:03 -04:00
dedcfa157c Merge pull request #4157 from lab-cosmo/bugfix/ipi-neigh
Performance improvements for fix_ipi
2024-05-28 15:06:15 -06:00
b7f86f6e34 Removed more whitespace 2024-05-28 11:31:42 +01:00
017d69f0e1 Removed whitespace 2024-05-28 11:19:32 +01:00
09a57c01da Corrected email address 2024-05-28 11:02:57 +01:00
33351704a5 Invisible mais penible 2024-05-28 08:40:19 +02:00
bd5c600608 dump custom, 'typelabel' attribute
writing strings to dump files previously was not implemented in general way.
did not refactor to make more general.
NOTE: added value to middle of enum
2024-05-27 23:58:58 -04:00
2afbf229ff mention the i-PI removal 2024-05-27 19:00:38 -04:00
8f4cf55ada update docs for i-PI removal 2024-05-27 18:58:18 -04:00
475cddfa36 remore i-PI distribution from tools folder 2024-05-27 18:49:40 -04:00
aa8cd7a4b9 Updated the documentation for i-PI 2024-05-28 00:07:07 +02:00
5685c5c74b Fixed list of supported version of plumed 2024-05-26 19:17:00 +01:00
ed675cb306 Added setting of extscalar in fix_plumed 2024-05-26 19:13:28 +01:00
345d559a37 Merge branch 'master' into fix-plumed-cmake 2024-05-26 11:51:35 +01:00
c2ce733d5d whitespace 2024-05-25 07:11:02 -04:00
75a325751e implement support for lammps_map_atom() to plugin loader, Fortran module, swig 2024-05-25 07:01:28 -04:00
8ea31bb5c8 add some unit tests for python wrapper of lammps_map_atom() 2024-05-25 05:59:25 -04:00
3bc367e0b0 implement suggestions made by @rbberger 2024-05-25 05:00:08 -04:00
694faf3235 register lammps_map_atom() with the documentation 2024-05-25 00:31:01 -04:00
fdbaf6feff spelling fix and update false positives 2024-05-25 00:22:38 -04:00
9f0816c3ba add support for lammps_map_atom() in python module 2024-05-24 23:50:11 -04:00
0ec86181f2 add support for 'sametag' array 2024-05-24 23:49:25 -04:00
3701d330c4 add unit test for new library function and settings 2024-05-24 23:03:53 -04:00
e53cc86622 support extracting few more global properties and add interface to Atom::map() 2024-05-24 19:54:26 -04:00
dad0d2651b Merge pull request #4172 from stanmoore1/deallocate_topo
Fix issue with virtual inheritance in Kokkos deallocate_topo function
2024-05-23 15:56:51 -06:00
29e64748c0 Fix issue with virtual inheritance in Kokkos deallocate_topo function 2024-05-23 12:18:18 -06:00
f8d5a898bf Merge pull request #4166 from jrgissing/minor-doc-updates
Minor doc updates
2024-05-23 12:17:00 -06:00
371ec2036f support trailing brackets for sort() and rsort() 2024-05-23 01:24:41 -04:00
e18395cf6e add versionadded marker 2024-05-23 00:16:47 -04:00
4b81337b6a add documentation for new special variable functions 2024-05-23 00:09:54 -04:00
c95389d58c add unit tests for sort() and rsort() special function 2024-05-22 23:57:13 -04:00
2fbfa623cd fix fdotr and update the force-styles unittest 2024-05-22 23:56:16 -04:00
272ce64272 add special function for sorting vectors 2024-05-22 23:46:36 -04:00
5ffff255ea simplify with STL classes 2024-05-22 23:46:13 -04:00
c1538c2f78 move varstyle array definition to Variable class so it can be used in a more general way 2024-05-22 23:42:56 -04:00
86abf4f680 Fix input file bug and update examples 2024-05-22 21:25:31 -04:00
fafecd0584 Merge branch 'cg-dna' of https://github.com/ohenrich/lammps into cg-dna 2024-05-22 16:01:46 +01:00
c8a4951cdf Merge branch 'lammps:develop' into cg-dna 2024-05-22 16:01:16 +01:00
ad81558fe0 Included values in real units 2024-05-22 16:00:58 +01:00
938d117890 Updated tests to contain full stdout 2024-05-22 15:53:09 +01:00
749e259294 Moved test script 2024-05-22 14:15:48 +01:00
8f61bc57d2 move xhold checks caller-side
this also allows it to fall-back on do-nothing rather than crash
2024-05-22 10:02:52 +02:00
c2e4ad220f Update Ta example 2024-05-22 00:37:47 -04:00
f64193dfa4 fix whitespace 2024-05-21 23:42:52 -04:00
1d38550763 replace malloc with memory->create 2024-05-21 23:39:49 -04:00
b010d9cd8c Initialize sum to zero 2024-05-21 22:52:11 -04:00
5d6db7e434 allocate memory for work 2024-05-21 22:39:27 -04:00
ac561095b1 Change int* to tagint* 2024-05-21 21:51:26 -04:00
d42b8ebb6c make use of new dump_modify in examples 2024-05-21 19:40:28 -04:00
3b091c0bd4 type label support for dump xyz 2024-05-21 19:35:04 -04:00
8314254245 Merge branch 'lammps:develop' into kokkospod 2024-05-21 10:12:37 -04:00
4104e73bcd Delete InP training data 2024-05-21 09:45:29 -04:00
44ef81e900 documentation and examples 2024-05-21 09:39:36 -04:00
a8687b5372 Merge pull request #4164 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-05-20 14:46:30 -06:00
ea3bd6043f whitespace 2024-05-20 14:36:01 -06:00
c55901f8ce Port hybrid topology (bond/angle/dihedral/improper) styles to Kokkos 2024-05-20 14:28:31 -06:00
30704d095d support that cmdargs is used multiple times and may be bytearrays directly 2024-05-20 16:00:19 -04:00
58653e0a87 Merge branch 'lammps:develop' into cg-dna 2024-05-20 15:10:52 +01:00
00cb38e823 real unit and potential file examples (#16) 2024-05-20 15:08:06 +01:00
658dcef145 fix bug with newton_bond off 2024-05-20 06:21:23 -04:00
0577e1ff77 install runtime dlls for LAMMPS library only with -DBUILD_SHARED_LIBS=yes 2024-05-20 06:08:43 -04:00
669819405b Merge branch 'develop' into collected-small-changes 2024-05-20 02:55:52 -04:00
8d25c510c1 Draft examples, patches, clarify interface reconstruct in RHEO 2024-05-19 11:22:52 -06:00
77239a75dc Merge pull request #4162 from stanmoore1/kk_update_4.3.1
Update Kokkos library in LAMMPS to v4.3.1
2024-05-18 09:11:50 -06:00
83d5edb032 Merge branch 'kokkospod' of https://github.com/cesmix-mit/lammps into kokkospod 2024-05-18 08:17:51 -04:00
b5fe3d5b06 update kokkospod 2024-05-18 08:17:48 -04:00
b434c4d119 Merge branch 'lammps:develop' into kokkospod 2024-05-17 17:07:09 -04:00
feae228329 New force calculation 2024-05-17 17:05:50 -04:00
51f009c273 incorrect pair-coul package listings 2024-05-16 15:21:45 -04:00
f2d236eca1 improper styles moved to EXTRA-MOLECULE 2024-05-16 15:08:02 -04:00
9c5d9686f5 deform/pressure is in EXTRA-FIX 2024-05-16 15:03:03 -04:00
febf7c38d3 add reaxff/species delete citation 2024-05-16 14:49:33 -04:00
410cda27e0 keyword was changed at some point 2024-05-16 14:38:04 -04:00
6aec49619f remove redundant initializers from headers 2024-05-16 09:42:00 -04:00
c99e582658 Need to manually enable rocthrust in Makefile build 2024-05-15 16:33:49 -07:00
83cfa0bfdd Set rlogarg to intermediate value, force capped at 35 LJU 2024-05-15 22:50:37 +01:00
5f6f6ba0d6 Reset rlogarg to original value 2024-05-15 22:19:31 +01:00
b31071e18f Removed exit status bug 2024-05-15 22:03:56 +01:00
852becb32a Update Makefile comment 2024-05-15 14:44:50 -06:00
3805a01448 Update CMake 2024-05-15 14:42:01 -06:00
8fbb959ab3 Add support for MI300A with unified memory 2024-05-15 14:40:41 -06:00
5d98c073a4 Capped force debugging completed 2024-05-15 21:25:08 +01:00
a495aff480 Update Kokkos library in LAMMPS to v4.3.1 2024-05-15 14:14:08 -06:00
16b2ed5cc9 initialize pointers to null in constructor 2024-05-15 13:49:54 -04:00
69b8a8c7b3 remove dead code 2024-05-15 13:49:07 -04:00
c0daa9550a Reformatting 2024-05-15 16:47:44 +01:00
17e0e785ab Corrected typo 2024-05-15 16:45:52 +01:00
a7fe12cd7b Reformatting 2024-05-15 16:07:59 +01:00
0e9c3fb768 Updated test script 2024-05-15 15:26:58 +01:00
59ce8c966c Corrected energy for capped force potential 2024-05-15 15:24:36 +01:00
343f8afbf6 Many minor tweaks, adding self/mass + oxide noshift 2024-05-14 14:47:11 -06:00
008a8fcb11 Merge pull request #4159 from evoyiatzis/patch-1
Make compute stress/mop and stress/mop/profile compatible with 2D systems
2024-05-14 13:05:41 -06:00
991f4ed4fb Merge pull request #7 from akohlmey/ml-uf3
Update example with new syntax
2024-05-14 11:09:10 -04:00
83a4ff06bd fix segfault 2024-05-14 08:14:38 -04:00
c8821606fb Merge branch 'develop' into patch-1 2024-05-14 07:25:34 -04:00
b5ecea502a Changed folding logic to use minimum_image rather than pbc 2024-05-14 08:51:40 +02:00
1f52d1769d update ML-UF3 example 2024-05-13 20:29:20 -04:00
17c099488a remove unused variables 2024-05-13 20:20:03 -04:00
4302d65811 fix spelling 2024-05-13 20:19:50 -04:00
49f20229ad Merge branch 'develop' into ml-uf3 2024-05-13 20:16:24 -04:00
2dc5931829 Fix whitespace 2024-05-13 22:34:21 +02:00
bc38b55941 Removed iostream import
Leftover from debugging output
2024-05-13 22:33:48 +02:00
7b728cd434 No need to go through the whole list if one atom has moved enough to trigger re-compute of the NL 2024-05-13 22:33:48 +02:00
ad90c9836f Just some additional comments, and removed debug output 2024-05-13 22:33:48 +02:00
fe19a7efb5 disable Nagle's algorithm for internet socket 2024-05-13 22:33:48 +02:00
bb471b1c86 Minimally-invasive implementation of the ipi-side modification 2024-05-13 22:33:48 +02:00
b3fc34f240 Try a (dirty) fix to the i-pi neighbor list update problem 2024-05-13 22:33:48 +02:00
f05a551ffe Update compute_stress_mop.cpp 2024-05-13 21:32:17 +02:00
ada53dc879 Merge pull request #4161 from lammps/doc-write-data
Incomplete info on write_data command syntax
2024-05-13 13:26:15 -06:00
47c86cdf65 Update compute_stress_mop.rst 2024-05-13 21:26:01 +02:00
86103fa89b revert changes for triclinic boxes in compute_stress_mop.cpp 2024-05-13 21:23:50 +02:00
ed507dc676 revert changes in compute_stress_mop.h 2024-05-13 21:20:32 +02:00
9e755cd0af Merge branch 'lammps:develop' into ml-uf3 2024-05-13 15:10:58 -04:00
4330530237 Merge pull request #4068 from dhairyaiitb/develop
Coefficient of restitution based damping in granular models
2024-05-13 12:43:19 -06:00
0a389bf673 Merge branch 'develop' of github.com:lammps/lammps into patch-1 2024-05-13 12:24:02 -06:00
74f29ba2f3 update example 2024-05-13 14:07:24 -04:00
4e7bddaa0b remove unused variables 2024-05-13 13:55:09 -04:00
af540bec8b Merge pull request #4142 from jrgissing/count/types-return_integer_for_lj_units
flag output for compute count/type as intensive vs extensive
2024-05-13 11:48:35 -06:00
d0f8d9eeb1 Merge branch 'develop' into dhairyaiitb/develop 2024-05-13 13:47:21 -04:00
67b6c36941 Merge pull request #4150 from Bibobu/cg_stuck_bug
Avoiding forcezero infinite loop with zero energy.
2024-05-13 11:46:16 -06:00
d4d4c48574 spelling fixes 2024-05-13 13:43:50 -04:00
84f06aa7a8 Merge branch 'develop' into doc-write-data 2024-05-13 13:38:21 -04:00
f747bb975f Merge pull request #3824 from jrgissing/fix_reaxff/species-fixes
Fix reaxff/species fixes
2024-05-13 11:25:40 -06:00
00d8c6623d Merge pull request #3810 from jrgissing/create_atoms-overlap_w_mol
Create atoms: overlap keyword for atomic molecule
2024-05-13 11:08:34 -06:00
fd1aa7356d Merge pull request #3118 from jrgissing/replicate_periodic_box
Replicate periodic box
2024-05-13 11:06:47 -06:00
cd82af6885 Merge pull request #4148 from jtclemm/small-patches
Small patches for various commands
2024-05-13 11:01:11 -06:00
20a2df0b41 Merge pull request #4152 from nnn911/modify_triclinic
Fix Inconsistent syntax for dump_modify triclinic/general
2024-05-13 11:00:52 -06:00
eb0640fbb5 Merge pull request #4146 from akohlmey/collected-small-changes
Collected small changes
2024-05-13 11:00:18 -06:00
b65e41e509 Update version to development 2024-05-13 10:45:34 -06:00
85a2f4bbfa Merge branch 'lammps:develop' into improve_type_label_support 2024-05-12 23:15:34 -04:00
def7c40ece add citeme 2024-05-12 18:40:48 -04:00
d1fe92c658 charge/regulation: direct type label support 2024-05-12 17:32:03 -04:00
fc32826cd7 more uses of bounds_typelabel 2024-05-12 16:44:24 -04:00
f007be620a compute_rdf: direct type label support
type label that is the same as the keyword ('cutoff') will break things. if syntax is otherwise 'correct', then will throw a syntax error. perhaps could run through typelabels to check first?
2024-05-12 16:11:36 -04:00
c324afeaf1 fix/adapt/fep: use bounds_typelabel 2024-05-12 15:50:41 -04:00
44b99b6b76 bounds() wrapper for type labels 2024-05-12 14:30:55 -04:00
61b9469fd1 Revert "example with augmented utils::bounds"
This reverts commit 25d4b3484d.
2024-05-12 02:00:48 -04:00
25d4b3484d example with augmented utils::bounds
option to check for type label
2024-05-12 01:00:09 -04:00
2492c57c8e typos 2024-05-11 20:14:18 -04:00
5d35392cca finish adapt docs 2024-05-11 19:49:19 -04:00
ff05d45c74 adapt/fep: direct type label support 2024-05-11 19:37:42 -04:00
4d1e4814b7 fix adapt: direct type label support
make utils::bound type aware?
i.e., Atom:BOND argument instead of atom->nbondtypes
2024-05-11 19:13:29 -04:00
c5c7e6fb74 bond/break: direct type label support 2024-05-11 16:40:40 -04:00
8fc1a8ec7f start off with simpler labelmap example 2024-05-11 16:34:17 -04:00
d121d5a503 bond/create: direct type label support 2024-05-11 16:30:21 -04:00
aa9628facf fix_widom: direct type label support 2024-05-11 15:29:43 -04:00
9d7e449767 fix_gcmc: direct type label support
apparently changed text in doc description is just reflowing
2024-05-11 15:20:53 -04:00
c19db76eae delete_bonds: direct type label support 2024-05-11 14:05:48 -04:00
74b3d15c3b improve fix_modify error messages 2024-05-10 08:21:56 -04:00
46b4c09083 simplify xmol comm 2024-05-10 00:15:21 -04:00
e5d6875287 Update Howto_rheo.rst
Typos and wording.
2024-05-09 11:52:16 -04:00
ac0513b5c4 whitespace in compute_stress_mop.rst 2024-05-09 15:25:57 +02:00
9aefa047cb Update compute_stress_mop.rst 2024-05-09 15:17:30 +02:00
e2984c9724 Delete pos1 variable from compute_stress_mop.h 2024-05-09 15:13:26 +02:00
7b007d82a0 Make compute stress/mop compatible with triclinic boxes 2024-05-09 15:12:28 +02:00
a2616630b5 update OpenCL ICD loader source to latest release 2024-05-09 07:18:50 -04:00
b4f18700dc Update fix_reaxff_species.h 2024-05-09 00:06:10 -04:00
8e6a232dff Update fix_reaxff_species.rst 2024-05-08 23:31:36 -04:00
ada61d96fe Update fix_reaxff_species.rst 2024-05-08 19:46:07 -04:00
05438d2357 Update create_atoms.rst 2024-05-08 18:50:02 -04:00
887ffa57d5 Merge branch 'develop' into create_atoms-overlap_w_mol 2024-05-08 18:44:23 -04:00
33525de598 fix incomplete header info on command syntax 2024-05-08 16:39:25 -06:00
3028b6f34c clean up of docs and code 2024-05-06 19:16:06 -06:00
1c11de8a64 comment tweak 2024-05-06 16:47:38 -06:00
a4449fb6ff modified doc page, added examples 2024-05-06 16:44:45 -06:00
3d4bb44911 Minor rearrangements to CoR, fix bug in granular single 2024-05-06 16:39:29 -06:00
daedaaccdc add missing false positive 2024-05-05 12:50:30 -04:00
46a441451d Update compute_stress_mop.rst 2024-05-04 20:11:08 +02:00
e42aff54f9 Make compute stress/mop/profile compatible with 2D systems
Issue an error if the stress is requested in the Z direction for 2D systems
The normalizing 'area' is the length of the opposite cartesian direction
2024-05-04 20:07:08 +02:00
541680c798 Make compute stress/mop compatible with 2D systems
Issue an error if the stress should be computed in the Z direction in 2D systems
The normalizing 'area' in 2D systems is the length of the simulation box in the other cartesian direction
2024-05-04 20:02:05 +02:00
2f488cc594 Merge pull request #6 from monk-04/ml-uf3
Bug Fixes- uniform knot spacing, memory leaks, array initialization
2024-05-03 20:02:01 -04:00
fe24ddebcd Removed trailing whitespace 2024-05-03 18:31:12 -04:00
1cfbc04586 Initialize setflag, n2b_coeff_array_size, n2b_knots_array_size, n3b_coeff_array_size, n3b_knots_array_size arrays to 0; fixed memory leaks; removed some dead code 2024-05-03 18:28:33 -04:00
da7459c805 Adding heat options, prevent asynchronous mpi bond creation/deletion 2024-05-03 15:13:45 -06:00
a7f4fc1815 Fixed bug with uniform knot spacing 2024-05-03 12:58:59 -04:00
99b3233564 Added names of new source code files 2024-05-03 16:20:57 +01:00
775a73b67c cgDNA 'real' units and potential file reading for non-modifiable potential parameters (#15)
* oxDNA potential file reading and real units

This allows for pair and bond coefficients to be read from an appropriately formatted potential file, and also allows for the use of 'real' units within oxDNA1. The correct backend coefficients for pair and bonded interactions are set when the atom vector is initialised through the "ConstantsOxdna" class, based on the units specified within the input file.

* Extract seqav/seqdep and temp from potential files

Also includes miscellaneous string consistency changes and removes unnecessary parameter from reader.next_line instances.

* oxDNA2 potential file reading and real units

This extends previous changes to oxDNA2 specific potentials, being FENE, excluded volume, coaxial stacking and Debye-Hückel. Units now default to LJ values rather than 0.

* oxDNA potential files

* LJ <-> real units conversion tool

Converts standard oxDNA data and input file to real units, with inverse flag available for real -> LJ.

* oxRNA2 potential file reading and real units

For RNA, d_cs_x is treated as d_cs within ConstantsOxdna in order to reduce code duplication and complexity.

* Reparameterise real units

* Generalise PotentialFileReader logs

* Extract stk xi and kappa from potential files

This allows users to edit these values from the input script, as is documented, rather than them being within the potential files.

* Real unit and potential file documentation

This adds examples for real unit parameters and specific potential file documentation for each bond and pair style.
2024-05-03 15:00:29 +01:00
ca675b557f Minor edits for python2/3 support, improved comments 2024-05-03 11:23:42 +01:00
759ce70af7 Merge branch 'lammps:develop' into ml-uf3 2024-05-02 19:31:21 -04:00
94ab3c2a01 Merge pull request #5 from monk-04/ml-uf3
Remove std::vector completely
2024-05-02 19:29:57 -04:00
4a8ed1bc78 Removed dead code, fixed trailing whitespace 2024-05-02 19:28:58 -04:00
ab8e4b7676 Fixed trailing whitespace 2024-05-02 19:28:27 -04:00
3340dd5f54 Removed unused variables and reordered the code 2024-05-02 19:03:25 -04:00
5f2cae0e08 Commented out the uniform knot spacing logic as for more than 1 processors was getting some weird errors.
Deleted commented (dead) code.
Updated the memory_usage function.
Reordered some functions to refelect the calling order
2024-05-02 19:01:26 -04:00
f02c65e12e Removed uf3_pair_bspline and uf3_triplet_bspline 2024-05-02 18:59:49 -04:00
49181bfe8d constants was changed from std::vector to fixed length array 2024-05-02 18:58:26 -04:00
e55d77470b Removed trailing whitespace 2024-05-02 15:23:48 -04:00
9915f86f63 Removed UFBS2b and UFBS3b std::vector objects.
These objects held the bspline basis set object (uf3_pair_bspline and uf3_triplet_bspline) for 2- and 3-body interaction at UFBS2b[itype][jtype] and UFBS3b[itype][jtype][ktype].
These std:vectors were removed. New arrays (cached_constants_2b, cached_constants_2b_deri, cached_constants_3b, cached_constants_3b_deri) were added that holds the cached coefficients of the bspline basis set. The UF3Impl PIMPLE was also removed as it is not longer needed. The memory_usage function needs to updated
2024-05-02 14:35:45 -04:00
dbca2b087d Made 'constants' variable public 2024-05-02 14:27:11 -04:00
39f039719d QEq requires charges 2024-05-02 11:53:41 -04:00
a4892da145 Merge branch 'upstream' into regression-tests 2024-05-01 11:18:51 +05:45
149ffbb2b6 Clarify error message 2024-04-30 09:20:19 +02:00
e9d22ec7f9 Clarify error message 2024-04-30 09:19:03 +02:00
4886678619 Updating masks, cleaning up special bond handling 2024-04-29 16:14:53 -06:00
b1e1b05e0b Match dump_modify syntax for atom and custom dump styles 2024-04-29 13:51:26 +02:00
e34aa0d02b meam/c is no longer an alias for meam 2024-04-28 08:43:24 -04:00
e881bb307c downgrade macOS to version 13 2024-04-27 02:50:28 -04:00
bfd5e6bbc5 make pip install packages in virtual environment 2024-04-27 02:50:28 -04:00
a394fcb5f3 downgrade macOS to version 13 2024-04-27 02:48:40 -04:00
74b49b48cb make pip install packages in virtual environment 2024-04-27 02:48:40 -04:00
69e9483bf7 downgrade macOS to version 13 2024-04-27 02:47:36 -04:00
1f9c33e65d make pip install packages in virtual environment 2024-04-27 02:47:24 -04:00
3906eb8148 Merge branch 'lammps:develop' into cg-dna 2024-04-26 14:49:49 +01:00
99ff5b2779 Changed alpha_init initialization to avoid infinite loop with 0 starting
value.
2024-04-26 14:46:30 +02:00
da7de9c75c Merge branch 'develop' of github.com:lammps/lammps into develop 2024-04-26 09:31:21 +02:00
0f3a8d6af8 Adding warning for singular matrix 2024-04-25 14:10:21 -06:00
7ad74ffbd8 Removing unused files 2024-04-24 13:10:44 -06:00
21cae39d14 Documentation for fix add/heat 2024-04-24 13:04:51 -06:00
4220be380c Finishing oxidation, adding hybrid compatability for BPM 2024-04-24 11:48:44 -06:00
cfc811a1b3 downgrade macOS to version 13 2024-04-24 03:50:48 -04:00
a85b0603a2 downgrade macOS to version 13 2024-04-24 02:45:36 -04:00
4437891c30 catch command errors 2024-04-24 02:26:27 -04:00
83643ded91 flag development 2024-04-24 02:25:52 -04:00
fc20b8c546 make pip install packages in virtual environment 2024-04-24 02:24:47 -04:00
b993dadcdc try virtual environment instead of user installation 2024-04-24 01:58:54 -04:00
8073cec0e4 make pip install packages in user area 2024-04-24 01:55:13 -04:00
b2aed19c88 Update doc/src/compute_count_type.rst
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2024-04-23 23:32:27 -04:00
6de19ec109 Tweaking doc text 2024-04-23 21:02:02 -06:00
3dbfe26b6d Extra D2min options/checks for undercoord particles 2024-04-23 20:58:20 -06:00
80a0c5899e Fix coeff parsing classic gran model 2024-04-23 20:47:01 -06:00
f6eeaaef6f Update compute_count_type.rst 2024-04-23 19:45:14 -04:00
6e45a71de3 restore numerical types example
(duplicated with type labels)
2024-04-23 10:16:46 -04:00
b227663b3b restore numerical examples
(duplicated in type label versions)
2024-04-23 10:13:50 -04:00
f815ded1b8 add a few more intensive vs. externsive settings 2024-04-22 22:04:42 -04:00
400070d038 catch command errors 2024-04-22 21:28:56 -04:00
f66ae5c285 output verbose info 2024-04-22 21:23:42 -04:00
dc04a2ec5a for vectors we have to check for either extvector or extlist 2024-04-22 21:22:24 -04:00
44bfcff550 Fixing variable pmean in deform/press 2024-04-22 19:08:29 -06:00
3ce628cf07 fix extscalar bugs in fix shake and fix sprint/rg 2024-04-22 20:30:28 -04:00
a88e8757e3 guard against not setting extscalar, extvector, or extarray when required 2024-04-22 19:55:52 -04:00
25a9bf1ff6 Merge branch 'develop' into jake_replicate 2024-04-22 16:10:42 -06:00
21eeb231ae remove bogus example 2024-04-22 15:27:53 -04:00
d896f307ba Update fix_hyper_local.rst 2024-04-22 14:00:38 -04:00
628531dadb Merge pull request #4144 from Bibobu/ave_histo_vector_bug
Fix for fix_ave_histo bug with vector style variables
2024-04-22 09:42:24 -06:00
3ab6997a5b fix broken link 2024-04-22 07:28:53 -04:00
761cfdaabf switch markdown formatting to restructured text 2024-04-22 07:26:02 -04:00
44ec209796 direct type label for group 2024-04-22 00:29:23 -04:00
e15f7a1e96 clarify that sgcmc output is intensive 2024-04-21 23:38:15 -04:00
a50192a7d1 mol/swap also flags output as intensive value! 2024-04-21 23:29:27 -04:00
26c8a3a639 fix gcmc and widom also report 'intensively' 2024-04-21 23:25:33 -04:00
6bd57cd90a fix atom/swap reports value as intensive 2024-04-21 23:20:20 -04:00
48600cd153 Merge branch 'develop' of github.com:lammps/lammps into develop 2024-04-20 17:45:06 +02:00
baaea8271b Merge branch 'develop' of github.com:lammps/lammps into ave_histo_vector_bug 2024-04-20 17:38:38 +02:00
38c7d7aa1c Added a vectorstyle variable check for fix_ave_histo.cpp 2024-04-20 17:31:34 +02:00
14dc82a2bf Adding periodicity check 2024-04-19 15:40:27 -06:00
97d8ecbac1 Improvements & bug fixes to fix def/press 2024-04-19 15:14:42 -06:00
52ab29798a Merge branch 'lammps:develop' into cg-dna 2024-04-19 22:07:32 +01:00
cf6522eebb type label support for atom/swap 2024-04-18 14:32:23 -04:00
267e75133a generalize passthrough args 2024-04-18 14:30:27 -04:00
1815a00fd0 cleanup 2024-04-18 14:12:23 -04:00
eec037ac5e make use of refactored expand_type elsewhere 2024-04-18 13:41:51 -04:00
931417da0a always return integers for counts
previously, atom, bond, angles, dihedral and improper counts were normalized by natoms when using LJ units
2024-04-18 11:00:02 -04:00
c5ecef82c1 Updating BPM reference information 2024-04-18 08:49:18 -06:00
b3e03d5188 refactor expand_types to return int 2024-04-17 18:56:28 -04:00
42a4e63061 Merge branch 'lammps:develop' into ml-uf3 2024-04-17 16:45:33 -04:00
3310180a9f Fixed trailing whitespaces 2024-04-17 16:45:05 -04:00
6836bca5f8 Merge pull request #4139 from akohlmey/eam-warning-bugfix
Later than last minute bugfix in EAM density warning for OPENMP package
2024-04-17 15:43:23 -04:00
1b88adf73e move communication for eam/omp warning outside the threaded region. undo for INTEL 2024-04-17 14:37:51 -04:00
e84540c626 fix/mol/swap: direct type label support 2024-04-17 14:35:00 -04:00
8ceb6f096b Merge pull request #4 from monk-04/ml-uf3
Updates to pair_uf3- Reading potential from single file, arrays from memory class, MPI to communicate the arrays
2024-04-17 10:51:59 -04:00
18ae98201b Updated the documentation about UF3 LAMMPS potential file 2024-04-17 10:51:21 -04:00
cf0dc2ac21 Merge pull request #4138 from akohlmey/next_release
Update version tags and strings for the next feature release
2024-04-17 10:37:35 -04:00
09680a3857 use MPI_SUM instead of MPI_MAX to work around OpenMPI bug on macOS with Apple CPU 2024-04-17 01:03:39 -04:00
db9e8aa43c last minute fix for https://matsci.org/t/errors-encountered-in-the-pyrolysis-of-organic-polymers-under-reaxff-force-field/54818 2024-04-17 00:57:07 -04:00
d45a00031b update a couple more pending version strings 2024-04-17 00:41:45 -04:00
e80954a288 Merge branch 'develop' into next_release 2024-04-17 00:38:48 -04:00
3a555c81b6 Merge pull request #4134 from akohlmey/collected-small-changes
Collected small changes and bugfixes
2024-04-17 00:35:57 -04:00
a1826b1364 fix_deposit: direct type label support 2024-04-17 00:16:00 -04:00
101a937870 rephrase warning about EAM deansity exceeding tabulated embedding term 2024-04-16 23:02:29 -04:00
7f269c461e Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2024-04-16 22:49:26 -04:00
94a95b56e6 Merge remote-tracking branch 'github/develop' into collected-small-changes 2024-04-16 22:42:48 -04:00
329d546eea Merge pull request #4078 from jmgoff/pace-mliap
Update ML-IAP for ACE support
2024-04-16 22:42:17 -04:00
27266e72c4 Merge pull request #3984 from lammps/general-triclinic
Add suppport for general triclinic simulation boxes and systems
2024-04-16 21:04:59 -04:00
98eb345615 small tweak 2024-04-16 20:07:30 -04:00
95e4364400 breathe is currently not compatible with sphinx 7.3 2024-04-16 19:59:30 -04:00
e590e27faa create_atoms: direct type label support 2024-04-16 19:56:37 -04:00
fe57f880f0 breathe is currently not compatible with sphinx 7.3 2024-04-16 19:53:49 -04:00
124516097c breathe is currently not compatible with sphinx 7.3 2024-04-16 19:53:00 -04:00
9aceecdfa4 breathe is currently not compatible with sphinx 7.3 2024-04-16 19:51:01 -04:00
88f2ca643b update version tags for feature release 2024-04-16 19:47:12 -04:00
89d98786ec small doc formatting and spelling fixes 2024-04-16 19:33:14 -04:00
c855e44d0e small doc fixes 2024-04-16 19:26:51 -04:00
49b5361088 Update labelmap.rst 2024-04-16 00:24:25 -04:00
a810f1eca8 Update Howto_type_labels.rst 2024-04-16 00:20:18 -04:00
28620a6631 propagate changes to other EAM implementations 2024-04-15 21:04:57 -04:00
8dd1d12a73 apply clang-format and whitespace cleanup 2024-04-15 21:04:22 -04:00
16e5fce31e adjust error messaging for rho[i] > rhomax in EAM 2024-04-15 17:24:47 -06:00
1924a06466 Merge branch 'develop' into collected-small-changes
# Conflicts:
#	python/lammps/pylammps.py
2024-04-15 17:21:38 -04:00
4c1be999fa Removed reference to std::vector knots and coefficients; commented out getter functions 2024-04-15 15:31:42 -04:00
d468ee8f7d Updated the code as we are no longer using std::vector for knots and coefficients 2024-04-15 15:22:22 -04:00
de8b1b49a6 Merge pull request #4135 from yuhldr/develop
pylammps small changes and bugfixes
2024-04-15 14:13:20 -04:00
d34a9bd33e Merge pull request #4113 from evoyiatzis/restricted-angle
Restricted squared cosine angle and dihedral potentials
2024-04-15 13:13:11 -04:00
b2fded3933 restore missing line 2024-04-15 11:24:54 -04:00
f6c8bd1178 Updated pair_coeff in unittest to read only one potential file; added Nb.uf3 unified potential file 2024-04-15 10:51:39 -04:00
cf729fc358 Added new constructor functions in uf3_pair_bspline and uf3_triplet_bspline to construct std::vectors of knots and coefficients rom memory block 2024-04-15 10:38:00 -04:00
fcf8500887 Added uf3_read_unified_pot_file() to read single potential file on rank 0 and communicate() to broadcast the data to other ranks
Added one_ceoff
2024-04-15 10:37:21 -04:00
3a94e4df2d print single warning when some rho[i] exceeded rhomax of the current EAM potential 2024-04-15 02:50:16 -04:00
a9b9f7f2c7 correct fix ttm/mod example input 2024-04-15 01:45:05 -04:00
e4a7b193aa whitespace 2024-04-14 21:11:03 -04:00
yuh
f6992c0d34 doc: 3 py:meth:PyLammps.append_cmd_history()
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2024-04-15 09:00:24 +08:00
yuh
bad5fcc9c4 doc: 2 py:meth:PyLammps.append_cmd_history()
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2024-04-15 09:00:05 +08:00
yuh
90c8c3c551 doc: py:meth:PyLammps.append_cmd_history()
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2024-04-15 08:59:02 +08:00
962219a446 make PyLammps mass property compatible with per-atom masses. 2024-04-14 18:27:17 -04:00
18d45d1ff0 pylammps: fix get atom.mass by atom.type 2024-04-14 18:17:36 -04:00
cc721816df pylammps: append_cmd_history 2024-04-14 17:17:36 +08:00
db1598fb08 pylammps: fix get atom.mass by atom.type 2024-04-14 17:02:23 +08:00
01b1d047a2 Merge branch 'lammps:develop' into ml-uf3 2024-04-13 18:56:07 -04:00
1346be4168 Merge pull request #4126 from lammps/global-vector-access
Relax error check on accessing fixes that produce variable size vectors/arrays
2024-04-13 16:58:50 -04:00
5af3626cf7 adjust test coeffs to be numerically stable 2024-04-13 11:43:30 -04:00
b5c5b8ea8d remove dead code and related comment 2024-04-13 11:43:00 -04:00
23ce978702 cosmetic 2024-04-13 11:07:46 -04:00
17d04ce41a Merge remote-tracking branch 'github/develop' into restricted-angle 2024-04-13 02:45:53 -04:00
95779b3504 add versionadded tags 2024-04-13 02:39:54 -04:00
a40b97d417 Merge remote-tracking branch 'github/develop' into collected-small-changes 2024-04-13 01:45:29 -04:00
5fbd21e324 Merge pull request #4127 from stanmoore1/kk_sort_by_key
Improve Kokkos sorting
2024-04-13 01:44:50 -04:00
7f68620fa9 add example with more compact initialization for scatter 2024-04-12 23:46:35 -04:00
4bd983ce6a make warnings in scatter/gather into errors 2024-04-12 23:11:56 -04:00
441a521d8b initialize all class pointers to null 2024-04-11 23:52:34 -04:00
f557dfdebb mention typelabel paper 2024-04-11 23:36:11 -04:00
9f2cc1e38b Add two-level sort to simplify algorithm 2024-04-10 17:24:08 -06:00
9ca47a36d2 Merge pull request #4129 from akohlmey/pedone-potentials
Add pair style for analytic form of Pedone potential non-Coulomb
2024-04-10 18:51:19 -04:00
b36f49c34c adjust epsilon for arm64 platform 2024-04-10 18:05:21 -04:00
9d3e9c6146 whitespace 2024-04-10 18:03:01 -04:00
dbb23b6006 Merge branch 'develop' into pedone-potentials 2024-04-10 18:02:31 -04:00
c3be4fa399 Merge pull request #4130 from akohlmey/update-file-variable-parsing
Modernize parsing of files for file and atomfile variables
2024-04-10 17:54:29 -04:00
3bfe8b88f6 Merge branch 'general-triclinic' of github.com:lammps/lammps into general-triclinic 2024-04-10 12:56:52 -06:00
120b861f80 correct typos and remove duplicate text 2024-04-10 12:56:43 -06:00
03fc889df9 Merge branch 'rheo' of github.com:jtclemm/lammps into rheo 2024-04-10 12:18:02 -06:00
7a80a74791 Merge branch 'develop' into jake_replicate 2024-04-10 11:32:43 -06:00
1135d6be64 Noting artificial/visc exception in doc 2024-04-10 10:44:41 -06:00
e180527f08 fix typo 2024-04-10 12:35:09 -04:00
5383bd2613 More doc files, misc clean ups 2024-04-10 09:47:55 -06:00
7ca4bf05cf change radthresh initialization 2024-04-10 09:52:58 -04:00
83cd20dfeb Merge branch 'develop' into general-triclinic 2024-04-10 08:42:25 -04:00
06d579eb51 improve atomfile variable docs 2024-04-10 06:29:10 -04:00
9f88867b37 update parsing of file and atomfile variable files
this allows to handle comments and empty lines everywhere for atomfile
and file variables and in a consistent manner since it used utils functions.
also error messages are improved and more specific.
2024-04-10 03:08:08 -04:00
e979e8dc01 spelling add false positives 2024-04-09 22:36:49 -04:00
b4fa1b07e9 add version tag 2024-04-09 22:21:34 -04:00
01917cd117 add example for Ca-O with Pedone 2024-04-09 22:08:30 -04:00
7ac84e18dd remove references to non-existing pedone/coul/long, complete description 2024-04-09 21:35:45 -04:00
41591826fb update 2 doc pages for DIELECTRIC package 2024-04-09 09:25:21 -06:00
aeec608be6 partial docs also for future pedone/coul/long implementation 2024-04-09 09:13:23 -04:00
a2ee2d57be add OPENMP version and apply clang-format 2024-04-09 07:55:26 -04:00
67faeb0130 correct sign for repulsive term 2024-04-09 07:45:44 -04:00
0021042dab add test 2024-04-09 00:57:26 -04:00
41f518ede7 repulsive is r^12 not r^6 2024-04-09 00:57:15 -04:00
21512df264 update doc for dump_modify triclinic/general keyword 2024-04-08 17:59:44 -06:00
81ce8ecdd0 tweak README 2024-04-08 17:30:18 -06:00
e6f4c49b70 add simple general triclinic example files 2024-04-08 17:29:23 -06:00
f1c2a22e2d more tweaks 2024-04-08 16:25:17 -06:00
74a0d22ec2 first stab at non-coulomb pedone potential 2024-04-08 17:48:50 -04:00
e40a1527d3 one more doc page 2024-04-08 10:53:14 -06:00
877d6e7f86 remove whitespace 2024-04-08 10:49:53 -06:00
d1b571c8ed spell check 2024-04-08 10:48:38 -06:00
c2b91ccc8a better documention and error checking for 2d general triclinic 2024-04-08 10:43:20 -06:00
069919ddcd Merge pull request #4125 from taylor-a-barnes/mdi
Fix bug in MDI time integration logic
2024-04-05 18:59:23 -04:00
1a019889f2 more doc page and thermo edge vector modifications 2024-04-05 16:22:54 -06:00
0f5221a485 Improve Kokkos sorting 2024-04-05 15:55:13 -06:00
4a36053bbb Merge branch 'develop' into general-triclinic 2024-04-05 15:50:55 -06:00
7122a85c0b remove some debug info 2024-04-05 15:43:54 -06:00
af88cec22d relax error check on fixes that produce variable size vectors/arrays 2024-04-05 15:12:46 -06:00
7e8be88fa8 Merge pull request #4124 from stanmoore1/kk_update_4.3.0
Update Kokkos library in LAMMPS to v4.3.0
2024-04-05 16:45:14 -04:00
d615d8053b support for general tri edge vectors in thermo output 2024-04-05 14:31:53 -06:00
6a8354f80c Fix bug in MDI time integration logic 2024-04-05 19:10:43 +00:00
f0c1ebec2f Merge pull request #4123 from akohlmey/rigid-image-fix
Address minimum image issue when restarting fix rigid/small
2024-04-05 15:00:30 -04:00
5b47038b14 Set default trimflag to zero 2024-04-05 17:52:44 +01:00
905ceb98f1 merge in current develop 2024-04-05 09:36:29 -06:00
0344b6af70 updated the associated example file 2024-04-05 10:14:07 -05:00
1b71576b6f Update CMake and docs 2024-04-05 09:09:44 -06:00
84b6c6a088 Added prefactors and errors for incorrect combinations. 2024-04-05 09:58:33 -05:00
f382eac5c2 Update Kokkos library in LAMMPS to v4.3.0 2024-04-05 08:20:57 -06:00
dc1bc8a8cf Merge branch 'lammps:develop' into cg-dna 2024-04-05 11:40:16 +01:00
2927471892 Merge pull request #4121 from lammps/test-rigid
Fix issue with nearly linear 2d rigid bodies
2024-04-05 00:50:04 -04:00
f5a595dadb Merge branch 'develop' into test-rigid 2024-04-04 23:52:06 -04:00
4401179688 Merge pull request #4122 from lammps/variable-length-vectors-arrays
More consistent checking on lengths of variable-length vectors and arrays
2024-04-04 21:52:34 -04:00
a51174f6c3 update unit test reference data for rigid fixes 2024-04-04 21:30:42 -04:00
72d7ba85ad call alternate minimum image code from @stanmoore1 from fix rigid/small 2024-04-04 20:49:20 -04:00
ec7b76454a fix spelling error 2024-04-04 14:37:03 -06:00
c45f2666ad clean-up whitespace 2024-04-04 14:21:55 -06:00
66d042a0ee make checks for exceeding length of variable-length vectors more consistent 2024-04-04 14:11:13 -06:00
2c26586b1a clean up 2024-04-04 13:50:43 -06:00
6a2bcc7258 merge in current develop 2024-04-04 13:30:14 -06:00
99e82f9f07 Merge pull request #4120 from maitane-muba/develop
Explicit symmetrization of cutoff in pair_ylz
2024-04-04 15:16:47 -04:00
03711c13da clean up 2024-04-04 13:11:59 -06:00
65cdc76c99 final changes for 2d rigid bodies with jacobi 2024-04-04 13:07:35 -06:00
506bf886ee merge in develop branch 2024-04-04 12:56:12 -06:00
58d6f9ba2e Removing hrate from fix deform/pressure restart 2024-04-04 11:29:28 -06:00
8254d20b44 Removing unnecessary comm calls fix heat/flow 2024-04-04 11:29:02 -06:00
c63c1856ec Fix compilation error, edit artificial visc toggle 2024-04-04 11:21:42 -06:00
f637299ac5 Added symmetrization of cutoff in init_one() and fixed a print 2024-04-04 18:18:10 +02:00
ceec24d50b Adding hybrid support to BPM, more doc pages 2024-04-04 09:42:10 -06:00
972d412186 flag false positives 2024-04-03 20:53:44 -04:00
ef3d255a4b Merge branch 'develop' into pace-mliap 2024-04-03 20:49:29 -04:00
3db1e5f0f6 mliap kk snap unittest back on only disable mliap kk for ACE 2024-04-03 16:58:16 -06:00
1529a61901 Merge pull request #4111 from akohlmey/collected-small-fixes
Collected small fixes
2024-04-03 16:56:25 -04:00
4c9924984d modify access to fixes 2024-04-03 15:58:24 -04:00
ecd8fe71a1 cosmetic 2024-04-03 15:05:09 -04:00
39d12e48d6 must always return nfaces=0 for less than 3 vertices 2024-04-03 15:04:39 -04:00
4329c4c37f changes to rigid and rigid/small 2024-04-03 11:11:52 -06:00
d06b86916a more debugging 2024-04-03 11:11:16 -06:00
c0abefeacb update links in manual to jacobi3() docs 2024-04-02 23:53:25 -04:00
78a3a7b9c2 add optional argument to enable overriding sort order or eigenvalues/vectors 2024-04-02 23:28:14 -04:00
21745538a7 Revert "change ordering of eigenvalues in jacobi3() function. update tests."
This reverts commit c4eadd3a59.
2024-04-02 23:02:04 -04:00
c502dd4033 Fixed trailing whitespace 2024-04-02 13:20:29 -04:00
0809d8b722 Updated documentation about METADATA in the uf3 lammps pot files 2024-04-02 13:17:13 -04:00
887ce4948a Removed old pot files 2024-04-02 13:16:38 -04:00
1ef7b8132c Updated A_A.uf3 to Nb_Nb.uf3 and A_A_A.uf3 to Nb_Nb_Nb.uf3 2024-04-02 13:16:00 -04:00
3734252ed8 Replaced the A_A.uf3 and A_A_A.uf3 with uf3 lammps pot files for Nb 2024-04-02 13:15:05 -04:00
7281f9327b Added code to check if 'UNITS:' metadata is present in the pot file or not 2024-04-02 13:14:28 -04:00
d3bc4c7eb8 Removed commented out code 2024-04-02 11:18:01 -04:00
ed0cff92de Merge remote-tracking branch 'github/develop' into general-triclinic 2024-04-02 09:41:21 -04:00
dfc68fb338 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-04-02 09:40:25 -04:00
05562ad5e9 testing 2d rigid changes 2024-04-01 21:35:35 -06:00
72772c136f Merge branch 'lammps:develop' into ml-uf3 2024-04-01 18:34:50 -04:00
801ceea90a Pimplifying the code Attempt-1 2024-04-01 18:33:02 -04:00
42dcc76a70 Merge pull request #2 from akohlmey/ml-uf3
More updates to PR 4110
2024-04-01 12:03:42 -04:00
08db64c27f More updates for oxidation, more doc pages 2024-03-31 21:40:34 -06:00
2ddd940a3e minor cosmetic changes 2024-03-31 20:31:25 -04:00
4eaf257e52 small cleanups 2024-03-31 19:49:01 -04:00
051c818596 enable and apply clang-format 2024-03-31 19:39:21 -04:00
3da6a7bdb0 eliminate compatibility typedefs 2024-03-31 19:29:09 -04:00
0296ca75fb remove tabs 2024-03-31 18:20:11 -04:00
ff91728587 reduce XDR compatibility code to only those routines that are used by dump xtc 2024-03-31 18:09:40 -04:00
0cdbcc801e switch to BSD 3-clause licensed XDR version, use c++11 portability, cleanups 2024-03-31 17:42:41 -04:00
ae6247d3be remove xdr_compat.h include and pimplify XDR struct, silence compiler warnings 2024-03-31 17:41:35 -04:00
f6bdc05c24 alternate fix to PR #4116 2024-03-30 19:19:47 -04:00
a017a775bd Merge pull request #4108 from MightyHelper/develop
Allow compute spin for groups other than `all`
2024-03-30 09:12:43 -04:00
dcc7916210 reorder header 2024-03-29 21:32:08 -04:00
d73aec6c21 add OpenMP version of angle style cosine/squared/restricted 2024-03-29 21:31:40 -04:00
428e22666d add unit test inputs for new styles 2024-03-29 21:15:25 -04:00
66a1e0103f gitignore 2024-03-29 21:00:59 -04:00
b712e46497 doc fixes 2024-03-29 21:00:51 -04:00
7ea0dc3996 Adding more oxidation features + doc pages 2024-03-29 19:00:14 -06:00
f48677c5e9 Merge branch 'develop' into restricted-angle 2024-03-29 20:39:23 -04:00
b79bccec6c Merge pull request #4098 from GenieTim/patch-1
Fix variables compatibility with chunk arrays
2024-03-29 20:34:03 -04:00
30f330718a more consistent error checks on variable length global vecs and arrays 2024-03-29 16:53:18 -06:00
7137290682 Follow requested changes to patch 2024-03-29 21:52:57 +01:00
c684fa0920 Merge branch 'lammps:develop' into patch-1 2024-03-29 21:48:43 +01:00
9c85e5a99b fix bug in option arg parsing of fix ave/correlate, also update doc page for fix ave/correlate/long 2024-03-29 14:27:43 -06:00
b8fc8e5e63 Update dihedral_style.rst 2024-03-29 11:18:11 +01:00
a9deb029e3 Add files via upload 2024-03-29 11:15:36 +01:00
42af73655c Add files via upload 2024-03-29 11:05:29 +01:00
996f5b9d52 fix ttm doc formatting fixes 2024-03-29 02:50:30 -04:00
a6230ba147 replace pow(x,2) and pow(x,3) with square() and cube() 2024-03-28 23:53:06 -04:00
1fff0a33fc drop log messages 2024-03-28 23:38:03 -04:00
c5262873b0 initialize all class pointers to null, delete all allocated storage 2024-03-28 23:36:57 -04:00
584137f104 remove num_of_elements class variable, just use local copy of atom->ntypes 2024-03-28 23:36:13 -04:00
6bdf981942 don't use pow() function for simple square 2024-03-28 23:08:51 -04:00
2219e764ce call utils::logmesg() only on rank 0, use c++ string comparisons, remove debug comments 2024-03-28 22:26:50 -04:00
3aae2d0c4b apply clang-format 2024-03-28 22:09:22 -04:00
379e212135 add system error message with failure to open potential 2024-03-28 22:05:27 -04:00
7c3ac31507 remove dead code 2024-03-28 21:50:40 -04:00
34f88843fa update example logs 2024-03-28 21:50:30 -04:00
a26c281a63 Merge pull request #1 from akohlmey/ml-uf3
Updates for ml-uf3 pull request
2024-03-28 19:23:08 -04:00
ecb5704f25 some formatting and logic cleanup. 2024-03-28 17:32:26 -04:00
a6e5c8b981 update more files and docs for .uf3 potential file extension
also remove redundant files
2024-03-28 17:32:07 -04:00
392c3b6d65 manybody and single flag need to be changed from the default when 2-body/3-body is selected 2024-03-28 17:02:07 -04:00
eb89c7a392 examples folder was moved 2024-03-28 17:01:37 -04:00
a13d53dd65 disable references to cuFFT (which is not yet used) 2024-03-28 16:14:44 -04:00
010a4c076b Prototyping oxidation 2024-03-28 11:31:21 -06:00
2a8a7f6365 Update angle_style.rst
Include link to rst file of the restricted angle potential
2024-03-28 15:47:37 +01:00
720705b7d2 Add files via upload 2024-03-28 15:44:15 +01:00
0893a2d0a0 Add files via upload 2024-03-28 15:43:01 +01:00
f8d8ed0946 use correct character class escapes 2024-03-27 17:52:13 -04:00
3c8ba3d376 Update codeowners so changes to domain can be ported to KOKKOS package 2024-03-27 13:14:52 -06:00
edcbd2e761 Fix bug in Kokkos when shrink-wrapping with no atoms 2024-03-27 13:04:23 -06:00
fca23dac72 some style cleanup and simplified pair_style and pair_coeff input 2024-03-27 07:29:31 -04:00
713b308a99 update ML-UF3 examples 2024-03-27 07:25:36 -04:00
fda433a7ee reformat and fix spelling and related issues 2024-03-27 06:53:03 -04:00
7323364d1d move examples 2024-03-27 06:35:19 -04:00
0d7c41b1c3 update code owners list 2024-03-27 06:30:20 -04:00
f9a0ec83b4 update .gitignore 2024-03-27 06:28:35 -04:00
7e09353e7c add ML-UF3 to compatible CMake preset files 2024-03-27 06:28:23 -04:00
e5ea8c2670 silence compiler warnings 2024-03-27 06:04:56 -04:00
cd154abe73 add "Incorrect format in ... section of data file" to Error_details and url 2024-03-26 23:56:38 -04:00
b01efd96a5 add missing link and expand docs for Unknown identifier in data file error 2024-03-26 23:27:44 -04:00
dc0b0d8be8 Added example potential files for W 2024-03-26 13:18:26 -04:00
ff39a03e83 Removed trailing whitespaces 2024-03-26 13:14:32 -04:00
3a34b3eeaf Added uf3 examples to the examples directory 2024-03-26 12:35:30 -04:00
4e95db1bb7 Added uf3 details to Commands_pair, Packages_details and Packages_list 2024-03-26 12:34:29 -04:00
c4eadd3a59 change ordering of eigenvalues in jacobi3() function. update tests. 2024-03-26 01:52:07 -04:00
45fbe73f2b Simplify output of windows version. If unknown build number just output "Windows Build #####" 2024-03-25 22:48:01 -04:00
b2809996b8 fixed trailing whitespaces 2024-03-25 17:45:06 -04:00
06c4fc6590 Removed LAMMPS errordocs 2024-03-25 17:23:47 -04:00
de43263e28 Fixed lammps developer email-id and contributing authors section. Removed some old comments 2024-03-25 17:18:11 -04:00
d55f750dc6 Fixed typos in the UF3 equation 2024-03-25 15:17:43 -04:00
f3391199e7 correct formatting of tables 2024-03-25 14:26:39 -04:00
5c536c8290 Added ml-uf3 unittest 2024-03-25 12:11:05 -04:00
a720d0dc67 Added ml-uf3 potential files 2024-03-25 12:10:31 -04:00
923e251540 Added documentation for ml-uf3 2024-03-25 12:10:01 -04:00
9a23ddf88a Added ml-uf3 to cmake and make files 2024-03-25 12:08:51 -04:00
53c6959e52 Added src files for uf3/kk 2024-03-25 12:08:07 -04:00
6dded43b2c Added ml-uf3 src files 2024-03-25 12:07:18 -04:00
857298b639 fix typo 2024-03-23 03:38:38 -04:00
3be5008aa8 must skip KOKKOS tests for any ML-IAP inputs using snap descriptors 2024-03-22 23:54:18 -04:00
000c8f510d apply clang-format 2024-03-22 23:38:02 -04:00
7bd7396b6a correct and complete conventional build package logic 2024-03-22 23:29:42 -04:00
e4035dd9d5 correct CMake script logic 2024-03-22 23:19:38 -04:00
7d94880ecd silence compiler warnings and apply clang-format 2024-03-22 22:57:44 -04:00
f2cd41bb1c cleanup 2024-03-22 16:57:39 -06:00
20cfebd6f8 Merge branch 'pace-mliap' of github.com:jmgoff/lammps_compute_PACE into pace-mliap 2024-03-22 16:51:59 -06:00
414d9608f8 fixed whitespace in docs 2024-03-22 16:51:27 -06:00
cb1e18256e Merge branch 'lammps:develop' into pace-mliap 2024-03-22 16:35:31 -06:00
176414b8e7 kokkos error and standard make 2024-03-22 16:33:49 -06:00
0b5722adc0 Allow compute spin for groups other than all 2024-03-22 18:44:12 -03:00
810ae3cc45 Merge pull request #4107 from Yi-FanLi/method_pimd
fix pimd/langevin: improve support for method==pimd
2024-03-22 02:45:57 -04:00
b22205493a Merge pull request #6 from akohlmey/method_pimd
Apply clang-format to your branch
2024-03-21 22:53:15 -04:00
cdab18f31f Merge pull request #4103 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-03-21 19:43:30 -04:00
73eb12a204 apply clang-format 2024-03-21 12:17:06 -04:00
b7def392fb correct p_cv computation for method=PIMD 2024-03-21 11:55:13 -04:00
36358d5b14 Merge branch 'lammps:develop' into pace-mliap 2024-03-21 09:32:33 -06:00
8e3aa79a9e correct remove_com_motion for method=PIMD 2024-03-21 11:32:30 -04:00
5f6d3ad154 allow t_vir and t_cv computation for method=PIMD 2024-03-21 10:58:25 -04:00
a8d07744c0 split compute_cvir into 2 functions 2024-03-21 10:55:48 -04:00
417598498c fix compute pod 2024-03-20 20:01:22 -04:00
0f31a825a5 fix compute 2024-03-20 16:08:13 -04:00
2eb1ce98d9 add compute_t_prim for method=PIMD 2024-03-20 14:06:44 -04:00
b5d769bbbf Revert "Began CGDNA Howto"
This reverts commit c4b96704b27743c4e6b01166ea6d7e7a16480692.
2024-03-20 16:23:17 +00:00
bc436dad3a Added example directory 2024-03-20 16:23:17 +00:00
a3e4788221 Minor edits 2024-03-20 16:23:17 +00:00
add5fc07fd Changed user permissions 2024-03-20 16:23:17 +00:00
eee23b45c9 Began CGDNA Howto 2024-03-20 16:23:17 +00:00
c5fc65433a Updated and added utility scripts 2024-03-20 16:23:17 +00:00
e8606a51da Changed permissions to non-executable 2024-03-20 16:23:17 +00:00
7fa0e7b730 Added script for 2-particle visualisation 2024-03-20 16:23:17 +00:00
d123cd5440 fix typo 2024-03-20 04:57:03 -04:00
2dd9560439 add notes to python versions of lammps_extract_fix() that for global data one can only retrieve scalars 2024-03-19 22:39:05 -04:00
b021543140 fix zero neighbor in compute classes 2024-03-19 19:25:29 -04:00
a37b7754a7 fix a bug due to zero neighbor 2024-03-19 19:17:08 -04:00
d0e2a846b2 cosmetic 2024-03-19 12:04:06 -04:00
f8da51828a fix memory leaks in lammps_gather*concat() functions of the library interface 2024-03-19 12:03:56 -04:00
ee58003800 update electron radius velocities and radii in EFF NH fixes analog to fix nve/eff 2024-03-18 23:37:00 -04:00
a824828ea0 Merge branch 'develop' into collected-small-changes 2024-03-18 22:00:33 -04:00
b620c52b58 Merge pull request #4105 from ndtrung81/gpu-sph-bugfix
Fixed bugs with sph gpu pair styles
2024-03-18 21:59:33 -04:00
e7075163f1 update coding style 2024-03-18 21:51:31 -04:00
8f589ed536 simplify using modern API 2024-03-18 21:51:19 -04:00
6a28e8d5f6 Fixed bugs with sph gpu pair styles 2024-03-18 13:27:21 -05:00
0714c6fb67 Merge pull request #4102 from stanmoore1/teamsize_fix
Fix Kokkos "team size too large" issue
2024-03-18 12:34:45 -04:00
8d4a384f34 Improve cuFFT detection in CMake, similar to HIP 2024-03-18 09:28:53 -06:00
03bbc562ad improve error messages for invalid hybrid sub-styles 2024-03-18 10:46:43 -04:00
41ee1efa13 fix bug in f2c string conversion detected by bound checking 2024-03-18 10:27:38 -04:00
1bdcf7e42e Merge branch 'develop' into general-triclinic 2024-03-17 15:56:38 -04:00
505f7b3cb4 add 'append' keyword for appending to output file 2024-03-17 15:34:32 -04:00
d97c7fffac spelling 2024-03-17 15:13:13 -04:00
1bbe87d9d2 add 'append' keyword for appending to output file 2024-03-17 15:13:04 -04:00
7e163d451e uodate 2024-03-17 10:49:59 -04:00
866c059d2d improve error messages 2024-03-17 01:17:11 -04:00
fce15bf66f add support for appending to files to fix ave/time 2024-03-17 01:17:01 -04:00
2fe23b98f5 modernize and enable clang-format 2024-03-17 00:04:06 -04:00
1211af65a1 Fix Kokkos teamsize too large issue 2024-03-15 12:54:33 -06:00
207a14f351 Merge pull request #4101 from jtclemm/small-patches
Small patches to multi neighbor and fix deform/pressure
2024-03-15 01:39:04 -04:00
252e7070e3 Merge pull request #4099 from akohlmey/collected-small-fixes
Collected small fixes and changes
2024-03-14 19:57:51 -04:00
aa7e2da33d Misc small patches 2024-03-13 15:04:19 -06:00
af5c8bcd22 Merge branch 'develop' into pace-mliap
# Conflicts:
#	src/ML-IAP/compute_mliap.cpp
2024-03-12 09:05:46 -04:00
d0d4cf9ad0 add DOIs for recent stable releases 2024-03-11 22:40:21 -04:00
c3c61a368d Bugfix: both pair hybrid and hybrid/overlay cannot fuse force zeroing 2024-03-11 15:20:42 -06:00
b23c586236 mliap ace docs and example logs 2024-03-11 13:34:29 -06:00
5b16cf9773 use std::move() to avoid extra copy of temporaries 2024-03-10 16:19:22 -04:00
1b7bc36505 Fix variables compatibility with chunk arrays
When using variables with chunk computes that produce arrays (such as `compute chunk/atom`) the compute will not have set `size_array_rows` to the appropriate value before it has ever been called and will therefore incorrectly have thrown the error "Variable formula compute array is zero length".
2024-03-10 12:56:33 +01:00
01d412bdbf Merge branch 'develop' into general-triclinic 2024-03-08 21:32:01 -05:00
e7d77b6244 enable and apply clang-format, revert to some older code constructs where equivalent 2024-03-08 12:23:02 -05:00
bd0eb1ec84 silence compiler warning, cosmetic 2024-03-08 12:13:43 -05:00
94e9fe5df3 flag error with explanation when removed keyword "reax/c" is used instead of a file not found 2024-03-08 12:13:42 -05:00
8819275824 Merge pull request #3989 from evoyiatzis/patch-8
Addition of conical geometry in fix indent
2024-03-08 12:10:52 -05:00
01628dfc61 removing whitespaces in fix_indent.h 2024-03-08 15:46:27 +01:00
ebe57ce9eb removing whitespaces - fix_indent.cpp 2024-03-08 15:45:46 +01:00
ba5c1a4ac3 minor modifications in fix_indent.rst 2024-03-08 15:35:48 +01:00
bd99c2d661 Merge pull request #4097 from wmbrownIntel/numa_tune
Changes for processors grid numa style
2024-03-07 14:19:12 -05:00
4cab391f2a Merge pull request #4096 from stanmoore1/kk_update_4.2.1
Update Kokkos library in LAMMPS to v4.2.1
2024-03-07 13:42:24 -05:00
8ab2544f5b Add option to specify # of numa domains for processors grid numa style, simplify numa mapping with more agressive optimization to reduce comm between numa domains. 2024-03-07 07:07:16 -08:00
6dcfcc1a83 Update CMake 2024-03-06 17:57:10 -07:00
6cc9a4c7b7 Update Kokkos library in LAMMPS to v4.2.1 2024-03-06 14:58:06 -07:00
9d9dbc1fa8 Merge pull request #4094 from akohlmey/collected-small-fixes
Collected small changes and fixes
2024-03-06 15:03:17 -05:00
c984d5c94a improved revision of write_dump output frequency setting for 64-bit timesteps 2024-03-06 11:13:50 -05:00
ea52699893 collapse the two /report styles into a single "report" style 2024-03-05 19:02:11 -05:00
20d95cd17f whitespace 2024-03-05 18:30:07 -05:00
c6f90b2ae3 Merge branch 'develop' into collected-small-fixes 2024-03-05 18:27:20 -05:00
7e8b243891 make use of ..versionadded/..versionchanged consistent with the rest of LAMMPS 2024-03-05 18:26:41 -05:00
0dc6e156c1 add balance styles shift/report and rcb/report for reporting imbalances only 2024-03-05 18:24:38 -05:00
e0c0b2fe7e fix cmake syntax error 2024-03-05 15:28:21 -05:00
1909233c69 Merge pull request #4095 from robeme/electrode
Update for the ELECTRODE package
2024-03-05 10:25:39 -05:00
ad55bb4b8f Mention CMake in electrode README 2024-03-05 09:58:27 +01:00
1949953c0c Clarifying more variables, enabling offset option with integration style 2024-03-04 23:38:55 -05:00
a4a171a55e Clarifying ambiguous variables 2024-03-04 23:38:47 -05:00
5177b50fda Updating multi+narg errors for fix nonaffine 2024-03-04 23:38:40 -05:00
c7b622699d regenerate test reference data 2024-03-04 09:46:34 -05:00
393fd164db small conding style updates 2024-03-04 09:46:14 -05:00
0a32cd6c7f avoid redundant constant definition 2024-03-04 09:45:54 -05:00
3f91ee142b Merge branch 'develop' into electrode 2024-03-04 09:31:07 -05:00
6a1f1f7dbc add missing symlink 2024-03-04 09:25:07 -05:00
8e6ce1d0b9 Remove nonneut examples 2024-03-04 08:52:05 +01:00
6e91123910 try a different workaround for "fix not computed at compatible time" with write_dump 2024-03-03 23:58:33 -05:00
3c8bb5a1be programming style update 2024-03-03 18:39:28 -05:00
e19ad38c14 fix missing thread initialization exposed by LAMMPS-GUI 2024-03-03 18:36:15 -05:00
d33519e882 correct and clarify 2024-03-03 16:47:44 -05:00
9628ad6caf recover compilation 2024-03-03 12:59:17 -05:00
60e5124ac2 compute composition/atom doesn't seem to be compatible with multi neighbor lists 2024-03-03 12:51:48 -05:00
372260ec77 error out in compute ave/sphere/atom and efield/wolf/atom with multi-cutoff neighborlists 2024-03-03 12:46:20 -05:00
2809428fe2 make computes rdf and adf error out multi cutoff neighbor lists if needed 2024-03-03 12:27:39 -05:00
a776d8425f initialize pointers to null 2024-03-03 11:28:49 -05:00
4a993483fc remove dead code 2024-03-03 11:25:01 -05:00
e51e2733cb add note for porting code containing the removed Atoms::count_words() functions 2024-03-03 07:47:14 -05:00
ccdf55151d modernize 2024-03-02 15:59:37 -05:00
45e8ee1c08 disallow using custom cutoff with multi cutoff neighbor lists 2024-03-02 15:53:21 -05:00
133ec34bf5 update 2024-03-01 19:01:48 -05:00
00b0c439ed improve error messages 2024-03-01 18:54:43 -05:00
2c9dfa3ea7 update MS-MEAM examples 2024-03-01 18:54:35 -05:00
93942f2013 Added override for ialloy default with MS-MEAM
# Conflicts:
#	doc/src/pair_meam.rst
2024-03-01 18:32:16 -05:00
554f53decb Merge pull request #4092 from stanmoore1/comm_tiled
Add better Kokkos support for comm_style tiled
2024-03-01 08:58:39 -05:00
7064e1e2b6 make searches for drude fix more specific to avoid false positives 2024-03-01 07:33:48 -05:00
6f03b22b43 Merge branch 'develop' into comm_tiled 2024-03-01 03:03:47 -05:00
b0ca503173 Merge pull request #4090 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-03-01 03:01:49 -05:00
259bcfba1f remove one more unused class member 2024-02-29 22:45:32 -05:00
b15956c13c remove unused class members 2024-02-29 22:26:40 -05:00
f5b1813f14 silence compiler warnings 2024-02-29 18:38:31 -05:00
efcee365c1 Fix issue 2024-02-29 14:06:21 -07:00
4f0d30b8d6 Fix data transfer issue 2024-02-29 11:01:18 -07:00
2130ffaa11 Fix compiler warning 2024-02-28 16:02:52 -07:00
a261a6c34c whitespace fixes 2024-02-28 17:45:41 -05:00
1bba2c9e06 third and final round of include-what-you-use updates 2024-02-28 17:40:17 -05:00
0d37dddc9e restore correct formatting to meam_force.cpp and port changes to KOKKOS 2024-02-28 17:19:52 -05:00
37c0795691 Fixed additional errors with multicomponent systems, making msmeamflag independent of ialloy 2024-02-28 17:02:09 -05:00
81a684f572 assign ownership for compute reaxff/atom and reaxff/atom/kk 2024-02-28 15:59:31 -05:00
0ce25755cd second round of include-what-you-use updates 2024-02-28 15:37:13 -05:00
1359c52f30 include-what-you-use updates 2024-02-27 23:42:24 -05:00
5967865af9 remove unused class member 2024-02-27 22:42:13 -05:00
9a0ce2d5c7 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2024-02-27 20:57:03 -05:00
73e42481f7 modernize and consolidate ML compute styles 2024-02-27 20:55:52 -05:00
eb9b1e163d modernize and coding style/formatting improvements 2024-02-27 20:55:28 -05:00
4dbfa5483b Fix memory leak 2024-02-27 14:50:20 -07:00
7593f0df22 Merge branch 'develop' of github.com:lammps/lammps into comm_tiled 2024-02-27 14:15:58 -07:00
86b7560740 Init pointers, etc. 2024-02-27 14:13:27 -07:00
6972758783 whitespace 2024-02-27 09:38:22 -07:00
369aae91d3 Remove unnecessary destroys 2024-02-27 09:31:53 -07:00
f1ed2f20a1 Add back in legacy functions needed for mliap 2024-02-27 09:31:39 -07:00
e1a3ed6602 modernize and coding style/formatting improvements 2024-02-27 10:38:39 -05:00
1baa6cc166 remove dead code from fix bocs 2024-02-27 10:29:35 -05:00
0096c06def Merge branch 'develop' into collected-small-changes 2024-02-26 20:02:29 -05:00
4d89741d8c Merge pull request #4091 from jtclemm/BPM
Small fixes to GRANULAR/BPM packages
2024-02-26 20:01:57 -05:00
53219b299b Unused var 2024-02-26 17:16:28 -07:00
14066e018f Fix indexing issue 2024-02-26 17:15:04 -07:00
07731d8112 Whitespace 2024-02-26 16:34:49 -07:00
214ea5209e Missed changes 2024-02-26 16:34:42 -07:00
5ad4545273 fix where initialization of options is done 2024-02-26 16:07:14 -07:00
363db81be1 tweak a comment 2024-02-26 16:05:19 -07:00
4e77556610 minor changes to source and doc files 2024-02-26 15:59:03 -07:00
82762937a8 Add better Kokkos support for comm_style tiled 2024-02-26 15:37:22 -07:00
bd9f6993e3 whitespace 2024-02-26 17:14:44 -05:00
3d55fc4ec2 Merge branch 'develop' into collected-small-changes 2024-02-26 17:14:18 -05:00
e9deaa83d1 Merge pull request #4088 from sakibmatin/debug
Fix for force calculation and memory bug (atom name definition) in mliap.
2024-02-26 16:46:36 -05:00
719b7a96f1 silence compiler warnings 2024-02-26 16:45:01 -05:00
73ae3200d0 incorporating feedback 2024-02-26 12:09:19 -07:00
35db949e77 Merge pull request #4069 from vladgl/fix_wall_flow
New fix implementing flow boundary conditions
2024-02-26 12:46:20 -05:00
8501c3de6c Merge pull request #4087 from akohlmey/add-rebomos-pair-style
Add rebomos pair style with examples and unit test
2024-02-26 11:38:10 -05:00
f532a513da only import used constant 2024-02-26 07:58:53 -05:00
2bc5a04214 fix conversion bug when input is in radians 2024-02-26 07:54:25 -05:00
5aae41a08c remove obsolete comment 2024-02-26 06:50:36 -05:00
b22ce0f4be use platform neutral CMake property to export symbols 2024-02-25 21:58:35 -05:00
725156753a remove superfluous warning 2024-02-25 21:51:34 -05:00
86ea5271d6 portability 2024-02-25 21:19:13 -05:00
b8c8b4d19b use -rdynamic for re-exporting symbols when using plugins 2024-02-25 21:11:31 -05:00
e7b0c8b3c5 synchronize LAMMPS C++ interface CMake modules 2024-02-24 17:29:25 -05:00
aaba736967 Fixed error in forces that only affects non-zero t1m MS-MEAM models 2024-02-24 17:03:06 -05:00
98b3d19c40 link with static liblammps.a when available to avoid dynamic linker error when loading plugins 2024-02-24 17:01:53 -05:00
01d9f78e69 correct citation 2024-02-24 14:34:40 -05:00
c869783e72 warn about building LAMMPS with shared lib support for plugins 2024-02-24 09:21:20 -05:00
d39158ca08 modernize 2024-02-24 03:38:48 -05:00
9c7ec8bb6c must update docs for code changes 2024-02-23 21:55:09 -05:00
6c3c724f9c Merge pull request #4086 from akohlmey/collected-small-fixes
Collected small fixes and updates
2024-02-23 21:51:49 -05:00
04bccd0a9f whitespace 2024-02-23 19:08:46 -05:00
b7153eebee simplify and check for triclinic again, since somebody may have used change_box 2024-02-23 19:04:14 -05:00
66701ef1e2 complete rebomos docs 2024-02-23 17:29:31 -05:00
c401dc31d6 bump maxelt to 8 (for folks simulating high-entropy alloys) and make it uppercase 2024-02-23 17:05:20 -05:00
dda2bc7ac7 Mirroring changes in doc 2024-02-23 14:50:28 -07:00
a3f2c5b884 no longer need to boost neighbor one in rebomos unit test 2024-02-23 16:48:03 -05:00
6ea1bcf9d9 Clarifying trace notation in fabric 2024-02-23 14:45:21 -07:00
74abb18e69 improve error messages for pair style airebo and variants 2024-02-23 16:44:15 -05:00
dd4cd240df Moving temp/heat keywords out of dump to compute prop/atom 2024-02-23 14:31:40 -07:00
f9ecdb5b54 Updated documentation 2024-02-23 15:21:56 -06:00
5de6853684 fix typo 2024-02-23 16:05:30 -05:00
c36650fc88 auto-assign @jtclemm when fix deform/pressure is edited 2024-02-23 15:55:44 -05:00
3e089496b3 modernize and address issues flagged by static code analysis 2024-02-23 15:52:54 -05:00
fef2150bfb Fixing rare precision error in Tsuji damping 2024-02-23 13:29:18 -07:00
b3de75da97 Cleaning up math, fixing tension bug, patching bond creation 2024-02-23 13:26:28 -07:00
7d5931def3 Added example folders tested 2024-02-23 08:16:55 -06:00
f864963ab9 removed old comments. 2024-02-22 22:03:29 -07:00
b016eaa1cf cosmetic 2024-02-22 15:20:51 -05:00
49886caaf1 add OPENMP package version of pair style rebomos 2024-02-22 15:17:46 -05:00
3e512834c7 cosmetic 2024-02-22 14:09:50 -05:00
22d0b202c4 update example logs for change in cutoff setting 2024-02-22 13:37:59 -05:00
36fa601fe0 cutoff calculation inherited from but only required for AIREBO. up to 2x speedup 2024-02-22 13:33:04 -05:00
bed84841ad update comment header to point to the LAMMPS developers email address 2024-02-22 09:57:42 -05:00
3a82e76607 small corrections 2024-02-22 09:15:18 -05:00
d6d9a91126 add rebomos potential with examples and unit test 2024-02-22 09:13:21 -05:00
325a7d99d6 error out when cuFFT is not found 2024-02-22 07:47:37 -05:00
3ff2b1b43b silence compiler warnings 2024-02-22 05:07:08 -05:00
00615d94ad Merge branch 'develop' into collected-small-fixes 2024-02-22 04:56:43 -05:00
71e0d506e7 spelling 2024-02-22 04:56:27 -05:00
f15acfffaf Merge branch 'develop' into fix_wall_flow 2024-02-22 04:51:43 -05:00
5cadcbfd68 silence compiler warnings 2024-02-22 04:51:35 -05:00
6af4dac2e5 Error::all() must be called by all MPI ranks 2024-02-22 04:41:16 -05:00
86d306b502 avoid excessive copies 2024-02-22 04:40:55 -05:00
a466d74f31 document requirement of per-type masses 2024-02-22 04:34:22 -05:00
f1a5dd0479 Change warnings to errors 2024-02-22 12:28:23 +03:00
6ac24c297a Add check for varying box size 2024-02-22 11:50:05 +03:00
e51a65696d Merge pull request #4017 from jtclemm/stress_deform
Expanding deformation controls
2024-02-21 21:04:50 -05:00
14348a599c monte carlo insertions and pair style dsmc require per-type masses 2024-02-21 20:59:48 -05:00
71385add8b integrate into documentation system. correct links/references. 2024-02-21 17:50:55 -05:00
b9685e79ea Merge branch 'develop' into stress_deform 2024-02-21 17:35:39 -05:00
06b69f2d40 whitespace 2024-02-21 17:35:28 -05:00
835b65b644 Merge branch 'develop' into general-triclinic 2024-02-21 14:53:32 -07:00
11675587df tweak to underlining 2024-02-21 14:28:53 -07:00
cd4c97f8d8 doc adjust and code comments 2024-02-21 14:18:26 -07:00
0f34c1ec6e Add check for triclinic and periodic boundary 2024-02-21 21:16:21 +03:00
e20ea968b9 Add some clarifications to the doc 2024-02-21 20:49:19 +03:00
81609d04e3 Merge pull request #4080 from rbberger/compute_reaxff_atom_overflow_fix
Fix buffer overflow in compute reaxff/atom
2024-02-21 10:51:37 -05:00
e143bbb4dd use a more "CMake" way to link to cuFFT with check in CMake config run 2024-02-21 10:49:31 -05:00
16b631858f fix typo 2024-02-21 10:02:01 -05:00
4c0952dc70 Doc file updates, reverting h_rate initialization 2024-02-20 21:02:55 -07:00
e64f82a2bd Merge branch 'develop' into collected-small-fixes 2024-02-20 20:45:15 -05:00
08498637aa Merge pull request #4079 from stanmoore1/atom_map_host
Add Kokkos package option to build atom map in serial on CPU
2024-02-20 20:35:34 -05:00
ad9a107530 Merge pull request #4084 from S-Lykles/create_atoms_template_fix
Create atoms template check
2024-02-20 20:20:40 -05:00
9cf4f688d9 improve some explanations for KOKKOS package usage. 2024-02-20 11:38:32 -05:00
d38b3ffd82 remove dead code 2024-02-20 05:14:58 -05:00
00c263cd7b Merge pull request #4085 from lammps/varbug
Fix a bug with removing variables when a vector variable is defined
2024-02-20 05:00:45 -05:00
62968ebcd4 improve readability 2024-02-19 23:17:37 -05:00
46cacf089e whitespace 2024-02-19 21:41:29 -05:00
7a5fa7ca54 not a bug but change variable evaluate local ivar to jvar to avoid code confusion 2024-02-19 17:34:43 -07:00
d70a98561f fix bug in removing a variable 2024-02-19 17:33:51 -07:00
c115cdb18d Move check to be with other checks 2024-02-20 00:55:15 +01:00
aafe28da4d change wording 2024-02-19 23:41:12 +01:00
6b6afe3034 change error to be similar to fix pour and fix deposit 2024-02-19 23:28:22 +01:00
0fed131e52 Update docs of create_atoms 2024-02-19 22:39:28 +01:00
1f0194a218 Add template compatibility check to create_atoms mol 2024-02-19 22:39:08 +01:00
afc82b5fd6 include versionadded tag for new keyword 2024-02-19 13:52:35 -05:00
ec0535172c whitespace 2024-02-19 12:54:59 -05:00
e299e4967d Merge pull request #4074 from bathmatt/bounds-mliap
fixed bounds of loops in ML-IAP
2024-02-19 12:45:30 -05:00
fb1e6610ed edits of doc page for clarity 2024-02-19 10:36:15 -07:00
49ece2af25 Merge pull request #4082 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-02-19 12:12:42 -05:00
1edec590bb Logs for eta mix example 2024-02-19 15:01:51 +01:00
81c6e5c51b add examples using the inputs keyword 2024-02-17 12:14:09 -05:00
7a836c7e69 Update docs 2024-02-16 13:15:40 -07:00
e5bb507d3d add clarifications 2024-02-16 14:31:35 -05:00
f38f2ef4f2 Fix bug 2024-02-16 12:02:06 -07:00
703ea412cb Need to clear atom map in exchange 2024-02-16 10:32:05 -07:00
1ad608c7cf Merge pull request #1 from bathmatt/bounds-mliap
Bounds mliap
2024-02-16 10:15:20 -07:00
e03534196a Remove duplicated code 2024-02-15 17:15:18 -07:00
8c242e7ee8 Fix some issues 2024-02-15 16:45:10 -07:00
90ebca63f3 Fix buffer overflow in compute reaxff/atom 2024-02-15 14:27:52 -07:00
a452ddc667 Tweaks 2024-02-15 13:01:43 -07:00
804ad0aec2 Merge remote-tracking branch 'matt-github-lammps/bounds-mliap' into bounds-mliap 2024-02-15 18:08:32 +01:00
2625d946e3 Fixed typo 2024-02-15 18:06:45 +01:00
e94d89ee3c added mliap_enable_ace to opt in/out of ace functionality in mliap 2024-02-14 17:02:07 -07:00
072b0374e7 do not check for cmath with Intel compilers but assume it is there 2024-02-14 18:55:19 -05:00
ae39eb6569 include missing source file when compiling INTEL package 2024-02-14 18:54:59 -05:00
6ebc32fa29 Update docs 2024-02-14 16:50:52 -07:00
52aefdd117 Add Kokkos package option to build atom map in serial on CPU 2024-02-14 16:42:45 -07:00
f19d9a9f4e ACE mliap examples 2024-02-14 16:18:56 -07:00
414fdeb3ee cleanup and whitespace 2024-02-14 15:42:04 -07:00
e5fbd15b9d ACE mliap examples and virial support 2024-02-14 15:06:01 -07:00
57321b308f OpenMP library is not (yet) properly detected for CrayClang. Work around it. 2024-02-14 13:40:57 -05:00
0591e4a6d4 flag as development branch 2024-02-14 12:36:34 -05:00
4f07f74f52 clean up redundant variables 2024-02-13 19:00:19 -05:00
0951e28a08 Merge branch 'develop' into replicate_periodic_box 2024-02-13 18:52:43 -05:00
254a849a29 Merge pull request #4077 from akohlmey/fix_ewald_const_issue
Fix compilation issue for some pair styles using ewald_const.h
2024-02-13 18:51:38 -05:00
be237f88f6 update kokkospod 2024-02-13 18:49:11 -05:00
443c40b98d Merge branch 'lammps:develop' into create_atoms-overlap_w_mol 2024-02-13 18:47:15 -05:00
382a449f58 Merge branch 'lammps:develop' into fix_reaxff/species-fixes 2024-02-13 18:46:04 -05:00
4188e12522 whitespace 2024-02-13 10:27:57 -07:00
5b645b631b add detection for CrayClang to the OpenMP compatibility check 2024-02-13 11:09:25 -05:00
0273fb4ad4 flag as update 1 version 2024-02-13 08:22:05 -05:00
a48da5b1e4 move ewald_const.h to src and apply it to a few more files 2024-02-13 08:02:32 -05:00
3454e1fce5 update pod 2024-02-13 00:45:08 -05:00
9c7b169003 Renamed the log files under examples/bpm 2024-02-12 19:43:05 -06:00
c6a8f1fe58 Merge pull request #4073 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-02-12 14:14:04 -05:00
adea2fc7f3 fixed bounds 2024-02-12 11:49:43 +01:00
8f848d9a81 update to use modernized APIs without directly accessing internal data of Modify 2024-02-09 15:36:15 -05:00
17ea598613 update API access to fixes and computes. improve error messages. 2024-02-09 15:30:57 -05:00
5aca8099e6 avoid installing libraries and headers for downloaded add-on libraries 2024-02-09 13:38:12 -05:00
1421d53b8c fix bug with assigning molecule IDs in parallel 2024-02-09 11:04:07 -05:00
524470f9fc document restriction for molecule sets. improve warning message. 2024-02-09 11:03:44 -05:00
245f8c2fad silence compiler warnings 2024-02-09 10:43:38 -05:00
69a999e565 remove dead code 2024-02-09 08:19:58 -05:00
a2ae9dce64 apply clang-tidy fixes 2024-02-09 06:29:08 -05:00
f8885cb266 implement clang-tidy fixes 2024-02-09 06:22:10 -05:00
c7831b29c0 Fix formatting issues 2024-02-09 13:28:35 +03:00
9c6e88f575 use plumed version 2.8.3 by default 2024-02-09 05:09:47 -05:00
be742253e2 Fix bug with the masses of the atoms 2024-02-09 13:05:45 +03:00
6aad6177b0 Remove accessing internal data of the Modify class 2024-02-09 12:31:19 +03:00
cba3c91b51 Remove lambda 2024-02-09 12:29:10 +03:00
5839b67d27 Simplify the code and remove redundant include 2024-02-09 12:26:40 +03:00
801c62dbde updated library for better Windows portability 2024-02-09 04:14:14 -05:00
022cedeff0 Remove debug output 2024-02-09 12:08:36 +03:00
953e01d2c4 Linux to Windows cross-compilation is only supported by CMake 2024-02-09 03:44:01 -05:00
11580aea57 update OpenCL loader library to latest upstream version 2024-02-09 03:39:44 -05:00
3358fe36d1 Fixing bugs in child arg parsing 2024-02-08 21:27:58 -07:00
dd6df6edb2 Merge branch 'develop' into fix_wall_flow 2024-02-08 17:52:16 -05:00
c967a5e6cc flag development version 2024-02-08 12:47:52 -05:00
e7f0f9be5a Added another example of a config file 2024-02-08 11:37:49 -06:00
a1f38b9a75 Captured output of the test run, reported if the run failed (e.g. missing packages) 2024-02-08 11:29:26 -06:00
f141543659 Looped over all the runs in an input script, made more descriptive output 2024-02-08 11:12:54 -06:00
ae666de3f7 small optimization and portability to Solaris/OpenIndiana 2024-02-07 22:57:12 -05:00
77ec384620 include kk suffix 2024-02-07 19:58:05 -05:00
843fe4f9e8 remove dead code 2024-02-07 19:57:51 -05:00
b5a1c1abba Merge pull request #4071 from akohlmey/next_release
Update version tags and strings for the next feature release
2024-02-07 18:49:29 -05:00
c81d3ecb06 Merge pull request #4072 from stanmoore1/fft_issue
Fix issue from #4007
2024-02-07 17:32:49 -05:00
420498edbc Remove duplicated code; MIN/MAX defined in pointers.h 2024-02-07 14:51:05 -07:00
244c72afd9 Counted the total num checks per test 2024-02-07 15:42:15 -06:00
051167a14c Supported JUnit XML output 2024-02-07 15:20:55 -06:00
93fcf3cc75 move fix to EXTRA-FIX package, update docs, add reference logs to example 2024-02-07 15:07:11 -05:00
700011f19f Merge branch 'develop' into fft_issue 2024-02-07 14:49:32 -05:00
9f8d7d2956 replace random_external_state.h include from fix_shardlow.h with type declaration 2024-02-07 14:49:05 -05:00
72e3dc50ac Merge pull request #4070 from akohlmey/silence-warnings
Silence some compiler warnings and remove dead code
2024-02-07 14:22:48 -05:00
35fe562bdf Fix issue from #4007 2024-02-07 11:47:44 -07:00
194b45b729 Example file 2024-02-07 09:52:02 -06:00
26cff47386 Removed whitespace 2024-02-07 09:45:29 -06:00
e33590b2fc Whitespace 2024-02-07 16:03:32 +03:00
df7662162e Add example 2024-02-07 13:55:27 +03:00
5bab14d31e Sync unpack_exchange_kokkos with develop 2024-02-07 13:55:27 +03:00
a3a054cc15 Another spell fix 2024-02-07 13:55:27 +03:00
0f5436de99 Fix spelling 2024-02-07 13:55:27 +03:00
4ad5a9d3eb Fix doc 2024-02-07 13:55:27 +03:00
90105fd58a Add wall_flow documentation 2024-02-07 13:55:27 +03:00
c53847ad88 Update citation 2024-02-07 13:55:27 +03:00
381330c3c2 Fix typo 2024-02-07 13:55:27 +03:00
249f3b0af4 Add units command 2024-02-07 13:55:27 +03:00
d7f7306b7d Fix character 2024-02-07 13:55:27 +03:00
19e45187f8 Add cite string 2024-02-07 13:55:27 +03:00
70cc1039fd Some cleaning 2024-02-07 13:55:27 +03:00
b775085189 Add licensing info 2024-02-07 13:55:27 +03:00
ec29117409 Add new fix wall/flow 2024-02-07 13:55:27 +03:00
1eeb7ab19e update version tags for feature release 2024-02-07 05:03:20 -05:00
ff5aa34f5a remove some dead code 2024-02-07 04:39:42 -05:00
6ecc348a66 final changes so MGPT compiles without warnings with and without timings enabled 2024-02-07 04:22:09 -05:00
9921338ee1 update log files for MGPT package 2024-02-07 03:57:12 -05:00
7886327243 reduce warnings in MGPT package 2024-02-06 20:45:49 -05:00
031cef558e silence unused parameter warnings in the gpu lib tree 2024-02-06 20:18:43 -05:00
fc1132b083 fix bug that by chance has no unwanted side effects 2024-02-06 19:37:15 -05:00
49dcefa83b add missing override keywords 2024-02-06 19:36:35 -05:00
dbdcfc5c97 Merge branch 'develop' into general-triclinic
# Conflicts:
#	src/atom.cpp
2024-02-06 19:21:50 -05:00
febb3671d8 removed whitespace 2024-02-06 18:03:17 -06:00
b9ec85427d Merge pull request #4007 from hagertnl/issue3775_fft_kokkos
KSPACE: decouple KOKKOS and non-KOKKOS FFT
2024-02-06 19:01:15 -05:00
c1024c811f Fix name issue 2024-02-06 14:05:04 -07:00
2f4dbdceb6 Remove redundant checks 2024-02-06 13:28:33 -07:00
19a5de1be6 silence compiler warning 2024-02-06 15:11:31 -05:00
5adbc09b71 Move warning to avoid multiple instances 2024-02-06 12:33:01 -07:00
d3784154bf Merge pull request #4041 from akohlmey/test-fix-numdiff
Add fix numdiff based tests for bonded interactions
2024-02-06 14:15:28 -05:00
4b0c1f2605 Merge branch 'develop' of github.com:lammps/lammps into issue3775_fft_kokkos 2024-02-06 12:09:55 -07:00
beaab56826 Move define checks 2024-02-06 12:08:00 -07:00
46b39d2ca4 Add warning 2024-02-06 12:07:48 -07:00
98876e0e2f Merge pull request #4067 from akohlmey/remove_unused_const
Remove unused constants
2024-02-06 13:38:24 -05:00
431788db49 Need bifactor duplicated code 2024-02-06 11:31:16 -07:00
34cd8ad3bc Small cleanup 2024-02-06 11:01:42 -07:00
7fdc09608b add notes about using static constexpr to programming style guide 2024-02-06 12:16:57 -05:00
e95d52780c fix grammar error 2024-02-06 11:47:58 -05:00
0bb6be5dd9 provide a more detailed description of the bundled tests 2024-02-06 11:37:41 -05:00
5773e35892 recover compilation of MPI stubs on older systems that don't default to C++11 2024-02-06 09:36:35 -05:00
def362ffa4 a few final updates 2024-02-06 05:45:58 -05:00
d2def08778 a few more define to constexpr translations 2024-02-06 05:38:14 -05:00
2059b85e22 avoid uninitialized data access 2024-02-06 05:13:32 -05:00
f6ce3ae45e some more constant cleanups 2024-02-06 05:13:12 -05:00
eb9412f507 even more constant cleanup 2024-02-06 00:57:46 -05:00
2760480630 more constant cleanups 2024-02-06 00:28:58 -05:00
187a35d7b2 convert a few more defines to static constexpr 2024-02-05 23:57:41 -05:00
d1f1cf4012 silence compiler warnings 2024-02-05 23:22:07 -05:00
ad855ad7ea remove unused constants 2024-02-05 20:26:23 -05:00
de39bcc1fd update documentation 2024-02-05 17:37:53 -05:00
11b2538cdb print fft info also with -help flag, using single function to create string 2024-02-05 17:32:45 -05:00
5137e86972 en models incorporated 2024-02-05 16:30:44 -06:00
efbc0e0579 whitespace 2024-02-05 17:22:53 -05:00
3c184aac84 add fft support to info command 2024-02-05 16:45:01 -05:00
960b22763d Merge branch 'develop' into issue3775_fft_kokkos 2024-02-05 16:05:59 -05:00
8d673bdfcf Merge pull request #4063 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-02-05 11:00:17 -05:00
094d099699 update author credits 2024-02-05 10:11:01 -05:00
63f33aa3a4 first 2024-02-04 16:29:19 -06:00
e5abfda823 cosmetic 2024-02-03 17:47:00 -05:00
1afb9e9dcb Revamping arg parsing in child class, updates to doc pages 2024-02-02 17:10:35 -07:00
ac8f02ec5a correct comment 2024-02-02 12:17:58 -05:00
82f106c12a ensure that the "timeremain" thermo keyword never reports a negative remaining time 2024-02-02 11:53:40 -05:00
33e57e50e8 cosmetic 2024-02-01 20:15:15 -05:00
2c9e652772 fix uninitialized data bug when using a child class 2024-02-01 20:15:04 -05:00
ace87d2bb8 Only printed out all the quantities being checked with verbose on 2024-02-01 17:21:30 -06:00
621a4e406f Handled exception with the yaml load 2024-02-01 15:22:46 -06:00
8a9dfe8d11 silence compiler warning 2024-02-01 12:30:43 -05:00
ccd50a8958 add workaround for Cray's Clang based compiler to compile fmtlib 2024-02-01 12:12:03 -05:00
d490d24bba update CMake script code to automatically chose heFFTe backed based on FFT choice 2024-02-01 12:10:53 -05:00
06521d9d0d Merge pull request #4062 from rbberger/update_hip_detection
Remove HIP_PATH requirement from CMake build
2024-02-01 08:34:15 -05:00
adc79272c9 update log files for current code 2024-02-01 00:12:04 -05:00
17f869bf5e fix issues with reading and writing data files for systems without atom IDs 2024-01-31 20:20:35 -05:00
5599d1843a update syntax 2024-01-31 19:56:36 -05:00
677c8258e2 fix cmake issues: always build static heFFTe libs, fixup git hash, cmake output 2024-01-31 16:19:55 -05:00
911227a981 Cleaned up and expanded the set of examples being tested 2024-01-31 14:47:11 -06:00
b1688d4287 Merge branch 'upstream' into regression-tests 2024-01-31 13:48:49 -06:00
829708bd71 Allowed to specify example folders from arguments 2024-01-31 13:46:34 -06:00
e9dc5bafff Improved failed test info 2024-01-31 13:06:04 -06:00
de7c459b2f consolidate FFT settings in headers 2024-01-31 13:28:41 -05:00
e319555f64 merge lmpfftsettings_kokkos.h into lmpfftsettings.h 2024-01-31 12:54:03 -05:00
23ed9a0980 Merge branch 'develop' into issue3775_fft_kokkos 2024-01-31 12:39:02 -05:00
cfe6afe665 Used the absolute path for the lammps binary, no need for symbolic links 2024-01-31 11:03:23 -06:00
5b6c0c6b56 Check eta property for fix electrode uses ghost on 2024-01-31 15:42:10 +01:00
35215606e8 Merge remote-tracking branch 'lammps/develop' into merge-develop 2024-01-31 14:41:36 +01:00
e649c0e070 consistent error messages for parent and child class 2024-01-30 20:04:07 -05:00
bff789aac9 silence compiler warnings and update format 2024-01-30 20:03:26 -05:00
840577114e force enumerators to be consistent by moving them to base class declaration 2024-01-30 19:38:58 -05:00
9d46408fa4 delete unused variables 2024-01-30 19:23:40 -05:00
103dc9ef66 fix missing "else" bug 2024-01-30 19:21:48 -05:00
cbf56bd7f8 Merge branch 'develop' into stress_deform 2024-01-30 18:56:19 -05:00
91d292fb7c Tested with more example subfolders 2024-01-30 17:08:24 -06:00
a835c5f3d9 Restoring some error message locations, minor edits 2024-01-30 15:50:40 -07:00
7f152de062 Rewiring arg parsing and data ownership 2024-01-30 15:29:02 -07:00
293e930cb0 Expanded the tests for more subfolders, need to check if there is an existing log file with matching nprocs 2024-01-30 14:01:43 -06:00
c0fc4c8908 Cleaned up and tested with micelle and melt under examples 2024-01-30 13:07:57 -06:00
1cecfb9df1 Merge branch 'develop' into test-fix-numdiff 2024-01-30 04:30:48 -05:00
c0b16acb7e Merge branch 'develop' into collected-small-changes 2024-01-30 00:23:01 -05:00
52de76d97b Merge pull request #4015 from srtee/develop
add border information to Atom::add_custom and Atom::find_custom
2024-01-29 22:46:05 -05:00
6927934243 make estimated accuracy output more readable 2024-01-29 21:12:41 -05:00
7905e5d146 Merge branch 'develop' into general-triclinic
# Conflicts:
#	src/atom.cpp
2024-01-29 21:05:21 -05:00
153e30227e Added function to extract output from an existing log file into a yaml data structure, working on in place testing 2024-01-29 18:07:21 -06:00
c43b10f952 Merge branch 'develop' into srtee_develop 2024-01-29 17:37:54 -05:00
ba4174f474 Added tolerances to the config file 2024-01-29 15:25:52 -06:00
87fd1c63df whitespace 2024-01-29 15:52:04 -05:00
ef1857d50d programming style updates 2024-01-29 15:48:30 -05:00
a83a5165ee simplify 2024-01-28 11:30:11 -05:00
75c20aa5a5 Merge branch 'develop' into test-fix-numdiff 2024-01-26 23:21:44 -05:00
84f86c2c15 improve error message 2024-01-26 23:18:15 -05:00
a2b7a49c90 Remove HIP_PATH requirement from CMake build
It is not recommended to set the HIP_PATH environment variable anymore as it
may break hipcc in some cases.

We only used it for adding the necessary CMAKE_PREFIX_PATH, which after the
folder structure reorganization in 5.x was pointing to the same location
anyway.

Closes issue #3986
2024-01-26 15:19:41 -07:00
5c43b56699 silence compiler warning 2024-01-26 16:47:22 -05:00
2ea200dc01 add ghost check to redID in pair_amoeba.cpp 2024-01-27 07:26:47 +10:00
0a1362654b make compiling QUIP library more reliable
- replace any -std=f* flags when using GNU fortran with -std=gnu
- cancel parallel make and require serial compile to avoid race condition accessing modules
- increase maximum allowed size for arrays on the stack 100 times
2024-01-26 16:23:14 -05:00
14bf502abe correct headings 2024-01-26 15:51:17 -05:00
28de91a2cc avoid uninitialized pointers 2024-01-26 15:51:16 -05:00
7d53f8d1c5 Merge pull request #4054 from akohlmey/consolidate-sphere-omega-flag
Remove sphere_flag and replace with radius_flag and omega_flag as needed
2024-01-26 15:50:32 -05:00
40782fec09 fix spelling issues 2024-01-26 14:55:09 -05:00
6bfe0ca573 remove accidentally included file 2024-01-26 14:46:55 -05:00
e84adc630b adjustements to atom_style doc page 2024-01-26 10:11:35 -07:00
4082ca077e Merge branch 'develop' into consolidate-sphere-omega-flag
# Conflicts:
#	src/compute_temp_sphere.cpp
2024-01-25 17:57:53 -05:00
3941baeda1 Merge pull request #4051 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-01-25 17:55:13 -05:00
d7e8530503 Merge pull request #4058 from akohlmey/internal_variable_interface
Add function to library interfaces to set internal style variable values
2024-01-25 16:15:56 -05:00
1016e28f98 avoid redundant checks and accessing uninitialized data 2024-01-25 14:02:03 -05:00
9813abe428 whitespace 2024-01-25 12:49:01 -05:00
4134c82117 say more explicitly what the added function calls do 2024-01-25 12:47:06 -05:00
9cae812c51 Merge branch 'develop' into general-triclinic 2024-01-25 09:04:46 -05:00
2a95c09d77 Merge branch 'develop' into patch-8 2024-01-25 09:04:29 -05:00
9d68b0ecc5 Merge branch 'develop' into issue3775_fft_kokkos 2024-01-25 09:03:52 -05:00
104af8bba4 simplify 2024-01-25 04:25:48 -05:00
6442e05988 even more define to static constexpr conversions 2024-01-25 02:17:28 -05:00
7cb907da58 remove unused variables 2024-01-24 21:19:25 -05:00
d2170cedec rename functions to avoid overloading polymorph functions 2024-01-24 21:15:02 -05:00
a6261d75b9 some more define to static constexpr conversions 2024-01-24 21:14:19 -05:00
ebd493ea77 update atom_style command documentation 2024-01-24 16:11:29 -05:00
77e7a71ded Fixed typo in NEB documentation (energy units --> dimensionless) 2024-01-24 14:52:42 -05:00
4a13fe68e0 add tests for new library APIs 2024-01-24 04:47:59 -05:00
7b210dd97e add documentation for new library APIs to set variables and changes to the old API 2024-01-24 04:14:03 -05:00
c7a3571974 add library interface to Variable::internal_set() 2024-01-24 03:59:29 -05:00
7023723e05 remove accidentally added files 2024-01-23 21:23:36 -05:00
f7fdad8bc5 update external MDI library to version 1.4.26 2024-01-23 21:21:04 -05:00
70ea1dd352 Refreshing no shift flag for solid particles 2024-01-23 14:58:31 -07:00
dd7e95cd12 Merge branch 'rheo' of github.com:jtclemm/lammps into rheo 2024-01-23 14:04:28 -07:00
574ccc64eb Fixing bugs for solid particles 2024-01-23 14:04:10 -07:00
7c7f07e28d Misc patches and missed changes 2024-01-22 22:13:29 -07:00
6dc676247f Merge branch 'stress_deform' of github.com:jtclemm/lammps into stress_deform 2024-01-22 21:25:46 -07:00
87b2662ee9 Moving pressure options to subclass 2024-01-22 21:21:20 -07:00
039ad4f4ae change Atom_KOKKOS::add_custom to match Atom, and tidy headers in atom.h 2024-01-22 15:11:52 +10:00
de35784c93 update cache action to v4 2024-01-21 21:16:33 -05:00
1f863cd4a3 simplify since constexpr should conver to FFT_SCALAR at compile time 2024-01-21 15:59:09 -05:00
12422ff510 replace defines with static constexpr declarations 2024-01-21 15:53:35 -05:00
a473d6f347 refactor dump code to no longer need access to internal Modify class data 2024-01-21 14:42:57 -05:00
fd0507bded fix refactoring bug 2024-01-21 14:22:41 -05:00
6339dfad09 replace references to fix ave/spatial with correct equivalents 2024-01-21 12:24:38 -05:00
722452657c avoid direct access to internal data of Modify class instance 2024-01-21 12:19:28 -05:00
35124fdef3 simplify and avoid direct access to the list of fixes in Modify 2024-01-21 11:50:29 -05:00
5b80899fa4 simplify and avoid direct access to the list of computes in Modify 2024-01-21 11:50:17 -05:00
5ece2139e8 remove tabs and trailing whitespace 2024-01-21 10:02:41 -05:00
aedc061c45 change skip inflag check logic to avoid error opening non-existant file 2024-01-21 09:42:24 -05:00
795d6e4420 silence some more compiler warnings in CUDA code 2024-01-21 09:36:10 -05:00
2760452c68 suppress warnings about reading from stdin for flags that do not process an input 2024-01-21 09:26:42 -05:00
b8ba3da4e2 silence a few more compiler warnings 2024-01-21 00:35:36 -05:00
80ef8656e8 remove some more dead code to silence compiler warnings 2024-01-20 23:11:20 -05:00
35a6bf0cac silence compiler warning 2024-01-20 22:59:23 -05:00
930a717f5e silence CMake warning about FindCUDA.cmake being obsolete 2024-01-20 22:59:13 -05:00
88e384037f make sure both NEB class constructors are consistently initialized 2024-01-20 14:49:57 -05:00
5a67c4d704 add check for another kind of broken references in ReST files 2024-01-20 10:53:41 -05:00
52e76502f4 formatting update, correct references 2024-01-20 10:53:04 -05:00
d6d8a2cd8a correctly determine when to create "rootworld" communicator 2024-01-20 10:52:20 -05:00
80861fe1ff New syntax in doc files 2024-01-19 21:24:27 -07:00
0d1234e63a modernize by replacing Modify::find_compute() with Modify::get_compute_by_id() 2024-01-19 15:16:23 -05:00
ae2c17d3ad remove unused code 2024-01-19 15:01:53 -05:00
300b75fbff remove references to sphere_flag 2024-01-19 15:01:19 -05:00
0efff49bdf capitalize constants 2024-01-19 13:00:41 -05:00
39d21473a0 various coding style updates 2024-01-19 13:00:29 -05:00
e0967af6e8 move fix wall style enumerator to header and import from there for consistency 2024-01-19 12:58:48 -05:00
0d8f549e33 remove sphere_flag and replace with radius_flag and omega_flag as needed 2024-01-19 12:50:31 -05:00
3b4b7eb919 there is no support for dipoles in fix npt/cauchy 2024-01-19 09:48:27 -05:00
f73cb28ed4 modernize and apply clang-format 2024-01-19 05:54:54 -05:00
e28f93dca4 programming style updates 2024-01-19 00:03:13 -05:00
4015d1bb39 initialize static string buffers to empty strings 2024-01-19 00:02:50 -05:00
3ae4779c7f convert defines into static constexpr 2024-01-18 23:59:33 -05:00
48e83b2298 remove unused parameter and silence compiler warnings 2024-01-18 22:55:02 -05:00
991663feff Avoid (harmless) errors when shutting down the GPU. 2024-01-18 22:42:32 -05:00
3b4291c750 remove undesired example 2024-01-18 18:15:42 -05:00
fcc85fb223 Revert "revert more general doc changes. those are moved to a separate branch for further edits."
This reverts commit fb9ae23516.
2024-01-18 18:14:41 -05:00
54794a45de Merge pull request #4030 from alphataubio/alphataubio-charmmfsw-kk
Kokkos charmmfsw pair and dihedral styles
2024-01-18 18:10:12 -05:00
4b561d5f8e fix typo 2024-01-18 17:06:58 -05:00
affb879037 Merge branch 'develop' into rheo 2024-01-18 14:52:15 -07:00
fb9ae23516 revert more general doc changes. those are moved to a separate branch for further edits. 2024-01-18 16:46:47 -05:00
01973ddf23 Merge branch 'develop' into alphataubio-charmmfsw-kk 2024-01-18 16:37:27 -05:00
af60285a3f Merge pull request #4048 from akohlmey/lepton_updates
Update LEPTON styles for more flexibility
2024-01-18 16:34:38 -05:00
8cf2705d68 Merge branch 'develop' into general-triclinic 2024-01-18 15:01:09 -05:00
0ad1d29c4d Merge pull request #4047 from stanmoore1/kk_fix_exchange_bug
Fix bug in some Kokkos fixes' unpack exchange on device
2024-01-18 14:58:09 -05:00
fe1b568241 Merge pull request #4046 from akohlmey/molecule-dipole
Add support for Dipoles section to molecule files
2024-01-18 14:57:01 -05:00
14abc184f8 Merge pull request #4040 from alphataubio/cgdna
[CG-DNA examples/util] fixed indentations and ported python 2 code to python 3
2024-01-18 14:55:41 -05:00
bf9b8606ef Merge pull request #3905 from jrgissing/bond_react_fixes_aug23
Assorted bond/react fixes
2024-01-18 14:41:01 -05:00
3b3ab4207b Merge pull request #4042 from akohlmey/fmtlib-10.2.1
Update embedded fmtlib code to version 10.2.1
2024-01-18 14:33:28 -05:00
425421c1ca fix typo, cut-n-paste error, and add clarification 2024-01-18 14:32:40 -05:00
7453697316 Merge branch 'lammps:develop' into pace-mliap 2024-01-18 09:18:05 -07:00
90a79d9a4b change unit test to include expressions with constant force or potential 2024-01-18 11:06:52 -05:00
73194764e9 add optional keywords "auto_offset" and "no_offset" to bond/angle style lepton 2024-01-18 11:05:52 -05:00
f3c5002634 Merge branch 'lammps:develop' into bond_react_fixes_aug23 2024-01-18 10:00:00 -05:00
57db9be64f add support for Lepton expressions with constant force or constant potential 2024-01-18 09:46:23 -05:00
5304c43fef add test for exceptions and evaluation of compiled expressions 2024-01-18 04:32:20 -05:00
2d8f622c6a Merge pull request #4039 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-01-17 19:28:48 -05:00
189b08b4a5 Fix bug in some Kokkos fixes' unpack exchange on device 2024-01-17 14:47:59 -07:00
9c4597b5e9 more GPU package cleanup from Trung 2024-01-17 16:12:36 -05:00
6e2df52c8f remove dead code and align better with LAMMPS programming style 2024-01-17 16:09:16 -05:00
16d4811592 move fix bond/history back to src folder 2024-01-17 15:48:03 -05:00
d5da47cf33 Revert "adjust a few more fix styles for fix bond/history being optional"
This reverts commit 497c48bd80.
2024-01-17 15:47:11 -05:00
b47ad7acf4 Revert "make delete_bonds command code compatible with BPM package not being installed"
This reverts commit 715b030bd6.
2024-01-17 15:46:03 -05:00
f78f596d9d document using enumerator constants in Atom and AtomVec classes 2024-01-17 14:58:09 -05:00
ff0d18114e silence compiler warnings 2024-01-17 13:25:46 -05:00
d30483fa67 fix MPI issue with PairAmoeba::print_settings() 2024-01-17 12:31:58 -05:00
6f6a08c251 add ghost checking for custom peratom quantities amgroup and pval 2024-01-17 15:54:47 +10:00
f23ba8fbad make certain temporary test files are deleted 2024-01-16 17:54:08 -05:00
f5cbef8b12 fix typo 2024-01-16 15:57:42 -05:00
8a53542dd1 updated examples 2024-01-16 11:59:25 -07:00
deb8416630 update tests for echoing the title line of molecule files 2024-01-16 13:53:07 -05:00
68f770dee9 ACE mliap initial commit 2024-01-16 11:31:53 -07:00
b6d27dfb96 add versionadded tag 2024-01-16 13:06:00 -05:00
103d8cadb9 add unit tests for dipoles in molecule files 2024-01-16 13:05:49 -05:00
9312ce0beb store and print title line of molecule 2024-01-16 12:20:02 -05:00
f6f7392595 make more user friendly 2024-01-16 12:04:13 -05:00
87297902a3 Add support for "Dipoles" section in molecule file 2024-01-16 12:04:00 -05:00
99e38ba55a fix whitespace 2024-01-16 23:44:00 +10:00
90b682834f Merge branch 'develop' of https://github.com/lammps/lammps into develop 2024-01-16 23:36:24 +10:00
b95706ca64 make separate find_custom_ghost() and use four separate ghost info arrays 2024-01-16 23:35:40 +10:00
89fd9ec531 improve ghost keyword comments in fix_property_atom.cpp 2024-01-16 23:04:59 +10:00
e3f81a2513 correct typo 2024-01-16 04:11:56 -05:00
e82ba61183 loop over all neighbor lists for created bonds same as for broken bonds 2024-01-16 04:02:38 -05:00
67f06097ee Updating utils functions for pair rheo/react 2024-01-15 22:04:26 -07:00
a34ddd7ccd Merge branch 'rheo' of github.com:jtclemm/lammps into rheo 2024-01-15 17:26:42 -07:00
56764f0244 Merge branch 'develop' into rheo 2024-01-15 17:26:23 -07:00
6f0fab8b08 bugfix for pair style coul/slater/long/gpu from Trung 2024-01-15 12:29:05 -05:00
74656f4e04 silence compiler warnings 2024-01-15 12:27:05 -05:00
4d830f1450 Merge branch 'develop' into collected-small-changes 2024-01-15 09:23:35 -05:00
8076d89422 Merge pull request #4037 from akohlmey/bigint_dof_computation
Make computation of PPPM grid counts and DOFs removed by fixes compatible with large systems
2024-01-15 09:22:43 -05:00
921ddffda2 small code simplification for the cylinder indenter 2024-01-14 17:18:33 +01:00
07876b5d1a this limitation no longer applies 2024-01-14 07:53:33 -05:00
b6b2c029b6 improve description of testing 2024-01-14 07:33:31 -05:00
9587e92a3c increase numdiff fudge factor so that individual epsilons need to be changed less 2024-01-13 10:33:13 -05:00
3c40f9fda2 remove obsolete machine makefiles 2024-01-13 10:23:58 -05:00
3668c0fc1b Merge branch 'develop' into fmtlib-10.2.1 2024-01-13 05:06:52 -05:00
a3682e1bd5 retain compatibility with python 2.x 2024-01-13 04:56:16 -05:00
497c48bd80 adjust a few more fix styles for fix bond/history being optional 2024-01-13 04:50:28 -05:00
f93032b903 skip failing numdiff tests for now 2024-01-13 04:26:08 -05:00
0d64aa375d tweak epsilon to pass numdiff tests 2024-01-13 04:05:34 -05:00
2ac37aa91a Merge branch 'rheo' of github.com:jtclemm/lammps into rheo 2024-01-12 17:00:37 -07:00
a0cf5191c2 Adding nonzero starting rhos 2024-01-12 17:00:12 -07:00
c340accb0a skip numdiff tests for linear tables (for now?) 2024-01-12 19:00:07 -05:00
e51a44862c add fix numdiff test to check consistency between energy and force for bonded interactions 2024-01-12 18:59:43 -05:00
a6b0c349d8 update unit test data for corrected angle style cosine/periodic 2024-01-12 18:45:10 -05:00
39579d21c8 correct factor 2 force error for m=1 in angle style cosine/periodic 2024-01-12 18:45:10 -05:00
2b04d23504 update unit test data for corrected angle style cosine/periodic 2024-01-12 18:43:19 -05:00
7a7492b757 cosmetic 2024-01-12 18:42:16 -05:00
6329d491dc correct factor 2 force error for m=1 in angle style cosine/periodic 2024-01-12 18:40:30 -05:00
f9eadacf6d correct factor 2 force error for m=1 in angle style cosine/periodic 2024-01-12 18:37:45 -05:00
5b05112aab fixed indentations and ported python 2 code to python 3 2024-01-12 18:19:50 -05:00
715b030bd6 make delete_bonds command code compatible with BPM package not being installed 2024-01-12 16:26:43 -05:00
a131b90962 make delete_bonds command code compatible with BPM package not being installed 2024-01-12 16:19:11 -05:00
faef34a8d4 Merge branch 'develop' into rheo 2024-01-12 13:26:38 -07:00
01a3656eaf correct factor 2 force error for m=1 in angle style cosine/periodic 2024-01-12 15:25:42 -05:00
72ba7f6535 whitespace/clang-format 2024-01-12 15:25:42 -05:00
7c744f170e improve error message 2024-01-12 15:25:41 -05:00
02d2509e68 Merge branch 'develop' into bigint_dof_computation 2024-01-12 15:25:09 -05:00
df5461c27e Merge pull request #4021 from jtclemm/BPM
Bug fixes for BPM package
2024-01-12 15:24:24 -05:00
92481b546e Merge pull request #4036 from akohlmey/collected-kokkos-changes
Collected small KOKKOS changes
2024-01-12 15:12:56 -05:00
dd7ce5fbaa remove one more source of 32-bit integer overflow 2024-01-12 14:57:26 -05:00
b041ac7454 backport bugfix for Kokkos with SYCL from upstream 2024-01-12 13:30:16 -05:00
073a72d933 fixing merge conflicts 2024-01-12 11:12:02 -07:00
5ef8e8cf9a remove variables that are set but not used 2024-01-11 18:53:14 -05:00
d4bd385f5e remove unused function parameters and corresponding variables 2024-01-11 18:52:47 -05:00
b5aa04c36a remove unused variable 2024-01-11 18:52:23 -05:00
4cb82408c3 Merge branch 'develop' into fmtlib-10.2.1 2024-01-11 18:04:41 -05:00
18d140a96e Small tweak 2024-01-11 15:51:50 -07:00
22d50b32e7 Fix more warnings and remove deprecated Kokkos code 2024-01-11 15:40:45 -07:00
b5dbc4ebf6 Add missing dependency 2024-01-11 09:29:54 -07:00
4bda4621bb check whether total number of replica is too large for 32-bit int 2024-01-11 11:12:27 -05:00
22c7f0f150 redid plots to not be misleading with y axis not at 0 2024-01-11 10:57:00 -05:00
4d74c62325 silence some more warnings 2024-01-10 20:17:17 -05:00
62cf534de0 whitespace 2024-01-10 20:07:01 -05:00
c088681bf0 more large system shake stats fixes 2024-01-10 20:04:47 -05:00
ad7b5e38ab Merge branch 'develop' into replicate_periodic_box 2024-01-10 20:01:42 -05:00
60f1233b07 Merge branch 'lammps:develop' into create_atoms-overlap_w_mol 2024-01-10 19:55:18 -05:00
768163865e avoid 32-bit integer overflow for PPPM grid 2024-01-10 19:54:29 -05:00
63332eb1b2 Merge branch 'lammps:develop' into fix_reaxff/species-fixes 2024-01-10 19:52:55 -05:00
0b0b35856c remove unnecessary newton_bond considerations
related issue: fix bond/react may need modifications to work as expected when certain special_bond settings are used or when specials are defined explicitly in molecule templates and do not include all neighbors
2024-01-10 19:49:15 -05:00
f6649762e2 Moving files to BPM dir, skipping copy lists 2024-01-10 16:58:29 -07:00
c60217123a Merge branch 'lammps:develop' into bond_react_fixes_aug23 2024-01-10 18:45:29 -05:00
4bc77bc4ab Fix potential integer overflow in PPPM 2024-01-10 16:23:58 -07:00
0cfb6a058c make SHAKE stats output 64-bit compatible 2024-01-10 16:42:21 -05:00
8b89c330e6 make removed DOF computation large system compatible 2024-01-10 15:32:02 -05:00
93b7c6e380 Fix warnings 2024-01-10 12:21:22 -07:00
db45c23d69 silence compiler warnings 2024-01-10 11:52:09 -05:00
bd0c4f3979 remove dead code and silence compiler warning 2024-01-10 11:52:08 -05:00
2252706931 Merge branch 'develop' of github.com:lammps/lammps into develop 2024-01-09 10:59:51 +01:00
7ca2dcac62 Merge pull request #4034 from jorge-ramirez-upm/correct-fix-ave-correlate-long
Small correction to fix/ave/correlate/long to show the right output after a restart
2024-01-08 17:01:22 -05:00
c60d439fb7 Switched to using argparse 2024-01-08 15:00:24 -06:00
e280a2660f removed files generated bycharmmgui but not needed by example 2024-01-08 15:22:57 -05:00
cc957c6713 Fix another bug 2024-01-08 10:56:32 -07:00
7b4334695d Fix another bug from #4003 2024-01-08 10:29:48 -07:00
547024a0b1 Fix bug from #4003 2024-01-08 09:52:05 -07:00
1b6dc1fe8c Small correction to fix/ave/correlate/long to show the right output after a restart 2024-01-07 18:38:47 +01:00
2643a94f79 minor math formatting changes after phone readability testing, and added note box to use tip3 with charmm 2024-01-06 19:49:43 -05:00
9a97906fe5 fixed Trailing whitespaces in rst 2024-01-06 17:29:37 -05:00
0d431f74d2 fixed latex missing $ error and added little bit of negative spaces 2024-01-06 17:22:28 -05:00
b784d4aadd added 1HVN example into new examples/charmm directory
checked in as a separate commit, if maintainer doesnt approve, then easy to revert atomically.

if maintainer approves, then ill add mentions to examples/README and Examples.rst, and anywhere else needed
2024-01-06 09:04:15 -05:00
8f0c8592a9 updated charmm docs as requested by @akohlmey
- gathered all  tutorial like discussion, equations, and plot for old charmm and new charmmfsw into howto

- added equations and another plot for charmmfsw

- charmmgui 1HVN and 2CV5 examples
2024-01-06 09:01:22 -05:00
bd27903e8c Remove debug comments, small tweaks 2024-01-05 16:32:46 -07:00
404b579396 integrate into manual and add cross-references for CHARMM styles 2024-01-05 18:17:36 -05:00
aa5a4f5f64 Merge branch 'alphataubio-charmmfsw-kk' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-charmmfsw-kk 2024-01-05 17:25:00 -05:00
c7521c44ef Revert "updated pair_charmm.rst"
This reverts commit f113ec84be.
2024-01-05 17:23:57 -05:00
cc3eb56c13 Fix FIXME 2024-01-05 13:12:35 -07:00
8e3b5bf327 Fixed memory bug in ML-IAP unified with atom name definitions
Added explict memory allocation for type string in ML-IAP unified. Corrected bug where atom types were not properly alligned with the potential.
2024-01-05 13:05:27 -07:00
ac2c852121 integration into documentation 2024-01-05 13:45:40 -05:00
fc2d78fc0a Update Makefiles 2024-01-05 09:25:32 -07:00
10c0922588 Add author attribution 2024-01-05 09:24:34 -07:00
f113ec84be updated pair_charmm.rst 2024-01-05 11:17:26 -05:00
ec84580d41 fix whitespace styling 2024-01-05 05:11:33 -05:00
624bab71c6 Merge branch 'lammps:develop' into alphataubio-charmmfsw-kk 2024-01-05 04:41:31 -05:00
43642a6040 Kokkos 4 checks for compatible compilers so this is no longer needed. 2024-01-05 02:51:41 -05:00
45e0d5be0e Merge branch 'fmtlib-10.2.1' of github.com:akohlmey/lammps into fmtlib-10.2.1 2024-01-05 02:50:58 -05:00
0e148174ae update fmtlib to version 10.2.1 2024-01-05 02:49:57 -05:00
8ae9151b30 must include fmt/ranges.h for fmt::join() 2024-01-05 02:49:56 -05:00
1e9eb933be Merge pull request #4031 from stanmoore1/kk_pace_opt
Optimize Kokkos PACE pair style for GPUs
2024-01-05 02:48:45 -05:00
01482e7a2e update fmtlib to version 10.2.1 2024-01-04 22:46:40 -05:00
f9aafff992 must include fmt/ranges.h for fmt::join() 2024-01-04 22:45:53 -05:00
8090af5649 Merge branch 'develop' into issue3775_fft_kokkos 2024-01-04 21:11:54 -05:00
c6d1cbef5a Merge branch 'develop' into general-triclinic 2024-01-04 21:10:50 -05:00
094128dd4d Merge branch 'develop' into patch-8 2024-01-04 21:10:19 -05:00
9d95c51b0b Merge branch 'develop' into kk_pace_opt
# Conflicts:
#	src/ML-PACE/compute_pace.cpp
2024-01-04 21:08:50 -05:00
0e2a065f6b Merge pull request #4003 from stanmoore1/kk_half_thread
Thread over neighbors in addition to atoms when using a half neighlist
2024-01-04 21:04:31 -05:00
3076f1c5f8 Merge pull request #4018 from akohlmey/collected-small-fixes
Collected small fixes and updates
2024-01-04 17:47:23 -05:00
4b4e796c19 Revert " // FIXME:"
This reverts commit de1f6eefd7.

my first idea to reset back force->qqr2e = force->qqr2e_charmm_real didnt work because class destructor gets called first THEN superclass destructor gets called
2024-01-04 16:09:04 -05:00
e26a762f88 improve compatibility of oneapi.cmake preset 2024-01-04 11:21:38 -05:00
ac9afb26dd aesthetic optimization for xscale, yscale and zscale 2024-01-04 17:38:14 +02:00
c065d4bac6 // FIXME: destructor from this class resets
//
    // force->qqr2e = force->qqr2e_lammps_real
    //
    // at end of timestep 0 causing ~E-6 errors for steps 1,2,...
    // everywhere in pair_lj_charmmfsw_coul_long_kokkos when
    // running kokkos with openmp (and probably with GPUs also).
    //
    // WORKAROUND: for now until guidance from lammps devs is to
    // comment out this line here (commit to be reversed later).

    //force->qqr2e = force->qqr2e_lammps_real;
2024-01-04 00:50:06 -05:00
de1f6eefd7 // FIXME:
// superclass destructor from KSPACE/pair_lj_charmmfsw_coul_long.cpp:81
  // resets force->qqr2e = force->qqr2e_lammps_real at end of timestep 0
  // causing ~E-6 errors for steps 1,2,... everywhere in this class when
  // running kokkos with openmp (and probably with GPUs also).
  //
  // WORKAROUND: for now until guidance from lammps devs is to
  // reset it back force->qqr2e = force->qqr2e_charmm_real here.
2024-01-03 23:00:07 -05:00
13b6d40062 tiny_epoxy example correction
not sure why this issue showed up in recent LAMMPS versions
2024-01-03 20:38:10 -05:00
a6b00a60b2 additional check/warning for valid templates 2024-01-03 20:31:22 -05:00
fd846d539d Merge branch 'develop' of github.com:lammps/lammps into issue3775_fft_kokkos 2024-01-03 17:57:41 -07:00
9d7582ec1b Small tweak for readability 2024-01-03 16:59:11 -07:00
55784019f7 Fix CPU issue 2024-01-03 16:46:06 -07:00
e00fc992fc skip python tests using numpy that fail randomly on macOS 2024-01-03 15:10:37 -07:00
4fbb913425 skip python tests using numpy that fail randomly on macOS 2024-01-03 15:07:41 -07:00
600eaf837b update preferred contact info 2024-01-03 16:20:04 -05:00
66a5f56682 whitespace 2024-01-03 14:13:11 -07:00
377450882e Port changes to pair_pace_extrapolation_kokkos, unify code 2024-01-03 14:10:29 -07:00
5020861cbc Fix compiler warnings 2024-01-03 13:22:52 -07:00
163805bc33 removed scaffolding comments and fixed "(STACKPARAMS?m_params[itype][jtype].lj3:params(itype,jtype).lj3)" in compute_evdwl 2024-01-03 15:18:34 -05:00
d9ea10ca24 Merge branch 'lammps:develop' into bond_react_fixes_aug23 2024-01-03 14:59:26 -05:00
817c7bac18 Optimize Kokkos PACE pair style for GPUs 2024-01-03 10:11:30 -07:00
3a1d3bb64d second draft... applied changes to compute methods 2024-01-03 03:00:10 -05:00
c1446ddd92 improve error messages 2024-01-02 11:02:59 -05:00
94a124eb23 Merge branch 'lammps:develop' into alphataubio-charmmfsw-kk 2024-01-02 04:52:25 -05:00
0562c31138 added pair/lj/charmmfsw/coul/long/kk and dihedral/charmmfsw/kk so that lammps scripts generated by charmm-gui.org can be run without tweaks 2024-01-02 04:51:10 -05:00
ded160cd41 Generalizing fix update/special/bonds for pair hybrid 2023-12-31 10:49:59 -07:00
9546fd89e5 adjust heading levels 2023-12-23 12:16:53 -05:00
05bbb94345 add graph to show relation between branches and versions of LAMMPS 2023-12-23 12:06:38 -05:00
5d9f384338 recreate graphvis images with graphviz 8.1 2023-12-23 11:58:40 -05:00
b01065b398 use "neato" layout only for lammps-classes.dot to avoid issues with recent graphviz versions 2023-12-23 11:57:58 -05:00
bdb0fc6b7a replace non-ASCII character 2023-12-23 11:35:39 -05:00
0515f07172 whitespace 2023-12-23 03:00:11 -05:00
d080a1c218 Merge branch 'aip-water-update' of github.com:oywg11/lammps into collected-small-fixes 2023-12-23 02:46:55 -05:00
0822a49cfc Merge branch 'develop' into collected-small-fixes 2023-12-23 02:45:37 -05:00
35214120ad Merge pull request #4025 from oywg11/ilp-tmd-update
Add a new potential file for ilp/tmd
2023-12-22 21:06:27 -05:00
6a636d5491 Merge pull request #4023 from ndtrung81/unittest-debug
Updated the Developer unittest section for debugging failed unit tests individually
2023-12-22 19:59:14 -05:00
f147df8b44 add full list of atom pairs 2023-12-23 08:29:15 +08:00
6489e475b9 Merge pull request #4022 from akohlmey/cmap-fixes-for-charmm-gui
Corrections for fix cmap to be compatible with CMAP files created by CHARMM-GUI
2023-12-22 19:19:52 -05:00
3f677f798a Fleshing out tension model 2023-12-22 17:04:56 -07:00
4ea40ed2fd Merge branch 'ilp-tmd-update' of github.com:oywg11/lammps into collected-small-fixes 2023-12-22 14:45:43 -05:00
8cf958e241 Merge branch 'aip-water-update' of github.com:oywg11/lammps into collected-small-fixes 2023-12-22 14:44:27 -05:00
7cfbe77532 report incompatibility of verlet/split with INTEL package kspace styles 2023-12-22 13:42:56 -05:00
5b00ad8f71 flag error if using INTEL package kspace styles with run style verlet/split 2023-12-22 13:37:20 -05:00
08d2dd2699 Prototyping latent heat, other misc fixes 2023-12-22 10:46:44 -07:00
c964d8cda8 skip python tests using numpy that fail randomly on macOS 2023-12-22 11:35:35 -05:00
efa37fff7f remove cached copy of "layout" since this was not always initialized when used 2023-12-22 11:31:31 -05:00
c4124c0995 correct statement about Xeon Phi support 2023-12-22 10:28:45 -05:00
a16a1a768c fix cut-n-paste bug and avoid uninitialized data access 2023-12-22 00:04:16 -05:00
f8495eaf75 make certain nbonds is initialized 2023-12-21 23:59:35 -05:00
2b31a2bed5 gracefully handle reaxff parameter files without hydrogen bond parameters 2023-12-21 16:07:58 -05:00
3b15594707 update citation comment 2023-12-21 15:58:29 -05:00
dedbd8f6db improvements from clang-tidy 2023-12-21 14:25:31 -05:00
d61c379b0c Error formatting 2023-12-21 14:28:54 +01:00
de066bcde0 Merge remote-tracking branch 'lammps/develop' into electrode 2023-12-21 14:13:16 +01:00
b857cd9e39 update the doc file 2023-12-21 11:31:26 +08:00
b58203fc52 update the doc file 2023-12-21 10:44:03 +08:00
aa221e2f2b add new potential file for aip/water/2dm 2023-12-21 10:28:53 +08:00
b0f3f88b49 Merge branch 'stress_deform' of github.com:jtclemm/lammps into stress_deform 2023-12-20 10:51:37 -07:00
e69a079545 Fixing invalid variable deform kokkos 2023-12-20 10:50:54 -07:00
e72f186123 check ghost vel in pair bpm/spring 2023-12-19 22:01:18 -07:00
7403426046 Argument error in fix rheo 2023-12-19 13:58:22 -07:00
86f87e0f7b Update docs 2023-12-19 10:46:41 -07:00
ab29200c60 More tuning 2023-12-19 10:26:52 -07:00
e98df7018b update the example files 2023-12-19 08:17:43 +08:00
6c798412b4 fix typo and remove unnecessary quotes 2023-12-18 18:52:42 -05:00
8e4871c5e1 Tune team params 2023-12-18 16:37:31 -07:00
af222711ae Added text to explain the output of ctest -V a bit more 2023-12-18 15:52:30 -06:00
3237c30117 reorganize the LAMMPS version and development description 2023-12-18 15:48:03 -05:00
c0c64e812f Enable default threading over neighbors for half list 2023-12-18 11:29:42 -07:00
dd1ac640ae Added declaration for FFT_KOKKOS variable 2023-12-18 12:56:30 -05:00
cddce67931 Merge branch 'develop' into issue3775_fft_kokkos 2023-12-18 12:14:15 -05:00
bc7050ab50 Added LMP_HEFFTE to CMakeLists.txt to attempt to fix a merge conflict 2023-12-18 12:11:31 -05:00
d02ffb0e70 Updated Summit & Frontier template Makefiles 2023-12-18 12:06:41 -05:00
bc47f4f3a3 Updated CMake preset files for kokkos-cuda and kokkos-hip 2023-12-18 11:56:23 -05:00
a6addbc907 Updated documentation for FFT_KOKKOS_ flags and CMake variable selection 2023-12-18 11:30:56 -05:00
4d2aed8937 bug fix
for when reaction site has angles, but post-reaction template has none (same for dihedrals, impropers)
2023-12-18 11:15:56 -05:00
7414fdaa47 Merge branch 'develop' of github.com:lammps/lammps into kk_half_thread 2023-12-18 09:03:39 -07:00
40f27eb7cf update doc file for ilp/tmd 2023-12-18 17:36:04 +08:00
20183ac9cc update potential file for ilp/tmd 2023-12-18 16:56:24 +08:00
8dcf980d0a update doc of ilp/tmd 2023-12-18 16:55:10 +08:00
ba4ac991b6 small fix for ilp/tmd and KC/full 2023-12-18 16:06:36 +08:00
94b62fa98b tweak epsilon 2023-12-17 21:22:33 -05:00
4c34bc2b9b upgrade CodeQL GitHub action scripts to latest version 2023-12-17 20:25:39 -05:00
188e1090e9 add some corrections and clarifications 2023-12-17 20:01:47 -05:00
e6a510ddc5 Merge branch 'lammps:develop' into bond_react_fixes_aug23 2023-12-17 17:02:18 -05:00
58ed034d7a Updated Developer unittest for debugging failed unit tests individually 2023-12-17 15:42:10 -06:00
d2ca1fe354 avoid that mliappy is initialized multiple times 2023-12-16 23:15:56 -05:00
4ae4c8103d step LAMMPS-GUI patch level 2023-12-16 22:46:02 -05:00
695a81ef70 avoid uninitialized data access 2023-12-16 21:50:38 -05:00
15a7b93361 relax epsilon to be compatible with most recent GCC compilers on Fedora 39 2023-12-16 17:40:31 -05:00
1ab406ee1a read CMAP data blocks one at a time and catch EOF exception to stop reading 2023-12-16 17:16:06 -05:00
4bf1b1d9c0 some refactoring and modernization 2023-12-16 17:15:31 -05:00
fb6a5843b9 handle comments in CMAP coeff assignments 2023-12-16 17:14:47 -05:00
96ef731f06 remove unused items 2023-12-16 17:14:19 -05:00
e100a42087 (re)throw EOF exception when next_dvector() has not yet read any items 2023-12-16 17:07:37 -05:00
41495579a6 update list 2023-12-16 00:18:05 -05:00
1f540772af Merge branch 'develop' into BPM 2023-12-15 15:25:35 -07:00
95d1a41ee4 Fixing bpm/sphere error in fix move, displace atoms 2023-12-15 13:33:45 -07:00
84af9e3476 remove hack 2023-12-14 22:02:39 -05:00
e36a764db2 add array and vector STL headers 2023-12-15 12:44:55 +10:00
abe6356716 update help index table for recently added or changed styles 2023-12-14 21:34:11 -05:00
a873106790 improve AMOEBA fix property/atom checks 2023-12-15 12:27:24 +10:00
09c87040b5 add border arguments to FixPropertyAtom add_custom functions 2023-12-15 11:54:15 +10:00
61ca9b79db add custom_border to Atom and AtomKokkos 2023-12-15 11:48:46 +10:00
5358a1b3b1 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2023-12-14 20:16:11 -05:00
df7f3b8dea Merge pull request #3938 from rbberger/compute_reaxff_bonds_local
new compute: reaxff/atom
2023-12-14 20:10:52 -05:00
01ab951ff3 Merge pull request #3833 from evoyiatzis/master
Implementation of analytical expressions for Born matrix of some potentials & inclusion of angle contribution to stress/mop/profile
2023-12-14 20:08:12 -05:00
44fbcf7bfe reorder "ghost" processing in fix property/atom 2023-12-15 11:01:50 +10:00
54089fb5ab Revert "add extract function to fix_property_atom"
This reverts commit b199368c19.
2023-12-15 10:58:06 +10:00
1df91f21a1 workaround hack for macOS 2023-12-14 18:07:32 -05:00
172238f4ca workaround hack for macOS 2023-12-14 17:59:18 -05:00
c4626e982f revert bogus change 2023-12-14 17:19:45 -05:00
5f0bdca3f2 add missing override 2023-12-14 17:09:37 -05:00
ff0553e859 fix typos 2023-12-14 16:50:30 -05:00
7dab2b7eee add new package files to .gitignore 2023-12-14 16:21:17 -05:00
603837c96c add versionadded tag 2023-12-14 16:21:04 -05:00
5a9c9981e7 replace include file with forward declaration 2023-12-14 16:18:41 -05:00
a98ea8c3b2 Merge branch 'develop' into compute_reaxff_bonds_local 2023-12-14 16:16:34 -05:00
c45183d45c Updated CMake build system to allow for FFT_KOKKOS parameter. Updated CMakeLists.txt to print the correct value when summarizing. 2023-12-14 15:38:45 -05:00
ae58fe2732 silence compiler warning 2023-12-14 15:30:13 -05:00
4d6e70600e some more small changes for portability and clarity 2023-12-14 15:03:13 -05:00
eb4c85566e fix up port of platform::disk_free() to Windows 2023-12-14 13:06:20 -05:00
b94b9a311d Merge branch 'develop' into stress_deform 2023-12-14 10:02:46 -07:00
45ca21da3b fix typo 2023-12-14 11:21:16 -05:00
54ff3cf78f include new platform call in docs 2023-12-14 11:21:09 -05:00
298ce1863c coding style updates 2023-12-14 11:15:28 -05:00
727c3c9572 move call to determine free disk space to platform namespace 2023-12-14 11:15:11 -05:00
757f28f8bf correct info about fix halt default setting 2023-12-14 10:59:30 -05:00
9c01d64804 avoid accessing uninitialized data 2023-12-13 22:39:14 -05:00
48b5e16f5d remove unused class members, initialize pointers, adjust programming style 2023-12-13 22:39:14 -05:00
61fd4d643b correct logic for "cannot happen" case 2023-12-13 22:39:13 -05:00
00c3f14a63 Merge pull request #3430 from jtclemm/consolidate_neigh_classes
Reducing the number of npair and nstencil classes
2023-12-13 22:37:45 -05:00
b199368c19 add extract function to fix_property_atom 2023-12-14 11:10:33 +10:00
1420cd6879 Merge branch 'develop' of github.com:lammps/lammps into kk_half_thread 2023-12-13 15:42:49 -07:00
6d1d515f3a Fix compile issue 2023-12-13 15:32:32 -07:00
68c53886b8 Revert some name changes 2023-12-13 15:09:02 -07:00
1e0d0e327c Merge pull request #4004 from akohlmey/collected-small-changes
Collected small changes and updates
2023-12-13 16:25:16 -05:00
89c5ee7079 Merge pull request #3996 from lafourcadep/snann_slcsa
Compute sna/atom on fixed number of neighbors and compute slcsa/atom (Supervised Learning Crystal Structure Analysis tool)
2023-12-13 14:36:49 -05:00
37cb1ce30f Merge branch 'develop' of github.com:lammps/lammps into compute_reaxff_bonds_local 2023-12-13 11:14:45 -07:00
0cf4c9e7a3 Whitespace 2023-12-13 11:07:42 -07:00
0c4a1cb21d Merge pull request #4009 from ndtrung81/gpu-updates-Dec23
GPU package updates Dec 2023
2023-12-13 11:59:10 -05:00
754041ee36 minor fix 2023-12-13 11:57:03 -05:00
304e141f24 add missing define to GNU make based build of pace library as well 2023-12-13 11:46:01 -05:00
0b35b98722 add missing define to fix building ML-PACE with conventional build 2023-12-13 11:30:17 -05:00
e1be6c09f7 merge with GHub version 2023-12-13 09:05:27 -07:00
665785f41e adjust 2d box bounds 2023-12-13 09:04:23 -07:00
f53e2c3398 update details about unittests 2023-12-13 00:49:41 -05:00
1cff1deedc add valgrind suppressions for MPICH on Fedora 39 2023-12-13 00:24:49 -05:00
5543912a12 add missing potential file 2023-12-12 23:58:43 -05:00
c2dbd7dc9d plug one more memory leak 2023-12-12 23:56:36 -05:00
569c23a1e6 Fixed typo with the kernel names in lj/cut/coul/cut/soft 2023-12-12 22:54:50 -06:00
29cf012061 re-use existing potential file, fix screen/log output, plug memory leaks 2023-12-12 23:28:09 -05:00
e7c330db9d Merge branch 'develop' into snann_slcsa 2023-12-12 22:30:20 -05:00
26d0671337 update compute slcsa example to better align with LAMMPS conventions and move to more appropriate folder 2023-12-12 22:30:15 -05:00
3a89af4469 silence preprocessor warning from leaking internal define in cython generated code 2023-12-12 21:52:45 -05:00
8f7d7f9178 Fixed typo in the pair style lj/cut/coul/cut/soft/gpu header 2023-12-12 20:15:05 -06:00
6923c04e47 spelling and formatting fixes. small clarifications 2023-12-12 21:01:20 -05:00
710776d4e8 Merge branch 'develop' into collected-small-changes 2023-12-12 20:35:55 -05:00
98feaa00cb Merge pull request #4012 from stanmoore1/kk_fix_temp
Port Fix temp berendsen and rescale to use Kokkos
2023-12-12 20:34:48 -05:00
ecc460b358 Added the new pair styles to Command_pairs.rst and pair_style.rst 2023-12-12 17:17:32 -06:00
9100f486cb Clarify and fix logic in multi, simplify skip 2023-12-12 15:51:02 -07:00
2a152eb078 Merge pull request #4011 from rbberger/python3.12_update
Use PyConfig to initialize Python
2023-12-12 17:27:24 -05:00
8104f68bc1 Merge pull request #3963 from mkstoyanov/heffte_integration
Heffte integration
2023-12-12 17:27:02 -05:00
75c3959cea Merge pull request #4006 from Birfy/develop
Fixing typos in fix_nh_uef.rst
2023-12-12 16:26:16 -05:00
c33d950ac3 Merge pull request #3869 from jmgoff/compute-pace-update
Compute pace update
2023-12-12 16:19:41 -05:00
e80c3d3215 Revert FFT_AT name change 2023-12-12 12:20:24 -07:00
d3eed12071 include documentation integration checks into "make check" in the src folder 2023-12-12 13:43:10 -05:00
7ed8779d28 tweak another epsilon for new GPU pair style 2023-12-11 23:18:08 -05:00
7881eeaa1c silence warnings about unused variables 2023-12-11 23:15:13 -05:00
669782cd5f Saved some exp operations 2023-12-11 21:26:12 -06:00
93f8ada8dc Fixed ecoul issue with the coul/slater/long kernels 2023-12-11 21:21:31 -06:00
1651a7741a relax epsilon for coul/slater long test a little for GPU forces 2023-12-11 18:51:09 -05:00
6e0e1dc44f Fixed atom force issues with the coul/long/slater kernels 2023-12-11 17:10:43 -06:00
354db72a10 update github action script for setting up python 2023-12-11 17:42:06 -05:00
930fbe8c5d reaxff/atom: First attempt of filtering by group 2023-12-11 14:07:48 -07:00
e241f08cfe Finish first version of compute reaxff/atom docs 2023-12-11 14:05:42 -07:00
e147d131fb Fix issue with temp compute 2023-12-11 12:58:15 -07:00
9d51d9c0e9 Update docs 2023-12-11 12:55:06 -07:00
48c85f7718 Port Fix temp berendsen and rescale to use Kokkos 2023-12-11 12:42:45 -07:00
1a3d36fdbf Use PyConfig to initialize Python 2023-12-11 12:39:31 -07:00
15f8488fc4 update developer contact email 2023-12-11 13:43:13 -05:00
af74afdf62 Editing intel files (to be templated) 2023-12-11 09:02:55 -07:00
25bb1633c3 fix typo and be more precise in describing what "Loop" time means 2023-12-11 09:48:07 -05:00
2ed03164b7 Updated in place testing case, assuming in.* are input scripts, skipping input scripts without REG markers for now 2023-12-10 22:56:53 -06:00
7c40170182 Fixing errors in headers 2023-12-10 21:37:13 -07:00
fbbdd5bcad Updated run_tests.py for testing inplace input scripts 2023-12-10 16:56:47 -06:00
bcd0eac78a Merge remote-tracking branch 'refs/remotes/origin/regression-tests' into regression-tests 2023-12-10 16:53:52 -06:00
76bf35fa4d Added -allow-unsupported-compiler to nvcc for both CMake and traditional CUDA builds 2023-12-10 14:42:27 -06:00
37535267da clarify docs about fix phonon dependency on KSPACE 2023-12-10 15:27:50 -05:00
a6f82eb970 Added check if input files in a folder have REG markers 2023-12-10 14:15:13 -06:00
9a625b715a use Langevin thermostat with fix rigid/small instead of fix rigid/nvt/small
also intra-molecular non-bonded interactions are excluded now
2023-12-10 09:50:51 -05:00
1f13a6a193 Merge branch 'upstream' into regression-tests 2023-12-09 23:02:38 -06:00
bab9fc5533 Consolidating some skip npair classes 2023-12-09 22:00:22 -07:00
e727ec1eac Fixed compiling bugs revealed by CUDA builds, removed unused variables 2023-12-09 16:46:10 -06:00
267e360bac Fixed bugs with acquiring depsh from lib/gpu, updated the doc page 2023-12-09 15:39:54 -06:00
a365cb15b0 Updating class names in Intel 2023-12-09 14:18:20 -07:00
3830711dec Added the GPU version of sph/heatconduction 2023-12-09 15:15:13 -06:00
7679043793 Merge conflicts 2023-12-08 22:45:17 -07:00
010a7a4d44 check for out-of-range or invalid numbers more thoroughly 2023-12-08 21:07:38 -05:00
54a6143e9e Updated the doc pages for sph/lj/gpu and sph/taitwater/gpu 2023-12-08 14:27:00 -06:00
46a670889d Added BaseSPH for sph pair styles, fixed bugs with per-type arrays 2023-12-08 14:09:39 -06:00
1957eb5ca8 Attempted to change dir to individual example folders 2023-12-08 10:21:35 -06:00
0f78afc66f Added atom tag for dpd to work with tag and v 2023-12-08 00:20:53 -06:00
7fad795141 Added pair sph/taitwater/gpu in src/GPU 2023-12-08 00:10:01 -06:00
cad4c25750 Adding sph/taitwater in lib/gpu 2023-12-07 17:22:45 -06:00
6fe16c7606 Added pair style sph/lj/gpu in src/GPU, removed commented codes 2023-12-07 14:33:47 -06:00
e51a8ccfbf Removed the unnecessary line since CUDA_BUILD_MULTIARCH is ON by default 2023-12-07 12:00:24 -06:00
fef28c9daa Updated sph_lj kernels 2023-12-07 11:41:37 -06:00
379d3c8e20 Updated host_esph to extra data and cut to coeff 2023-12-07 11:06:17 -06:00
26c7358a84 Working on sph_lj kernels 2023-12-07 10:24:25 -06:00
1849df15e0 Removed unused member functions in edpd 2023-12-07 10:16:40 -06:00
0940793537 Updated the coul_soft and coul_long_soft kernels with forces as acctyp3 2023-12-07 09:23:49 -06:00
52f576fd1c update fix adapt/fep from fix adapt. only supports 2-d parameters for pair styles 2023-12-06 13:54:44 -05:00
884af7e88c update list of supported pair styles and parameters 2023-12-06 13:53:45 -05:00
51eebf311f Added fft settings to Install.sh, fixed typo in HIPFFT_C2C and HIPFFT_Z2Z 2023-12-06 12:40:11 -05:00
48ef968dd2 Decoupled all variable typenames from the non-kokkos FFT 2023-12-06 12:01:06 -05:00
0e98e706c6 Added LMPFFT settings for Kokkos-specific FFTs 2023-12-06 11:49:54 -05:00
fc897512a0 Initial conversion of all FFT_ settings in the KOKKOS subdirectory to FFT_KOKKOS_ 2023-12-06 11:13:34 -05:00
8eaaae1e99 recenter 2d boxes around 0.0 2023-12-06 08:31:41 -05:00
e05751f487 Update fix_nh_uef.rst
Fixing typo
2023-12-06 08:14:12 -05:00
58787ddecd make 2d system box center on 0.0 2023-12-06 07:36:29 -05:00
9edf553332 flag development branch 2023-12-06 07:22:23 -05:00
dd6b77d570 Merge branch 'develop' into general-triclinic 2023-12-06 07:01:55 -05:00
9c103ff6e2 fix some accumulated formatting and spelling issues in the manual 2023-12-06 02:59:47 -05:00
b94642ccf8 Merge branch 'develop' into collected-small-changes 2023-12-06 02:51:51 -05:00
30051ec260 Merge pull request #3858 from jtclemm/new-computes
Adding tools to identify rattlers and measure nonaffine displacement
2023-12-06 02:51:21 -05:00
c092de9bc3 Merge pull request #3985 from yury-lysogorskiy/feature/zbl
ACE/ZBL core repulsion (+Kokkos implementation)
2023-12-06 01:22:06 -05:00
131f3cee20 fix typo 2023-12-05 22:09:06 -05:00
c90999a083 cosmetic 2023-12-05 21:56:29 -05:00
c172dceb9f white space update 2023-12-05 16:05:07 -07:00
2cbb6a634e merge with upstream version 2023-12-05 16:00:32 -07:00
ae4b65430a clarify rules for reading multiple data files with read_data 2023-12-05 15:58:40 -07:00
3e3454e3e1 Merge pull request #4005 from jibril-b-coulibaly/small_changes
Add doc to partially or undocumented features
2023-12-05 16:59:44 -05:00
21027d660d Clarify exception handling some more. 2023-12-05 16:35:07 -05:00
e53b3c76f5 Updated doc pages for the added pair styles, added a cmake preset for gpu-cuda, added "comm_modify vel yes" to in.mdpd 2023-12-05 15:32:57 -06:00
fe96d9f836 Added the GPU version of pair edpd and mdpd 2023-12-05 13:34:37 -06:00
086cf49a8c Added the GPU version of coul/slater/long 2023-12-05 13:32:33 -06:00
9588ddabf6 Added the GPU versions of lj/cut/coul/cut/soft and lj/cut/coul/long/soft 2023-12-05 13:30:26 -06:00
17ffd5c228 remove misplaced file 2023-12-05 06:16:48 -05:00
e5ae46a01a update compute pace example to follow usual conventions 2023-12-05 06:15:40 -05:00
73f1bac827 remove commented out code. print warnings only on mpi rank 0 2023-12-05 06:09:34 -05:00
7d8de8301f Merge branch 'develop' into compute-pace-update 2023-12-05 06:05:34 -05:00
a5894d8ab3 clarify 2023-12-05 03:18:56 -05:00
250307f7c6 add description for undocumented Body entries in molecule command 2023-12-04 21:29:37 -07:00
69fb814b33 Remove duplicated code, small whitespace tweaks 2023-12-04 17:31:38 -07:00
1f7d262bd7 add mol keyword to fix rigid doc 2023-12-04 16:01:39 -07:00
82868cd583 Simplify Madelung examples with mixed eta 2023-12-04 13:59:07 +01:00
8035521fe4 Merge branch 'develop' of github.com:lammps/lammps into develop 2023-12-04 11:18:13 +01:00
9571d5a0ea Merge branch 'develop' of github.com:Bibobu/lammps into develop 2023-12-04 11:17:37 +01:00
e0862c6618 must do region check only when region is active 2023-12-03 11:22:03 -05:00
2a245f780a initialize class members 2023-12-03 04:45:53 -05:00
47edf5effa use memory class for memory allocation consistently 2023-12-03 04:33:00 -05:00
c0cab665e4 complete printf format 2023-12-03 04:18:44 -05:00
21701a5eac correct dpi to get proper image scaling in PDF output 2023-12-02 16:34:32 -05:00
28c547a3cf Merge branch 'develop' into general-triclinic 2023-12-02 12:40:23 -05:00
8389e2eb80 Merge pull request #4000 from akohlmey/collected-small-changes
Collected small changes
2023-12-02 12:15:36 -05:00
d77ba37128 Merge pull request #3962 from ndtrung81/amoeba-pppm-accuracy
AMOEBA/HIPPO RMS force accuracy estimate
2023-12-02 10:39:54 -05:00
7f3af781fa remove superflous class member. 2023-12-02 09:37:36 -05:00
318556497f refactor balance and fix balance to std::string to avoid buffer overflows 2023-12-02 09:32:53 -05:00
2970d73d22 cosmetic 2023-12-02 08:53:20 -05:00
cace83e30d improve error handling to make coverity scan happy 2023-12-02 08:53:05 -05:00
4035291a48 Merge branch 'develop' into collected-small-changes 2023-12-02 08:17:11 -05:00
f0d8a70757 Merge pull request #4002 from akohlmey/moltemplate-howto
Add moltemplate tutorial to HowTo section
2023-12-02 07:58:09 -05:00
95c2ad5150 Merge pull request #3998 from Bibobu/replicate_labelmap
Adding copy of label maps while using replicate command
2023-12-02 06:06:54 -05:00
a3d44e0048 make map types to merge explicit 2023-12-02 05:13:44 -05:00
1b282ad3fd Merge pull request #4001 from akohlmey/remove-reaxc
Remove "reax/c" alias for sources and examples and require to use "reaxff"
2023-12-02 02:32:12 -05:00
41a5fbc025 ensure must_check is initialized 2023-12-01 20:14:22 -05:00
ef2a420aeb modernize 2023-12-01 17:16:25 -05:00
782ca9e0ff Thread over neighbors in addition to atoms when using a half neighbor list 2023-12-01 14:46:30 -07:00
dab47d518d apply clang-format 2023-12-01 16:23:59 -05:00
fbb9c69771 fix initialization bug 2023-12-01 16:23:49 -05:00
acdb0481f0 loads of spelling fixes 2023-12-01 15:54:54 -05:00
ef400cc13f fix broken links 2023-12-01 15:31:33 -05:00
e41d9cb746 added explanations about the stock backend to the cmake 2023-12-01 15:21:23 -05:00
3c331321b3 update the naming convention 2023-12-01 15:12:23 -05:00
bc7d0f5d50 renamed cmake option 2023-12-01 15:12:23 -05:00
d0ae489dda addressed some pr comments 2023-12-01 15:12:23 -05:00
f75648030f document traditional make 2023-12-01 15:12:23 -05:00
a6e629f4e4 update variable names 2023-12-01 15:12:23 -05:00
77ad067458 added documentation 2023-12-01 15:12:23 -05:00
03b6b2d030 enable automatically downlowding of heffte 2023-12-01 15:12:23 -05:00
5bbdfe5b4f enabled the use of heffte for the cpu backend 2023-12-01 15:12:23 -05:00
45372937db loads of whitespace fixes 2023-12-01 14:52:47 -05:00
fb243eba9b update lattice death tests for changed error messages 2023-12-01 14:41:12 -05:00
767b50e718 Merge branch 'develop' into general-triclinic 2023-12-01 14:13:05 -05:00
f7aeecd3be Fixing error in averaging 2023-12-01 09:58:40 -07:00
303f365435 Added reference to the related enum in the Atom class. 2023-12-01 17:12:15 +01:00
1f86706710 make more cases specifying cutoff Rc/r_c consistent 2023-12-01 05:49:20 -05:00
0d3f111627 use r_c consistently 2023-12-01 05:43:42 -05:00
42ac8a9e9b use r_c consistently 2023-12-01 05:36:25 -05:00
e3574e84ec correct spelling of r_c 2023-12-01 04:31:06 -05:00
14d08f0284 recreate compute xrd mesh image with reasonable dpi setting and used PNG format 2023-12-01 00:37:42 -05:00
97a0885145 Merge pull request #3997 from ConnorSA/mlquip
adding the scale feature of quip calculator, allows fix adapt functio…
2023-11-30 17:10:25 -05:00
28e22862c8 reformat 2023-11-30 16:57:43 -05:00
9aaa38d912 mention tutorial files location 2023-11-30 16:48:19 -05:00
f6b644388c add moltemplate tutorial to HowTo section 2023-11-30 16:41:19 -05:00
6c992ee511 rearrange and rewformulate content of the tip4p pair style docs to make it more obvious 2023-11-30 14:53:24 -05:00
605dc08e73 whitespace 2023-11-30 11:35:44 -07:00
049fd06bdf handle thermo_modify energy yes correctly 2023-11-30 10:31:30 -05:00
00be75e084 update example inputs and logs for change in ReaxFF required name 2023-11-30 10:31:08 -05:00
6ff87f5c39 remove reax/c aliases and related code checking for them 2023-11-30 05:41:05 -05:00
a377f2a271 document removal of "reax/c" aliases for ReaxFF pair styles and fixes 2023-11-30 05:39:50 -05:00
368ea39816 fully integrate additions into distribution 2023-11-29 02:12:23 -05:00
fe418bbe77 spelling 2023-11-29 02:11:54 -05:00
918cddfb90 reformat to conform to LAMMPS writing style 2023-11-29 02:11:44 -05:00
d39cd265ae make citations consistent 2023-11-29 02:11:18 -05:00
a38fade483 whitespace fixes 2023-11-29 01:35:49 -05:00
28a89100e8 Merge branch 'develop' into snann_slcsa 2023-11-29 01:34:17 -05:00
f36f846e19 Merge branch 'develop' into mlquip 2023-11-28 09:23:53 -05:00
f83a3dd989 whitespace one more time 2023-11-28 09:23:31 -05:00
7631f2baa2 follow LAMMPS programming style more closely 2023-11-28 09:22:31 -05:00
34e373d114 removed tabs and unsused itype variable 2023-11-28 13:33:03 +00:00
8c34f7f7b8 switched 2D array out for scalar, and updated documentation 2023-11-28 11:37:59 +00:00
d57979eede Merge branch 'develop' of github.com:lammps/lammps into replicate_labelmap 2023-11-28 12:09:57 +01:00
dcb4127631 Added label map copy to replicate.cpp 2023-11-28 12:05:51 +01:00
2825aeff48 apply changes suggested by coverity scan 2023-11-28 05:26:45 -05:00
87c9891c07 Merge remote-tracking branch 'public-lammps/develop' into feature/zbl 2023-11-28 09:13:37 +01:00
4fd63612f8 correct misformatted tables 2023-11-27 23:21:13 -05:00
92220140ab indicate if Intel package SIMD directives are enabled 2023-11-27 22:20:50 -05:00
664ffbedac fixed a missed scale of vdw via quip_energy 2023-11-28 03:16:37 +00:00
bbef545675 Merge pull request #3988 from akohlmey/collected-small-changes
Collected small changes and fixes
2023-11-27 21:41:03 -05:00
1e26c6d0c5 Adding multiphase support, new stress 2023-11-27 15:53:19 -07:00
631dcc36de BUGFIX: TagPairPACEComputeNeigh - explicitly check if atom has neighbours (ncount>0), only them run parallel_reduce, otherwise set d_d_min and d_jj_min to default values 2023-11-27 23:51:51 +01:00
99f0a7aa8e upd version string in ML-PACE package 2023-11-27 22:38:35 +01:00
d76230c490 Merge pull request #3993 from alphataubio/patch-1
Update atom_map_kokkos.cpp to fix overflow warning
2023-11-27 15:09:39 -05:00
b03bee49b3 Small tweak to fix warning 2023-11-27 11:48:42 -07:00
7249aea5e5 error out when no per-type masses are set. warn if both per-type and per-atom masses are used. 2023-11-27 07:47:08 -05:00
7dbd649683 fix cut-n-paste bug 2023-11-27 05:31:30 -05:00
9e1f85518c avoid segfault with immediate variables 2023-11-27 05:31:12 -05:00
a1d2256e60 Added example for use of compute sna/atom on a fixed number of neighbors + use of compute slcsa/atom for crystal structure classification on a case of HCP to BCC phase transition in Zr 2023-11-27 09:22:03 +01:00
1d25862146 update documentation for the fact that exceptions in LAMMPS are always used 2023-11-26 13:11:18 -05:00
b90d63a192 add versionaddded tag for new feature 2023-11-26 11:00:02 -05:00
088c5d72a8 correct fix mvv/* compatibility checks in DPD-MESO package 2023-11-26 10:31:24 -05:00
7ac5f590ee Merge branch 'develop' into collected-small-changes 2023-11-25 22:36:39 -05:00
d4fe21f34d update pair_pace.rst documentation page 2023-11-25 23:37:01 +01:00
c0631c9bd2 add per-atom array corerep_factor to all four pair styles: pace, pace/extrapolation, pace/kk, pace/extrapolation/kk
upd PACELIB_URL to v.2023.11.25 (+md5sum) in ML-PACE.cmake and Install.py
2023-11-25 23:04:18 +01:00
b7376e3459 Merge pull request #3990 from lammps/variable-custom-atom-properties
Enable direct custom atom property references in variable formulas
2023-11-25 10:03:17 -05:00
e3ba19c145 Merge branch 'develop' into variable-custom-atom-properties 2023-11-25 06:42:38 -05:00
e4149035fa restore using nvcc_wrapper with kokkos-cude.cmake preset 2023-11-25 05:58:43 -05:00
e15aef290d Update atom_map_kokkos.cpp to fix overflow warning
fix overflow compile warning while building KOKKOS package with -D LAMMPS_SIZES=bigbig:

/home/XXXX/lammps-2Aug2023/src/KOKKOS/atom_map_kokkos.cpp: In lambda function:
/home/XXXX/lammps-2Aug2023/src/KOKKOS/atom_map_kokkos.cpp:218:21: warning: overflow in conversion from ‘long int’ to ‘int’ changes value from ‘9223372036854775807’ to ‘-1’ [-Woverflow]
  218 |     int i_closest = MAXTAGINT;
      |                     ^~~~~~~~~
2023-11-25 03:06:10 -05:00
b4c09a3d65 Merge branch 'develop' into collected-small-changes 2023-11-25 02:57:03 -05:00
4380806a30 Merge pull request #3987 from lammps/variable-ternary-function
Add a ternary math function to equal- and vector- and atom-style variables
2023-11-25 02:56:27 -05:00
10f207b986 Merge pull request #3992 from akohlmey/linalg-lapack-3.12
Update internal linear algebra library to LAPACK 3.12
2023-11-24 19:16:02 -05:00
239407c4eb Merge pull request #3983 from stanmoore1/kk_update_4.2
Update Kokkos library bundled in LAMMPS to v4.2
2023-11-24 18:51:39 -05:00
2a1af662d4 update to LAPACK 3.12 2023-11-24 15:29:14 -05:00
ea7f0deb42 some compilers require a code block to follow OpenMP pragmas, even if empty. 2023-11-24 14:46:49 -05:00
ab31a532e2 Possibility to compute bispectrum on a fixed target number of neighbors using compute_sna_atom for crystal structure classification purpose. Add of a compute_slcsa_atom compute style that takes the newly computed bispectrum as an input and performs dimension reduction + logistic regression classification. Documentation has been modified/added and code cleaned. 2023-11-24 19:09:30 +01:00
351fc63f27 use const reference instead of copy 2023-11-24 01:20:10 -05:00
cea1528765 update list of packages included in coverity runs 2023-11-24 01:08:34 -05:00
1f6f612bb6 remove redundant code and fix memory leaks 2023-11-24 01:02:00 -05:00
09acf1b409 add versionadded tag 2023-11-23 19:56:51 -05:00
a76b02dd57 correct broken link 2023-11-23 19:53:12 -05:00
0f5d24cd1a fix table format 2023-11-23 16:21:41 -05:00
dc32efe9be whitespace 2023-11-23 16:19:43 -05:00
35103df86b make compatible with Kokkos 3.7 2023-11-23 14:25:30 -05:00
4cf8045f81 add check and document that "scale yes" is not supported for scaling atomic parameters with fix adapt/fep 2023-11-23 12:37:49 -05:00
e1c028c785 Update documentation
Describe the arguments for cone indenter style
2023-11-23 16:02:22 +02:00
a90c7b42f9 Include code for conical indenter in fix_indent.cpp 2023-11-23 15:40:34 +02:00
c57ed87e9a Addition of conical indenter 2023-11-23 15:36:27 +02:00
961cbfbe10 add custom atom property refs to variable syntax 2023-11-22 22:40:58 -07:00
9c19495392 detect newer OpenMP standard versions 2023-11-23 00:37:26 -05:00
742a772767 report Kokkos library version and OpenMP standard version 2023-11-23 00:24:34 -05:00
85ac2dc5fd correct formatting of table 2023-11-22 19:52:44 -05:00
64573b7b32 add unit tests for new variable function 2023-11-22 19:47:51 -05:00
0db826ae77 whitespace 2023-11-22 19:39:29 -05:00
0dd19b2cbf doc page update 2023-11-22 15:25:19 -07:00
469358cbf4 UPDATE KOKKOS 2023-11-22 14:38:13 -07:00
61993d1643 MLIAP Unified fix for multi layer models
CPU only
2023-11-22 14:36:59 -07:00
eb6c101d94 add ternary math function 2023-11-22 09:49:11 -07:00
bf498022cc use inum instead of list->inum 2023-11-22 14:44:49 +01:00
2e421b2eac fix ML_PACE.cmake 2023-11-22 10:36:39 +01:00
77549414ae - implementation of ZBL-core repulsion with smooth transition from ACE to ZBL + Kokkos implementation
- automatic BBasis(.yaml) to CTildeBasis(.yace) conversion for pair_pace
2023-11-22 10:19:18 +01:00
83f91d4ac7 Update docs 2023-11-21 18:50:13 -07:00
9fae8a2c2d Merge branch 'develop' into general-triclinic 2023-11-21 15:21:16 -07:00
6b822c1d0e Update CMake 2023-11-21 15:13:56 -07:00
18c5cdb327 doc page for thermo output difference with triclinic/general 2023-11-21 15:03:32 -07:00
3306b95589 Update Kokkos library in LAMMPS to v4.2 2023-11-21 15:02:12 -07:00
b72c34d497 compute reaxff/atom: return tag[i] instead of i 2023-11-21 14:20:17 -07:00
a5cc181358 Start with compute reaxff/atom documentation 2023-11-21 14:03:10 -07:00
fd83ed4004 compute reaxff/atom: add support for pair hybrid 2023-11-21 13:42:51 -07:00
16f0806da0 Rename compute to reaxff/atom 2023-11-21 11:19:47 -07:00
f25075db6c adding the scale feature of quip calculator, allows fix adapt functionallity 2023-11-21 13:57:34 +00:00
dfafdff209 finalized dump command support for general triclinic 2023-11-20 12:06:58 -07:00
afd0107f01 Add new files to makefile build system 2023-11-20 11:14:05 -07:00
9bffeb9512 Next iteration 2023-11-20 11:14:05 -07:00
717e7b0649 Address comments 2023-11-20 11:14:05 -07:00
ca143e6ba8 undo minor change 2023-11-20 11:14:05 -07:00
a72a3ed50d Kokkos version of compute reaxff/bonds 2023-11-20 11:14:05 -07:00
fea5f5a243 First serial version of Steve's suggestion 2023-11-20 11:14:05 -07:00
bbc2794df2 add reaxff/bonds/local/kk 2023-11-20 11:14:05 -07:00
5830dec742 new compute: reaxff/bonds/local 2023-11-20 11:14:05 -07:00
92b02041cb more edits on create_atoms doc page 2023-11-18 17:16:29 -07:00
56b2c7ed46 alter how lattice interacts with create_box and create_atoms for general triclinic 2023-11-17 17:10:45 -07:00
4ccd59af80 another doc tweak for 2d 2023-11-16 16:37:43 -07:00
4057ee3d62 more doc page updates for general tri 2023-11-16 16:35:16 -07:00
fc5803188f doc page for write_data 2023-11-15 09:29:04 -07:00
f512a37173 add versionadded tag 2023-11-15 10:45:37 -05:00
e39a52879c update .gitignore 2023-11-15 10:44:05 -05:00
4760c02182 Merge branch 'develop' into compute-pace-update 2023-11-15 10:29:19 -05:00
a0a21fab64 changes for body particles in general triclinic 2023-11-14 17:03:56 -07:00
f9b385061b Multiphase support 2023-11-14 12:33:51 -07:00
4da49c6d85 more updates to doc page and read_data functionality 2023-11-13 15:22:17 -07:00
3c915b14a7 Renamed the README file 2023-11-13 15:18:36 -06:00
25d862d7b4 Added README.md 2023-11-13 15:17:22 -06:00
1d1d53222a Merge branch 'lammps:develop' into regression-tests 2023-11-13 15:08:05 -06:00
3a93b16cff Added argument parsers 2023-11-13 11:52:21 -06:00
476c569804 Used the last thermo step in the log file for comparison 2023-11-13 11:35:27 -06:00
9642a950b1 Updated run_tests.py, added in.eam 2023-11-13 11:19:59 -06:00
a651697d2e Mix eta in Electrode package 2023-11-13 14:41:13 +01:00
ae3c332667 Tested a coarser PME mesh with a lower accuracy (2e-4) 2023-11-10 16:16:49 -06:00
e57079768f update some doc pages 2023-11-09 17:58:12 -07:00
64fa32cf1e Removed commented lines 2023-11-09 10:13:23 -06:00
db5ed64045 Merge pull request #2 from Bibobu/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-11-09 09:52:58 +01:00
73a3ae7602 Debugging some compute property items, allow surface shifting inward 2023-11-08 15:57:42 -07:00
c922fcef5a prototyping limit on tension 2023-11-08 14:30:37 -07:00
b8b2141993 Fixing errors in oxide model 2023-11-07 14:47:46 -07:00
44ae758bf5 Parallel support for bond creation/deletion 2023-11-06 20:27:18 -07:00
612a919e93 more work on read_data and doc pages 2023-11-06 16:56:33 -07:00
92ff79af08 Debugging BPM coupling 2023-11-06 16:22:02 -07:00
109becc542 Retrieved the list of installed packages 2023-11-05 23:39:44 -06:00
de037f5bd8 Merge branch 'develop' into general-triclinic 2023-11-03 14:53:17 -06:00
6fe6395ab2 reset quats for ellipsoids for general <-> restriced triclinic 2023-11-03 14:52:41 -06:00
16a3abdadd Filling in tension and react 2023-11-03 13:33:03 -06:00
5b14b7c86c Fixing gitignore 2023-11-01 13:42:33 -06:00
745f2e6c54 Changing logic for self-bin check, newton+ortho 2023-11-01 12:22:30 -06:00
bf115e5df4 Fix compiler/memory errors in tension, update properties in surface 2023-11-01 11:55:07 -06:00
7a148688d5 Merge branch 'develop' into general-triclinic 2023-10-31 16:19:58 -06:00
9807316e7c Cleaned up and added comments 2023-10-31 11:15:24 -05:00
288629bd13 Added an RMS accuracy estimate for AMOEBA/HIPPO 2023-10-31 11:03:37 -05:00
89150877a2 Hiding compile bugs in temporary files 2023-10-30 20:48:20 -06:00
0fb7fd9a80 Merge branch 'rheo' of github.com:jtclemm/lammps into rheo 2023-10-30 20:22:27 -06:00
0945c3dda8 Bug in rheo, cleaning up old files 2023-10-30 20:22:14 -06:00
6942103c27 Initiated the regression test setup 2023-10-25 11:21:00 -05:00
8f14cdcb34 Cleaning up ghost stencils 2023-10-24 13:55:43 -06:00
0f94e6030f Adding separate ghost stencil for intel 2023-10-24 12:26:37 -06:00
8054d2807a Adding full atomonly bin npair style 2023-10-23 16:54:56 -06:00
51577eff2c Merging atomonly npair styles, minor fixes 2023-10-23 16:14:56 -06:00
3536cf9db9 Adding triclinic patch to intel stencil 2023-10-23 12:59:13 -06:00
14f0045567 Fixing missing variable in multi 2023-10-23 10:27:18 -06:00
9ba20864ca Merge conflicts + intel 2023-10-22 22:34:33 -06:00
1571c96480 Adding triclinic patch (except for intel) 2023-10-22 21:52:43 -06:00
6281a818e7 merge conflicts 2023-10-22 14:55:13 -06:00
0d2b3dc51e Drafting oxide model 2023-10-22 14:54:27 -06:00
a4a7b9c500 formatting 2023-10-20 14:01:24 -06:00
1c4ab13f01 merge with current develop 2023-10-20 13:31:32 -06:00
5ed10f9127 doc fix 2023-10-19 18:19:55 -06:00
83186a50b0 Update compute_pace.rst
typo fix
2023-10-19 16:37:45 -06:00
5986fb90b9 Few updates to surface tension, add stress fix 2023-10-19 12:37:59 -06:00
decb47cc15 Merge branch 'compute-pace-update' of github.com:jmgoff/lammps_compute_PACE into compute-pace-update 2023-10-19 12:25:21 -06:00
ac59f47ea0 Merge remote-tracking branch 'upstream/develop' into compute-pace-update 2023-10-19 12:22:10 -06:00
e0ef4f15ee Merge branch 'lammps:develop' into compute-pace-update 2023-10-19 12:18:32 -06:00
2ac32872e2 compute pace docs 2023-10-19 12:18:07 -06:00
88fb7c849d Merge branch 'rheo' of github.com:jtclemm/lammps into rheo 2023-10-19 11:57:25 -06:00
f28e46d40e Adding support for remap v 2023-10-19 11:57:07 -06:00
201f8cda9a more updates 2023-10-12 06:49:59 -06:00
fc12f86ea9 Update compute_pace.h
Header style fix
2023-10-11 16:47:35 -06:00
aff10deeb7 Merge branch 'lammps:develop' into compute-pace-update 2023-10-11 14:19:49 -06:00
63eed5e230 Drafting tension model 2023-10-06 17:43:54 -06:00
1cbe59c254 Fixing compile errors 2023-10-05 21:19:50 -06:00
f5f8df55b8 Merge branch 'lammps:develop' into compute-pace-update 2023-10-04 10:16:17 -06:00
857cc53923 README file for the ELECTRODE package 2023-10-04 10:32:50 +02:00
d84ee0c4f1 Update compute_stress_mop_profile.cpp 2023-09-28 17:48:17 +03:00
dc84ab5e5f Update compute_stress_mop.rst 2023-09-28 17:06:11 +03:00
bbd6b2846f implementation of compute_dihedral() in compute_stress_mop.cpp 2023-09-28 16:59:03 +03:00
d062541177 remove whitespace from compute_stress_mop.cpp 2023-09-28 16:29:15 +03:00
ca449f1ea8 Prepare for inclusion of dihedral contribution in compute_stress_mop.cpp 2023-09-28 16:25:52 +03:00
ac435319fd Definition of compute_dihedral and related variables in compute_stress_mop.h 2023-09-28 16:15:03 +03:00
3445330cf1 remove whitespace from compute_stress_mop.cpp 2023-09-28 16:13:13 +03:00
3cae238eb5 Finish drafting bond creation/deletion 2023-09-26 09:07:44 -06:00
1591b21617 remove whitespaces from compute_stress_mop_profile.cpp 2023-09-26 16:53:16 +03:00
b86d1f6553 Update compute_stress_mop.rst for dihedral interactions 2023-09-26 16:48:45 +03:00
d40fb4a337 method implementation for dihedral contribution to compute_stress_mop_profile.cpp 2023-09-26 16:45:46 +03:00
ec458e2861 method and member variables definition for dihedrals in compute_stress_mop_profile.h 2023-09-26 16:32:26 +03:00
381d8de017 initialization of angleflag in constructor compute_stress_mop_profile.cpp 2023-09-26 16:22:09 +03:00
e819b38a18 undo dihedral changes in compute_stress_mop_profile.h 2023-09-26 16:15:12 +03:00
b81df7c21b Include methods and variables for dihedral contribution to compute_stress_mop_profile.h 2023-09-26 16:12:09 +03:00
bd07252da3 Merge branch 'rheo' of github.com:jtclemm/lammps into rheo 2023-09-25 09:39:43 -06:00
583917b194 Drafting structure of solidification bond creation 2023-09-25 09:39:29 -06:00
c22d6a9e4e update to doc pages 2023-09-21 22:13:16 +02:00
c5deb581c2 Updates to address PR comments 2023-09-21 22:12:58 +02:00
5ff16da272 Adding rate cap on vol link pressure 2023-09-21 12:17:47 +02:00
94a0d85b33 doc page updates 2023-09-20 15:20:02 -06:00
db4f55b76f compatibility with new lammps-user-pace library and cleanup 2023-09-19 17:24:15 -06:00
f9cc60cfd5 Merge branch 'lammps:develop' into compute-pace-update 2023-09-19 11:14:14 -06:00
77a5fd16dd Fixing bug in link pressure 2023-09-19 13:37:47 +02:00
21d3f3240e more work on restart support 2023-09-16 10:09:26 -06:00
c5b2d66283 upgrades to read/write data commands 2023-09-15 16:49:56 -06:00
30f7328841 more dump custom fields rotated 2023-09-14 16:00:25 -06:00
e5f3fcbbf4 more work on read_data and write_data 2023-09-13 13:29:37 -06:00
c7e794146f initial support for write_data 2023-09-13 10:03:05 -06:00
dec245c67b support for other vector fields in read_data 2023-09-13 09:29:56 -06:00
6e539da050 Merge branch 'lammps:develop' into compute-pace-update 2023-09-12 13:01:10 -06:00
e20e3972d2 doc page updates 2023-09-07 17:21:15 -06:00
ceed2e723e more general tri support in dump atom and dump custom 2023-09-06 10:11:28 -06:00
1ab26e083a more general tri support in dump atom and dump custom 2023-09-06 10:11:04 -06:00
4735534139 enforce atom z coords = 0.0 for 2d simulations 2023-09-06 09:05:02 -06:00
d6d65f001a enforce atom z coords = 0.0 for 2d simulations 2023-09-06 09:04:10 -06:00
6f01b27e7e add general triclinic pressure tensor to thermo_style 2023-09-05 16:50:38 -06:00
1ed8dd6906 add general triclinic options to dump custom 2023-09-04 15:26:55 -06:00
fb890fcdfe Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 17:09:21 +00:00
78fbdad59e code cleanup 2023-09-02 18:46:58 -06:00
57f6526e53 code cleanup 2023-09-02 18:45:37 -06:00
8c3ab47fd6 more debugging for fcc example 2023-09-01 22:58:10 -06:00
40def67942 debugging 2023-09-01 17:46:52 -06:00
7918f14499 remove unneeded method 2023-09-01 14:45:00 -06:00
817a16b48c work on create_atoms command 2023-09-01 14:38:22 -06:00
7462439b5d mods to change_box 2023-09-01 12:15:51 -06:00
932a080246 tweak comments 2023-08-31 14:45:24 -06:00
db72d4b73a add general tri options to read and write data commands and Domain class 2023-08-31 14:34:37 -06:00
7a1466671b Merge branch 'develop' into BPM 2023-08-31 10:28:47 -06:00
a206072520 Merge branch 'develop' into master 2023-08-29 19:04:58 +03:00
1039f86037 remove unnecessary restriction
do not check for comm cutoff when initiator atoms are directly bonded
2023-08-26 14:29:07 -04:00
999c364b83 better way to list rxn counts 2023-08-25 21:44:42 -04:00
cd5ebb86c8 inserting atoms: correct logic for per-atom mass 2023-08-25 21:37:57 -04:00
1b86d647de cleaned up headers and used PIMPL namespace instead, fixed whitespace, fixed homepage 2023-08-24 17:08:31 -06:00
d54fb3eb47 Merge branch 'lammps:develop' into compute-pace-update 2023-08-24 16:47:28 -06:00
2c897df841 Merge branch 'develop' into new-computes 2023-08-24 09:38:05 -04:00
9ab79c745b no executable permissions on source code 2023-08-18 07:03:02 -04:00
f5361b49be Merge branch 'develop' into new-computes 2023-08-18 06:58:14 -04:00
9702a7a9d4 don't need to list utils.h as include as it is always included for styles 2023-08-18 06:58:06 -04:00
67f42fa84f add version tags, sort out spelling issues 2023-08-18 06:58:00 -04:00
bb2c286f27 fix whitespace 2023-08-18 06:46:10 -04:00
3a10888a6d merge electrode changes 2023-08-04 17:03:44 +10:00
e5bcbd4213 Bugfix electrode/conq after changes for qtotal 2023-08-02 13:03:45 +02:00
e3792616ad Moving line break in BPM doc pages for link, fixing prop/atom syntax 2023-08-01 12:54:23 -06:00
0a5aa5b1d2 Merge branch 'lammps:develop' into compute-pace-update 2023-07-24 10:05:05 -06:00
3c2ba879ef Merge branch 'lammps:develop' into compute-pace-update 2023-07-20 08:55:35 -06:00
ec65fc48ad Cleaning up files, fixing bug in berendsen 2023-07-18 09:25:22 -06:00
e9223fc5af Fixing LAMMPS headers 2023-07-17 14:34:46 -06:00
2d897ac8f3 Fixing doc build errors 2023-07-17 14:22:22 -06:00
1ffb2289be explicitly zeroing arrays 2023-07-17 11:59:50 -06:00
f4000efd8a Adding reference section to doc pages, update misc error messages 2023-07-17 11:52:06 -06:00
71abebb1d7 debugging surface compute 2023-07-16 16:26:57 -06:00
a80739c537 Doc and gitignore updates 2023-07-15 22:12:10 -06:00
7fa1f4b3b4 Various clean ups, moving files 2023-07-15 22:10:19 -06:00
2ef326273d Fixing bug in max rate threshold 2023-07-15 16:09:53 -06:00
63be267a94 Merge branch 'lammps:develop' into compute-pace-update 2023-07-13 08:38:20 -06:00
7b40576b2b Merge branch 'lammps:develop' into compute-pace-update 2023-07-12 18:12:31 -06:00
4eba3791f3 enforce order for printing CHON 2023-07-09 15:30:56 -04:00
9fde61fc4e Update compute_stress_mop_profile.cpp 2023-07-05 16:59:02 +03:00
78f4e4f1a1 Update compute_stress_mop.rst 2023-07-05 16:51:41 +03:00
9aa9bdd3ba Implementation of compute_angles in compute_stress_mop_profile.cpp and related adjustments to flags/memory allocations 2023-07-05 16:45:53 +03:00
79ed2d9e8b Definition of compute_angle and related variables in compute_stress_mop_profile.h 2023-07-05 16:35:25 +03:00
94fa2f51c9 compute kinetic contribution without assuming orthogonal geometry 2023-07-05 13:38:56 +03:00
005c15c07b compute kinetic contribution without assuming orthogonal geometry 2023-07-05 13:26:47 +03:00
6318b09a07 report unique species when duplicate elements
previously, duplicate species were reported when there were duplicate elements in the element-to-type mapping. for example, H2 and HH and multiple other H2s and HHs could appear in the 'species' and 'delete species' files
2023-07-04 20:29:31 -04:00
484e7ad0e3 clean up of originflag from compute_stress_mop_profile.h 2023-06-29 08:54:30 +03:00
6e32d29322 clean up of originflag variable in compute_stress_mop_profile.cpp 2023-06-29 08:53:50 +03:00
d6532d3550 Adding h_ratelo calculation 2023-06-23 14:13:32 -06:00
4ae41edee7 Fixing order of correct_v 2023-06-23 14:12:59 -06:00
33d82c30ca fix to allow reaxff/species before pair_coeff 2023-06-22 18:40:50 -04:00
8e1711c803 Implement born_matrix in dihedral_quadratic.cpp 2023-06-22 17:00:10 +03:00
ae96c9bd47 Define born_matrix() in dihedral_quadratic.h 2023-06-22 16:58:00 +03:00
7ab9da0212 Implementation of born_matrix in dihedral_helix.cpp 2023-06-21 10:59:13 +03:00
fb31ffe17c Definition of born_matrix() in dihedral_helix.h 2023-06-21 10:56:53 +03:00
7f3a930d89 Implement born_matrix() in angle_cosine_periodic.cpp 2023-06-20 16:21:57 +03:00
345a834c7e Include definition of born_matrix() in angle_cosine_periodic.h 2023-06-20 16:20:57 +03:00
bb2d691e78 implement born_matrix in angle_mm3.cpp 2023-06-20 15:42:47 +03:00
2631a159af define born_matrix in angle_mm3.h 2023-06-20 15:41:09 +03:00
24fbff2c03 Merge branch 'lammps:develop' into master 2023-06-20 11:50:30 +03:00
dc1eb43cf2 Cleaning coord and coordp vectors in compute_stress_mop_profile.cpp 2023-06-19 19:47:34 +03:00
ad3752431f Regular pointer for coord and coordp in compute_stress_mop_profile.h 2023-06-19 19:42:01 +03:00
f6b259b186 Implementing born_matrix in bond_harmonic_shift_cut.cpp 2023-06-19 19:40:11 +03:00
6c9d42b7c3 Include born_matrix() definition in bond_harmonic_shift_cut.h 2023-06-19 19:38:50 +03:00
bfc969d5c5 implementation of born_matrix in bond_mm3.cpp 2023-06-19 16:39:49 +03:00
2f22761461 born_matrix() method in bond_mm3.h 2023-06-19 16:38:34 +03:00
365f4bc559 non-zero born_matrix_enable flag in angle_fourier.cpp 2023-06-18 18:44:28 +03:00
eb8512ba2a implementation of born_matrix() for angle_quartic.cpp 2023-06-18 18:26:48 +03:00
4e17cc551e inlcude born_matrix() definition in in angle_quartic.h 2023-06-18 18:25:35 +03:00
42c843ff4f remove iostream from bond_gaussian.cpp 2023-06-18 18:24:24 +03:00
c7ac1c1d5a Merge branch 'lammps:develop' into master 2023-06-18 18:22:24 +03:00
32e4aac9f7 Update fix_reaxff_species.rst 2023-06-16 21:34:06 -04:00
d18d7edad9 reaxff/species: default elements from pair reaxff 2023-06-16 21:23:46 -04:00
492b0641f2 record element list from pair_coeff 2023-06-16 20:50:22 -04:00
2a432bdaf1 Clarifying output as sqrt 2023-06-16 16:32:15 -06:00
ca636ffa7d Adding d2min doc 2023-06-16 16:28:48 -06:00
a1513a7d3b rattler documentation 2023-06-15 23:06:50 -06:00
7012e6ddd4 Debugging and cleaning up D2min calculation 2023-06-15 19:06:14 -06:00
2fbaeb4fc7 Fixing merge conflict 2023-06-15 16:03:30 -06:00
2905016f9a Updating to develop 2023-06-15 16:00:48 -06:00
25f5e74e9a updating args and D2min calculation in nonaffine fix 2023-06-15 15:51:59 -06:00
60173c477d Creating persistent h_rate variable 2023-06-14 15:14:19 -06:00
f75eda4bf4 Updating size of set in restart 2023-06-14 14:16:46 -06:00
6de50fbd33 Adding iso options to fix deform 2023-06-14 13:39:24 -06:00
a05fcc326e Implement born_matrix() in bond_gaussian.cpp 2023-06-12 12:47:21 +03:00
85765a2bf3 Include born_matrix() definition in bond_gaussian.h 2023-06-12 12:45:52 +03:00
3e2d5098c0 Update create_atoms.rst 2023-06-07 22:07:57 -04:00
0e07089de6 create_atoms:overlap_keyword_w_atomic_molecules 2023-06-07 22:04:28 -04:00
59bdb136dc added qtotal keyword 2023-05-31 14:50:55 +00:00
6f59b7c5e0 Fixing misc bugs with interfaces 2023-05-23 22:12:34 -06:00
b4e1effe5f Improving options for outputting gradients 2023-05-19 13:10:39 -06:00
55f7e9271c removing old files 2023-05-12 23:34:26 -06:00
dfc47a5501 Fixing various errors, reorganizing status variable 2023-05-12 23:33:02 -06:00
35418afd6b Rename CRK -> RK 2023-05-11 14:19:32 -06:00
4a419b2f00 Adding rheo property/atom compute odc 2023-05-01 14:47:52 -06:00
c81c4cefc0 Fixing pair label 2023-05-01 14:32:14 -06:00
0b1d393d78 Adding arguments to doc page 2023-05-01 14:05:47 -06:00
0cd22dd0d2 Creating doc pages and links for rheo 2023-04-27 21:04:04 -06:00
0cd3bd190f Fixing various memory issues 2023-04-26 12:14:40 -06:00
be568d257d Adding output option for reorganized peratom values 2023-04-25 16:29:29 -06:00
7fc916a1d4 Prototyping example and accessory commands 2023-04-25 13:38:37 -06:00
7cfe45c00b Adding gsl version, cmake options, readme files 2023-04-25 10:29:39 -06:00
47b8cdc94f Fixing compilation errors 2023-04-24 19:46:27 -06:00
74cf149aef Merge branch 'lammps:develop' into main 2023-04-24 09:00:00 -06:00
35d1178cfa Adding cmake options, fixing a few misc errors 2023-04-20 20:15:17 -06:00
de0e4bb170 Rho sum compute 2023-04-20 16:17:04 -06:00
a4d971df52 Updating surface compute 2023-04-20 14:45:35 -06:00
d85ce6a392 Initial surface compute 2023-04-19 17:15:00 -06:00
5980fdf9fd Revising interface compute 2023-04-15 21:15:37 -06:00
93ecbbdcff Modified CMAKE file so we can hopefully use the PLUMED_SUFFIX 2023-04-13 15:42:26 +01:00
986cfd6641 Cleaning up peratom variables, adding peratom variables to fix rheo/interface 2023-04-12 17:05:05 -06:00
3b01845f11 Updated API versions that are allowed for PLUMED 2023-04-08 19:45:50 +01:00
b456beb62f Reorganizing intel npair to work with cmake, adding intel stencil 2023-03-28 13:55:12 -06:00
781eb934c1 Adding mass to python numpy unittest of KE 2023-03-27 16:37:11 -06:00
c319231395 Merge branch 'develop' into consolidate_neigh_classes 2023-03-27 10:33:04 -06:00
79ddd1445f Misc clean ups, initial draft of interface 2023-03-26 17:04:56 -06:00
bfb3457b9e Adding memory usage 2023-03-26 14:44:01 -06:00
98050c96cc Cleaning up kernel compute 2023-03-26 14:30:34 -06:00
908c32788c Cleaning up fix rheo, initial sketch of kernel compute 2023-03-25 20:17:17 -06:00
d98435f435 removing merge conflict 2023-03-24 22:02:30 -06:00
29edfc45d7 Adding heat/temperature checks/zeroing to thermal fix 2023-03-24 21:59:17 -06:00
b46b786a3f Merge pull request #3 from EricPalermo/rheo
Rheo
2023-03-24 15:43:30 -06:00
0a3a4c527d generalized density in dT calculation 2023-03-24 16:43:34 -04:00
bf669d526b test adding file 2023-03-24 15:38:26 -04:00
3964321e0b Merge branch 'develop' into rheo 2023-03-22 21:53:36 -06:00
beb6f934f8 adding new peratom storage to pressure 2023-03-22 21:44:11 -06:00
b550d72e38 Fixing merge conflicts 2023-03-22 21:35:54 -06:00
886c642e01 Cleaning up pairstyle 2023-03-22 21:15:54 -06:00
bad1188c52 Reorganizing peratom arrays 2023-03-22 17:27:51 -06:00
cc7c4bed76 Merge branch 'develop' into consolidate_neigh_classes 2023-03-16 20:30:38 -06:00
6e65d13ad3 Adding vshift + pressure, various fixes 2023-02-26 21:13:32 -07:00
ecf43524d4 Most updates to pair 2023-02-21 22:07:11 -07:00
99e7673e8e Starting pair style, various clean ups 2023-02-21 19:41:52 -07:00
c715552f7e Ensuring fix order 2023-02-21 10:17:15 -07:00
1adc66e82b Beginning updates to thermal fix 2023-02-20 22:07:30 -07:00
c73f9188ce Initial thermal/pair files 2023-02-20 20:42:44 -07:00
4ac7a228b5 Revamping atom data storage in fixes 2023-02-20 12:47:51 -07:00
560bd90e11 Drafting viscosity fix 2023-02-19 22:08:02 -07:00
6cbade576c Adding gradient compute, minor patch bond history 2023-02-19 20:41:33 -07:00
348296e638 Adding base fix and atom style 2023-02-15 16:07:10 -07:00
7d8866891a Call particle_map in compute of pppm/electrode 2023-02-01 11:35:03 +01:00
7160594902 Warning for mobile electrode atoms 2023-01-31 07:39:31 +00:00
c4676aabfd Adding missing variables from omp npair halffull 2022-11-23 09:58:46 -07:00
58f9553bf1 Copying fixes to omp 2022-11-23 08:52:21 -07:00
8f81cd80b6 Fixing a few errors in npair/stencil classes 2022-11-22 21:31:31 -07:00
f3d5941301 Updating logic for multi 2022-11-14 20:48:02 -07:00
b3e6a0bfa3 Fixing mistake in multi stencil 2022-11-12 20:44:45 -07:00
b0dcaa3823 Updating OPENMP package 2022-11-12 16:18:11 -07:00
213df2e2d5 Merge branch 'develop' into consolidate_neigh_classes 2022-11-11 20:41:19 -07:00
11f3195b0c Fixing more oversights in npair classes 2022-11-11 20:35:52 -07:00
c5181bb7c8 Fixing various oversights in npair classes 2022-11-11 16:56:21 -07:00
48a957f333 Remove screen print 2022-11-03 09:04:50 -06:00
02370fa25e Include headers in ace-evaluator directory 2022-11-02 14:51:00 -06:00
301877c6db Merge branch 'compute-pace' of https://github.com/jmgoff/lammps_compute_PACE into compute-pace 2022-11-02 14:11:15 -06:00
f8b29e09cd Merge branch 'lammps:develop' into compute-pace 2022-11-02 14:10:53 -06:00
6544fbd248 Fixing compilation mistake, updating dev reference 2022-10-30 21:04:31 -06:00
33c84963e9 Merging with develop 2022-10-30 12:45:33 -06:00
fcc47158b3 Adding other npair classes 2022-10-29 20:35:04 -06:00
9cff8b4ae6 Merge branch 'compute-pace' of github.com:jmgoff/lammps_compute_PACE into compute-pace
Updated with new PRs from Yuri
2022-10-28 14:18:42 -06:00
5c6dedae52 fixed bug for bikflag 1 dgradflag 0 2022-10-28 14:17:24 -06:00
e74b6769a9 No need to populate map in constructor 2022-10-28 14:17:24 -06:00
9130f0a327 Working multi-element example 2022-10-28 14:17:24 -06:00
0159810cc8 add examples 2022-10-28 14:17:24 -06:00
3a57f5185d add examples 2022-10-28 14:17:24 -06:00
40b76b24a0 Merge branch 'develop' of https://github.com/lammps/lammps into develop 2022-10-28 14:16:42 -06:00
63618d2490 Adding scalar pressure compute 2022-10-24 10:59:22 -06:00
173e2382b3 Adding documentation, various updates 2022-10-22 19:03:52 -06:00
e8cd992891 fixed bug for bikflag 1 dgradflag 0 2022-10-18 17:29:56 -06:00
614fb3cbdd Adding other nstencil classes 2022-10-16 21:02:02 -06:00
66471c1465 Adding pressure controls and fixing misc errors 2022-10-11 16:52:02 -06:00
b8728884fc Drafting stress controls in fix deform 2022-10-10 10:33:47 -06:00
079ab1946f No need to populate map in constructor 2022-10-06 10:38:43 -06:00
a7d16f486f Working multi-element example 2022-10-06 10:38:43 -06:00
bc6a419dd4 add examples 2022-10-06 10:38:43 -06:00
ca98afea7a add examples 2022-10-06 10:38:43 -06:00
39f0051de6 Merge branch 'develop' of github.com:lammps/lammps into develop
Update the ML-PACE code to include recent updates from lammps-user-pace
including gamma pair fix.
2022-10-06 10:36:29 -06:00
80da41efc9 No need to populate map in constructor 2022-09-29 10:53:28 -06:00
85da521642 Working multi-element example 2022-09-29 10:07:22 -06:00
b4eab5e9b0 add examples 2022-09-28 13:08:56 -06:00
43698824f1 add examples 2022-09-28 13:07:50 -06:00
a03a6a9692 compute pace for ACE descriptor calculations 2022-09-28 10:12:00 -06:00
25b89473b2 changing order of central bin 2022-09-03 16:46:55 -06:00
fb2cf0c32a Prototyping new nstencil/npair classes 2022-08-04 14:05:18 -06:00
f024abfe34 make simpler, faster, more self-contained
(and fix bugs)
2022-06-07 11:10:36 -04:00
5bc1fb1580 revert unneeded changes to atom_vec 2022-06-07 10:47:18 -04:00
2f003e86b9 Merge branch 'lammps:develop' into replicate_periodic_box 2022-06-07 10:39:55 -04:00
e8e2a0fd40 Merge branch 'develop' into replicate_periodic_box 2022-05-29 13:29:56 -04:00
b4c58c9828 actually reset image flags 2022-04-22 21:19:53 -04:00
78458a2143 add mention of example in docs 2022-02-23 01:04:04 -05:00
be6c41a85a delete now-unused variable 2022-02-23 00:44:39 -05:00
200ea62fd3 simplify things 2022-02-13 15:22:13 -05:00
793cfe05f9 spacing 2022-02-13 15:09:32 -05:00
2c0a9cf572 better contain bondlist code 2022-02-13 15:06:10 -05:00
5c1486661c revert now unnecessary edits 2022-02-13 14:53:16 -05:00
44c3f4e562 fix for breaking kokkos 2022-02-13 14:51:23 -05:00
437e7829cc Update replicate.rst 2022-02-13 14:11:15 -05:00
7288d78331 reset image flag for bondlist option 2022-02-13 14:06:19 -05:00
2a4dbe5bbc bondlist_flag correction 2022-02-13 13:51:20 -05:00
22cca33966 typo 2022-02-07 18:02:17 -05:00
ac7db5041f add example for bondlist option validation 2022-02-06 16:14:30 -05:00
caafe2ff26 bondlist option docs 2022-02-06 15:31:02 -05:00
e384dfa424 'bondlist' option for replicate command
generalizes the command to work for periodic systems
2022-02-06 14:44:49 -05:00
3921 changed files with 388597 additions and 151201 deletions

32
.github/CODEOWNERS vendored
View File

@ -37,7 +37,8 @@ src/MESONT/* @iafoss
src/ML-HDNNP/* @singraber
src/ML-IAP/* @athomps
src/ML-PACE/* @yury-lysogorskiy
src/ML-POD/* @exapde @rohskopf
src/ML-POD/* @exapde
src/ML-UF3/* @monk-04
src/MOFFF/* @hheenen
src/MOLFILE/* @akohlmey
src/NETCDF/* @pastewka
@ -49,6 +50,7 @@ src/PTM/* @pmla
src/QMMM/* @akohlmey
src/REACTION/* @jrgissing
src/REAXFF/* @hasanmetin @stanmoore1
src/RHEO/* @jtclemm
src/SCAFACOS/* @rhalver
src/SNAP/* @athomps
src/SPIN/* @julient31
@ -58,17 +60,26 @@ src/VTK/* @rbberger
# individual files in packages
src/GPU/pair_vashishta_gpu.* @andeplane
src/KOKKOS/pair_vashishta_kokkos.* @andeplane
src/KOKKOS/pair_vashishta_kokkos.* @andeplane @stanmoore1
src/KOSSOS/pair_pod_kokkos.* @exapde @stanmoore1
src/MANYBODY/pair_vashishta_table.* @andeplane
src/MANYBODY/pair_atm.* @sergeylishchuk
src/MANYBODY/pair_nb3b_screened.* @flodesani
src/REPLICA/*_grem.* @dstelter92
src/EXTRA-COMMAND/geturl.* @akohlmey
src/EXTRA-COMMAND/group_ndx.* @akohlmey
src/EXTRA-COMMAND/ndx_group.* @akohlmey
src/EXTRA-COMPUTE/compute_stress_mop*.* @RomainVermorel
src/EXTRA-COMPUTE/compute_born_matrix.* @Bibobu @athomps
src/EXTRA-FIX/fix_deform_pressure.* @jtclemm
src/MISC/*_tracker.* @jtclemm
src/MC/fix_gcmc.* @athomps
src/MC/fix_sgcmc.* @athomps
src/REAXFF/compute_reaxff_atom.* @rbberger
src/KOKKOS/compute_reaxff_atom_kokkos.* @rbberger
src/REPLICA/fix_pimd_langevin.* @Yi-FanLi
src/DPD-BASIC/pair_dpd_coul_slater_long.* @Eddy-Barraud
src/GPU/pair_dpd_coul_slater_long.* @Eddy-Barraud
# core LAMMPS classes
src/lammps.* @sjplimp
@ -80,7 +91,7 @@ src/bond.* @sjplimp
src/comm*.* @sjplimp
src/compute.* @sjplimp
src/dihedral.* @sjplimp
src/domain.* @sjplimp
src/domain.* @sjplimp @stanmoore1
src/dump*.* @sjplimp
src/error.* @sjplimp
src/finish.* @sjplimp
@ -88,9 +99,10 @@ src/fix.* @sjplimp
src/force.* @sjplimp
src/group.* @sjplimp
src/improper.* @sjplimp
src/info.* @akohlmey
src/kspace.* @sjplimp
src/lmptyp.h @sjplimp
src/library.* @sjplimp
src/library.* @sjplimp @akohlmey
src/main.cpp @sjplimp
src/min_*.* @sjplimp
src/memory.* @sjplimp
@ -98,12 +110,12 @@ src/modify.* @sjplimp @stanmoore1
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/npair*.* @sjplimp @jtclemm
src/ntopo*.* @sjplimp @jtclemm
src/nstencil*.* @sjplimp @jtclemm
src/neighbor.* @sjplimp @jtclemm
src/nbin*.* @sjplimp @jtclemm
src/neigh_*.* @sjplimp @jtclemm
src/output.* @sjplimp
src/pair.* @sjplimp
src/rcb.* @sjplimp

View File

@ -30,12 +30,12 @@ jobs:
fetch-depth: 2
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql/${{ matrix.language }}.yml
@ -55,4 +55,4 @@ jobs:
cmake --build . --parallel 2
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

View File

@ -24,7 +24,7 @@ jobs:
fetch-depth: 2
- name: Select Python version
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.11'

View File

@ -25,7 +25,7 @@ jobs:
- name: Cache Coverity
id: cache-coverity
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ./download/
key: ${{ runner.os }}-download-${{ hashFiles('**/coverity_tool.*') }}
@ -59,16 +59,13 @@ jobs:
-D BUILD_SHARED_LIBS=on \
-D LAMMPS_SIZES=SMALLBIG \
-D LAMMPS_EXCEPTIONS=off \
-D PKG_MESSAGE=on \
-D PKG_MPIIO=on \
-D PKG_ATC=on \
-D PKG_AWPMD=on \
-D PKG_BOCS=on \
-D PKG_EFF=on \
-D PKG_H5MD=on \
-D PKG_INTEL=on \
-D PKG_LATBOLTZ=on \
-D PKG_MANIFOLD=on \
-D PKG_MDI=on \
-D PKG_MGPT=on \
-D PKG_ML-PACE=on \
-D PKG_ML-RANN=on \
@ -77,7 +74,6 @@ jobs:
-D PKG_PTM=on \
-D PKG_QTB=on \
-D PKG_SMTBQ=on \
-D PKG_TALLY=on \
../cmake
- name: Run Coverity Scan

View File

@ -15,7 +15,7 @@ jobs:
build:
name: MacOS Unit Test
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: macos-latest
runs-on: macos-13
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
@ -32,7 +32,7 @@ jobs:
run: mkdir build
- name: Set up ccache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: macos-ccache-${{ github.sha }}
@ -43,6 +43,8 @@ jobs:
working-directory: build
run: |
ccache -z
python3 -m venv macosenv
source macosenv/bin/activate
python3 -m pip install numpy
python3 -m pip install pyyaml
cmake -C ../cmake/presets/clang.cmake \

11
.gitignore vendored
View File

@ -43,12 +43,12 @@ Thumbs.db
#cmake
/build*
/CMakeCache.txt
/CMakeFiles/
/Testing
CMakeCache.txt
CMakeFiles
/Makefile
/Testing
/cmake_install.cmake
Testing
Temporary
cmake_install.cmake
/lmp
out/Debug
out/RelWithDebInfo
@ -60,3 +60,4 @@ src/Makefile.package.settings-e
/cmake/build/x64-Debug-Clang
/install/x64-GUI-MSVC
/install
.Rhistory

View File

@ -12,6 +12,11 @@ endif()
if(POLICY CMP0075)
cmake_policy(SET CMP0075 NEW)
endif()
# set policy to silence warnings about requiring execute permission for find_program
# we use OLD because the python-config script for the Fedora MinGW cross-compiler requires it currently
if(POLICY CMP0109)
cmake_policy(SET CMP0109 OLD)
endif()
# set policy to silence warnings about timestamps of downloaded files. review occasionally if it may be set to NEW
if(POLICY CMP0135)
cmake_policy(SET CMP0135 OLD)
@ -23,6 +28,7 @@ project(lammps CXX)
set(SOVERSION 0)
get_property(BUILD_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
include(GNUInstallDirs)
get_filename_component(LAMMPS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. ABSOLUTE)
get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE)
# collect all executables and shared libs in the top level build folder
@ -120,6 +126,19 @@ if((CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC") OR (CMAKE_CXX_COMPILER_ID STREQUAL "
set(CMAKE_TUNE_DEFAULT "-Minform=severe")
endif()
# this hack is required to compile fmt lib with CrayClang version 15.0.2
# CrayClang is only directly recognized by version 3.28 and later
if(CMAKE_VERSION VERSION_LESS 3.28)
get_filename_component(_exe "${CMAKE_CXX_COMPILER}" NAME)
if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (_exe STREQUAL "crayCC"))
set(CMAKE_TUNE_DEFAULT "-DFMT_STATIC_THOUSANDS_SEPARATOR")
endif()
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang")
set(CMAKE_TUNE_DEFAULT "-DFMT_STATIC_THOUSANDS_SEPARATOR")
endif()
endif()
# silence nvcc warnings
if((PKG_KOKKOS) AND (Kokkos_ENABLE_CUDA) AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
set(CMAKE_TUNE_DEFAULT "${CMAKE_TUNE_DEFAULT} -Xcudafe --diag_suppress=unrecognized_pragma")
@ -150,6 +169,22 @@ if(MSVC)
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
endif()
# warn about potentially problematic GCC compiler versions
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if (CMAKE_CXX_STANDARD GREATER_EQUAL 17)
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
message(WARNING "Using ${CMAKE_CXX_COMPILER_ID} compiler version ${CMAKE_CXX_COMPILER_VERSION} "
"with C++17 is not recommended. Please use ${CMAKE_CXX_COMPILER_ID} compiler version 9.x or later")
endif()
endif()
if (CMAKE_CXX_STANDARD GREATER_EQUAL 11)
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
message(WARNING "Using ${CMAKE_CXX_COMPILER_ID} compiler version ${CMAKE_CXX_COMPILER_VERSION} "
"with C++11 is not recommended. Please use ${CMAKE_CXX_COMPILER_ID} compiler version 5.x or later")
endif()
endif()
endif()
# export all symbols when building a .dll file on windows
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND BUILD_SHARED_LIBS)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
@ -184,18 +219,17 @@ set(LAMMPS_BINARY lmp${LAMMPS_MACHINE})
option(BUILD_SHARED_LIBS "Build shared library" OFF)
option(CMAKE_POSITION_INDEPENDENT_CODE "Create object compatible with shared libraries" ON)
option(BUILD_TOOLS "Build and install LAMMPS tools (msi2lmp, binary2txt, chain)" OFF)
option(BUILD_LAMMPS_SHELL "Build and install the LAMMPS shell" OFF)
option(BUILD_LAMMPS_GUI "Build and install the LAMMPS GUI" OFF)
# Support using clang-tidy for C++ files with selected options
set(ENABLE_CLANG_TIDY OFF CACHE BOOL "Include clang-tidy processing when compiling")
if(ENABLE_CLANG_TIDY)
set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=-*,performance-trivially-destructible,performance-unnecessary-copy-initialization,performance-unnecessary-value-param,readability-redundant-control-flow,readability-redundant-declaration,readability-redundant-function-ptr-dereference,readability-redundant-member-init,readability-redundant-string-cstr,readability-redundant-string-init,readability-simplify-boolean-expr,readability-static-accessed-through-instance,readability-static-definition-in-anonymous-namespace,modernize-use-override,modernize-use-bool-literals,modernize-use-emplace,modernize-return-braced-init-list,modernize-use-equals-default,modernize-use-equals-delete,modernize-replace-random-shuffle,modernize-deprecated-headers,modernize-use-nullptr,modernize-use-noexcept,modernize-redundant-void-arg;-fix;-header-filter=.*,header-filter=library.h,header-filter=fmt/*.h" CACHE STRING "clang-tidy settings")
set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=-*,performance-trivially-destructible,performance-unnecessary-copy-initialization,performance-unnecessary-value-param,readability-redundant-control-flow,readability-redundant-declaration,readability-redundant-function-ptr-dereference,readability-redundant-member-init,readability-redundant-string-cstr,readability-redundant-string-init,readability-simplify-boolean-expr,readability-static-accessed-through-instance,readability-static-definition-in-anonymous-namespace,readability-qualified-auto,misc-unused-parameters,modernize-deprecated-ios-base-aliases,modernize-loop-convert,modernize-shrink-to-fit,modernize-use-auto,modernize-use-using,modernize-use-override,modernize-use-bool-literals,modernize-use-emplace,modernize-return-braced-init-list,modernize-use-equals-default,modernize-use-equals-delete,modernize-replace-random-shuffle,modernize-deprecated-headers,modernize-use-nullptr,modernize-use-noexcept,modernize-redundant-void-arg;-fix;-header-filter=.*,header-filter=library.h,header-filter=fmt/*.h" CACHE STRING "clang-tidy settings")
else()
unset(CMAKE_CXX_CLANG_TIDY CACHE)
endif()
include(GNUInstallDirs)
file(GLOB ALL_SOURCES CONFIGURE_DEPENDS ${LAMMPS_SOURCE_DIR}/[^.]*.cpp)
file(GLOB MAIN_SOURCES CONFIGURE_DEPENDS ${LAMMPS_SOURCE_DIR}/main.cpp)
list(REMOVE_ITEM ALL_SOURCES ${MAIN_SOURCES})
@ -209,6 +243,10 @@ endif()
add_executable(lmp ${MAIN_SOURCES})
target_link_libraries(lmp PRIVATE lammps)
set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY})
# re-export all symbols for plugins
if(PKG_PLUGIN AND (NOT ((CMAKE_SYSTEM_NAME STREQUAL "Windows"))))
set_target_properties(lmp PROPERTIES ENABLE_EXPORTS TRUE)
endif()
install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR})
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
@ -239,6 +277,7 @@ set(STANDARD_PACKAGES
DRUDE
EFF
ELECTRODE
EXTRA-COMMAND
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
@ -264,10 +303,11 @@ set(STANDARD_PACKAGES
ML-HDNNP
ML-IAP
ML-PACE
ML-POD
ML-QUIP
ML-RANN
ML-SNAP
ML-POD
ML-UF3
MOFFF
MOLECULE
MOLFILE
@ -286,6 +326,7 @@ set(STANDARD_PACKAGES
REACTION
REAXFF
REPLICA
RHEO
RIGID
SCAFACOS
SHOCK
@ -390,6 +431,7 @@ pkg_depends(CG-DNA ASPHERE)
pkg_depends(ELECTRODE KSPACE)
pkg_depends(EXTRA-MOLECULE MOLECULE)
pkg_depends(MESONT MOLECULE)
pkg_depends(RHEO BPM)
# detect if we may enable OpenMP support by default
set(BUILD_OMP_DEFAULT OFF)
@ -415,6 +457,7 @@ if(BUILD_OMP)
(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM") OR (CMAKE_CXX_COMPILER_ID STREQUAL "XLClang") OR
((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0)))
# GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts.
# Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe.
@ -425,6 +468,21 @@ if(BUILD_OMP)
target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=${LAMMPS_OMP_COMPAT_LEVEL})
target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX)
target_link_libraries(lmp PRIVATE OpenMP::OpenMP_CXX)
# this hack is required to correctly link with OpenMP support when using CrayClang version 15.0.2
# CrayClang is only directly recognized by version 3.28 and later
if(CMAKE_VERSION VERSION_LESS 3.28)
get_filename_component(_exe "${CMAKE_CXX_COMPILER}" NAME)
if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (_exe STREQUAL "crayCC"))
set(CMAKE_SHARED_LINKER_FLAGS_${BTYPE} "${CMAKE_SHARED_LINKER_FLAGS_${BTYPE} -fopenmp")
set(CMAKE_STATIC_LINKER_FLAGS_${BTYPE} "${CMAKE_STATIC_LINKER_FLAGS_${BTYPE} -fopenmp")
endif()
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang")
set(CMAKE_SHARED_LINKER_FLAGS_${BTYPE} "${CMAKE_SHARED_LINKER_FLAGS_${BTYPE} -fopenmp")
set(CMAKE_STATIC_LINKER_FLAGS_${BTYPE} "${CMAKE_STATIC_LINKER_FLAGS_${BTYPE} -fopenmp")
endif()
endif()
endif()
# lower C++ standard for fmtlib sources when using Intel classic compiler
@ -457,6 +515,14 @@ if(PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_ML-POD OR PKG_ELECTRODE OR BUILD_T
endif()
endif()
find_package(CURL QUIET COMPONENTS HTTP HTTPS)
option(WITH_CURL "Enable libcurl support" ${CURL_FOUND})
if(WITH_CURL)
find_package(CURL REQUIRED COMPONENTS HTTP HTTPS)
target_compile_definitions(lammps PRIVATE -DLAMMPS_CURL)
target_link_libraries(lammps PRIVATE CURL::libcurl)
endif()
# tweak jpeg library names to avoid linker errors with MinGW cross-compilation
set(JPEG_NAMES libjpeg libjpeg-62)
find_package(JPEG QUIET)
@ -514,7 +580,7 @@ else()
endif()
foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI COLVARS ML-HDNNP MDI MOLFILE NETCDF
PLUMED QMMM ML-QUIP SCAFACOS MACHDYN VTK KIM COMPRESS ML-PACE LEPTON)
PLUMED QMMM ML-QUIP SCAFACOS MACHDYN VTK KIM COMPRESS ML-PACE LEPTON RHEO)
if(PKG_${PKG_WITH_INCL})
include(Packages/${PKG_WITH_INCL})
endif()
@ -539,12 +605,12 @@ endforeach()
########################################################################
# Basic system tests (standard libraries, headers, functions, types) #
########################################################################
foreach(HEADER cmath)
check_include_file_cxx(${HEADER} FOUND_${HEADER})
if(NOT FOUND_${HEADER})
message(FATAL_ERROR "Could not find needed header - ${HEADER}")
endif(NOT FOUND_${HEADER})
endforeach(HEADER)
if (NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")))
check_include_file_cxx(cmath FOUND_CMATH)
if(NOT FOUND_CMATH)
message(FATAL_ERROR "Could not find the required 'cmath' header")
endif(NOT FOUND_CMATH)
endif()
# make the standard math library overrideable and autodetected (for systems that don't have it)
find_library(STANDARD_MATH_LIB m DOC "Standard Math library")
@ -656,7 +722,7 @@ endif()
# packages which selectively include variants based on enabled styles
# e.g. accelerator packages
######################################################################
foreach(PKG_WITH_INCL CORESHELL DPD-SMOOTH MC MISC PHONON QEQ OPENMP KOKKOS OPT INTEL GPU)
foreach(PKG_WITH_INCL CORESHELL DPD-BASIC DPD-SMOOTH MC MISC PHONON QEQ OPENMP KOKKOS OPT INTEL GPU)
if(PKG_${PKG_WITH_INCL})
include(Packages/${PKG_WITH_INCL})
endif()
@ -834,7 +900,7 @@ endif()
include(Testing)
include(CodeCoverage)
include(CodingStandard)
find_package(ClangFormat 8.0)
find_package(ClangFormat 11.0)
if(ClangFormat_FOUND)
add_custom_target(format-src
@ -904,6 +970,7 @@ message(STATUS "<<< Compilers and Flags: >>>
-- C++ Compiler: ${CMAKE_CXX_COMPILER}
Type: ${CMAKE_CXX_COMPILER_ID}
Version: ${CMAKE_CXX_COMPILER_VERSION}
C++ Standard: ${CMAKE_CXX_STANDARD}
C++ Flags: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}
Defines: ${DEFINES}")
get_target_property(OPTIONS lammps COMPILE_OPTIONS)
@ -971,34 +1038,37 @@ if(PKG_KOKKOS)
endif()
endif()
if(PKG_KSPACE)
message(STATUS "<<< FFT settings >>>
if (FFT_USE_HEFFTE)
message(STATUS "<<< FFT settings >>>
-- Primary FFT lib: heFFTe")
if (FFT_HEFFTE_BACKEND)
message(STATUS "heFFTe backend: ${FFT_HEFFTE_BACKEND}")
else()
message(STATUS "heFFTe backend: stock (builtin FFT implementation, tested for corrected but not optimized for production)")
endif()
message(STATUS "Using distributed FFT algorithms from heFTTe")
if(FFT_SINGLE)
message(STATUS "Using single precision FFTs")
else()
message(STATUS "Using double precision FFTs")
endif()
else()
message(STATUS "<<< FFT settings >>>
-- Primary FFT lib: ${FFT}")
if(FFT_SINGLE)
message(STATUS "Using single precision FFTs")
else()
message(STATUS "Using double precision FFTs")
endif()
if(FFT_FFTW_THREADS OR FFT_MKL_THREADS)
message(STATUS "Using threaded FFTs")
else()
message(STATUS "Using non-threaded FFTs")
if(FFT_SINGLE)
message(STATUS "Using single precision FFTs")
else()
message(STATUS "Using double precision FFTs")
endif()
if(FFT_FFTW_THREADS OR FFT_MKL_THREADS)
message(STATUS "Using threaded FFTs")
else()
message(STATUS "Using non-threaded FFTs")
endif()
message(STATUS "Using builtin distributed FFT algorithms")
endif()
if(PKG_KOKKOS)
if(Kokkos_ENABLE_CUDA)
if(FFT STREQUAL "KISS")
message(STATUS "Kokkos FFT: KISS")
else()
message(STATUS "Kokkos FFT: cuFFT")
endif()
elseif(Kokkos_ENABLE_HIP)
if(FFT STREQUAL "KISS")
message(STATUS "Kokkos FFT: KISS")
else()
message(STATUS "Kokkos FFT: hipFFT")
endif()
else()
message(STATUS "Kokkos FFT: ${FFT}")
endif()
message(STATUS "Kokkos FFT: ${FFT_KOKKOS}")
endif()
endif()
if(BUILD_DOC)
@ -1007,9 +1077,6 @@ endif()
if(BUILD_TOOLS)
message(STATUS "<<< Building Tools >>>")
endif()
if(BUILD_LAMMPS_SHELL)
message(STATUS "<<< Building LAMMPS Shell >>>")
endif()
if(BUILD_LAMMPS_GUI)
message(STATUS "<<< Building LAMMPS GUI >>>")
if(LAMMPS_GUI_USE_PLUGIN)

View File

@ -1,11 +1,3 @@
if(NOT DEFINED HIP_PATH)
if(NOT DEFINED ENV{HIP_PATH})
message(FATAL_ERROR "HIP support requires HIP_PATH to be defined.\n"
"Either pass the HIP_PATH as a CMake option via -DHIP_PATH=... or set the HIP_PATH environment variable.")
else()
set(HIP_PATH $ENV{HIP_PATH} CACHE PATH "Path to HIP installation")
endif()
endif()
if(NOT DEFINED ROCM_PATH)
if(NOT DEFINED ENV{ROCM_PATH})
set(ROCM_PATH "/opt/rocm" CACHE PATH "Path to ROCm installation")
@ -13,4 +5,4 @@ if(NOT DEFINED ROCM_PATH)
set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Path to ROCm installation")
endif()
endif()
list(APPEND CMAKE_PREFIX_PATH ${HIP_PATH} ${ROCM_PATH})
list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH})

View File

@ -43,5 +43,5 @@ function(ExternalCMakeProject target url hash basedir cmakedir cmakefile)
"${CMAKE_BINARY_DIR}/_deps/${target}-src/${cmakedir}/CMakeLists.txt")
endif()
add_subdirectory("${CMAKE_BINARY_DIR}/_deps/${target}-src/${cmakedir}"
"${CMAKE_BINARY_DIR}/_deps/${target}-build")
"${CMAKE_BINARY_DIR}/_deps/${target}-build" EXCLUDE_FROM_ALL)
endfunction(ExternalCMakeProject)

View File

@ -1,5 +1,8 @@
# Find clang-format
find_program(ClangFormat_EXECUTABLE NAMES clang-format
clang-format-20.0
clang-format-19.0
clang-format-18.0
clang-format-17.0
clang-format-16.0
clang-format-15.0

View File

@ -32,7 +32,13 @@ function(check_omp_h_include)
set(CMAKE_REQUIRED_INCLUDES ${OpenMP_CXX_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LINK_OPTIONS ${OpenMP_CXX_FLAGS})
set(CMAKE_REQUIRED_LIBRARIES ${OpenMP_CXX_LIBRARIES})
check_include_file_cxx(omp.h _have_omp_h)
# there are all kinds of problems with finding omp.h
# for Clang and derived compilers so we pretend it is there.
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(_have_omp_h TRUE)
else()
check_include_file_cxx(omp.h _have_omp_h)
endif()
else()
set(_have_omp_h FALSE)
endif()

View File

@ -1,6 +1,6 @@
message(STATUS "Downloading and building OpenCL loader library")
set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2022.01.04.tar.gz" CACHE STRING "URL for OpenCL loader tarball")
set(OPENCL_LOADER_MD5 "8d3a801e87a2c6653bf0e27707063914" CACHE STRING "MD5 checksum of OpenCL loader tarball")
set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2024.05.09.tar.gz" CACHE STRING "URL for OpenCL loader tarball")
set(OPENCL_LOADER_MD5 "e7796826b21c059224fabe997e0f2075" CACHE STRING "MD5 checksum of OpenCL loader tarball")
mark_as_advanced(OPENCL_LOADER_URL)
mark_as_advanced(OPENCL_LOADER_MD5)
@ -8,4 +8,3 @@ set(INSTALL_LIBOPENCL OFF CACHE BOOL "" FORCE)
include(ExternalCMakeProject)
ExternalCMakeProject(opencl_loader ${OPENCL_LOADER_URL} ${OPENCL_LOADER_MD5} opencl-loader . "")
add_library(OpenCL::OpenCL ALIAS OpenCL)

View File

@ -24,6 +24,12 @@ target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars)
target_include_directories(colvars PRIVATE ${LAMMPS_SOURCE_DIR})
target_link_libraries(lammps PRIVATE colvars)
if(BUILD_OMP)
# Enable OpenMP for Colvars as well
target_compile_options(colvars PRIVATE ${OpenMP_CXX_FLAGS})
target_link_libraries(colvars PRIVATE OpenMP::OpenMP_CXX)
endif()
if(COLVARS_DEBUG)
# Need to export the define publicly to be valid in interface code
target_compile_definitions(colvars PUBLIC -DCOLVARS_DEBUG)

View File

@ -0,0 +1,9 @@
# pair style dpd/coul/slater/long may only be installed if also KSPACE is installed
if(NOT PKG_KSPACE)
get_property(LAMMPS_PAIR_HEADERS GLOBAL PROPERTY PAIR)
list(REMOVE_ITEM LAMMPS_PAIR_HEADERS ${LAMMPS_SOURCE_DIR}/DPD-BASIC/pair_dpd_coul_slater_long.h)
set_property(GLOBAL PROPERTY PAIR "${LAMMPS_PAIR_HEADERS}")
get_target_property(LAMMPS_SOURCES lammps SOURCES)
list(REMOVE_ITEM LAMMPS_SOURCES ${LAMMPS_SOURCE_DIR}/DPD-BASIC/pair_dpd_coul_slater_long.cpp)
set_property(TARGET lammps PROPERTY SOURCES "${LAMMPS_SOURCES}")
endif()

View File

@ -1,3 +1,10 @@
# Silence CMake warnings about FindCUDA being obsolete.
# We may need to eventually rewrite this section to use enable_language(CUDA)
if(POLICY CMP0146)
cmake_policy(SET CMP0146 OLD)
endif()
set(GPU_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/GPU)
set(GPU_SOURCES ${GPU_SOURCES_DIR}/gpu_extra.h
${GPU_SOURCES_DIR}/fix_gpu.h
@ -151,10 +158,10 @@ if(GPU_API STREQUAL "CUDA")
endif()
cuda_compile_fatbin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS ${CUDA_REQUEST_PIC}
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DNV_KERNEL -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES})
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -allow-unsupported-compiler -DNV_KERNEL -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES})
cuda_compile(GPU_OBJS ${GPU_LIB_CUDPP_CU} OPTIONS ${CUDA_REQUEST_PIC}
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES})
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -allow-unsupported-compiler -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES})
foreach(CU_OBJ ${GPU_GEN_OBJS})
get_filename_component(CU_NAME ${CU_OBJ} NAME_WE)

View File

@ -111,6 +111,9 @@ if(PKG_KSPACE)
list(APPEND INTEL_SOURCES ${INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
RegisterIntegrateStyle(${INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
endif()
if(PKG_ML-SNAP)
list(APPEND INTEL_SOURCES ${INTEL_SOURCES_DIR}/sna_intel.cpp)
endif()
target_sources(lammps PRIVATE ${INTEL_SOURCES})
target_include_directories(lammps PRIVATE ${INTEL_SOURCES_DIR})

View File

@ -16,11 +16,6 @@ endif()
if(Kokkos_ENABLE_OPENMP)
if(NOT BUILD_OMP)
message(FATAL_ERROR "Must enable BUILD_OMP with Kokkos_ENABLE_OPENMP")
else()
# NVHPC/(AMD)Clang does not seem to provide a detectable OpenMP version, but is far beyond version 3.1
if((OpenMP_CXX_VERSION VERSION_LESS 3.1) AND NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")))
message(FATAL_ERROR "Compiler must support OpenMP 3.1 or later with Kokkos_ENABLE_OPENMP")
endif()
endif()
endif()
########################################################################
@ -50,8 +45,8 @@ if(DOWNLOAD_KOKKOS)
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}")
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
include(ExternalProject)
set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.1.00.tar.gz" CACHE STRING "URL for KOKKOS tarball")
set(KOKKOS_MD5 "a5f096bd8ad01b97fdc7a32583b17a33" CACHE STRING "MD5 checksum of KOKKOS tarball")
set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.3.01.tar.gz" CACHE STRING "URL for KOKKOS tarball")
set(KOKKOS_MD5 "243de871b3dc2cf3990c1c404032df83" CACHE STRING "MD5 checksum of KOKKOS tarball")
mark_as_advanced(KOKKOS_URL)
mark_as_advanced(KOKKOS_MD5)
GetFallbackURL(KOKKOS_URL KOKKOS_FALLBACK)
@ -76,7 +71,7 @@ if(DOWNLOAD_KOKKOS)
add_dependencies(LAMMPS::KOKKOSCORE kokkos_build)
add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build)
elseif(EXTERNAL_KOKKOS)
find_package(Kokkos 4.1.00 REQUIRED CONFIG)
find_package(Kokkos 4.3.01 REQUIRED CONFIG)
target_link_libraries(lammps PRIVATE Kokkos::kokkos)
else()
set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos)
@ -131,16 +126,33 @@ if(PKG_KSPACE)
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/fft3d_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/grid3d_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp)
set(FFT_KOKKOS "KISS" CACHE STRING "FFT library for Kokkos-enabled KSPACE package")
set(FFT_KOKKOS_VALUES KISS FFTW3 MKL HIPFFT CUFFT)
set_property(CACHE FFT_KOKKOS PROPERTY STRINGS ${FFT_KOKKOS_VALUES})
validate_option(FFT_KOKKOS FFT_KOKKOS_VALUES)
string(TOUPPER ${FFT_KOKKOS} FFT_KOKKOS)
if(Kokkos_ENABLE_CUDA)
if(NOT (FFT STREQUAL "KISS"))
target_compile_definitions(lammps PRIVATE -DFFT_CUFFT)
target_link_libraries(lammps PRIVATE cufft)
if(NOT ((FFT_KOKKOS STREQUAL "KISS") OR (FFT_KOKKOS STREQUAL "CUFFT")))
message(FATAL_ERROR "The CUDA backend of Kokkos requires either KISS FFT or CUFFT.")
elseif(FFT_KOKKOS STREQUAL "KISS")
message(WARNING "Using KISS FFT with the CUDA backend of Kokkos may be sub-optimal.")
target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_KISS)
elseif(FFT_KOKKOS STREQUAL "CUFFT")
find_package(CUDAToolkit REQUIRED)
target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_CUFFT)
target_link_libraries(lammps PRIVATE CUDA::cufft)
endif()
elseif(Kokkos_ENABLE_HIP)
if(NOT (FFT STREQUAL "KISS"))
if(NOT ((FFT_KOKKOS STREQUAL "KISS") OR (FFT_KOKKOS STREQUAL "HIPFFT")))
message(FATAL_ERROR "The HIP backend of Kokkos requires either KISS FFT or HIPFFT.")
elseif(FFT_KOKKOS STREQUAL "KISS")
message(WARNING "Using KISS FFT with the HIP backend of Kokkos may be sub-optimal.")
target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_KISS)
elseif(FFT_KOKKOS STREQUAL "HIPFFT")
include(DetectHIPInstallation)
find_package(hipfft REQUIRED)
target_compile_definitions(lammps PRIVATE -DFFT_HIPFFT)
target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_HIPFFT)
target_link_libraries(lammps PRIVATE hip::hipfft)
endif()
endif()

View File

@ -46,6 +46,61 @@ else()
target_compile_definitions(lammps PRIVATE -DFFT_KISS)
endif()
option(FFT_USE_HEFFTE "Use heFFTe as the distributed FFT engine, overrides the FFT option." OFF)
if(FFT_USE_HEFFTE)
# if FFT_HEFFTE is enabled, use the heFFTe parallel engine instead of the builtin fftMPI engine
# map standard FFT choices to available heFFTe backends: FFTW3 -> FFTW, KISS -> BUILTIN
set(FFT_HEFFTE_BACKEND_VALUES FFTW MKL BUILTIN)
string(REPLACE FFTW3 FFTW FFT_HEFFTE_BACKEND_DEFAULT ${FFT})
string(REPLACE KISS BUILTIN FFT_HEFFTE_BACKEND_DEFAULT ${FFT_HEFFTE_BACKEND_DEFAULT})
set(FFT_HEFFTE_BACKEND "${FFT_HEFFTE_BACKEND_DEFAULT}" CACHE STRING "Select heFFTe backend, e.g., FFTW or MKL")
set_property(CACHE FFT_HEFFTE_BACKEND PROPERTY STRINGS ${FFT_HEFFTE_BACKEND_VALUES})
validate_option(FFT_HEFFTE_BACKEND FFT_HEFFTE_BACKEND_VALUES)
if(FFT_HEFFTE_BACKEND STREQUAL "FFTW") # respect the backend choice, FFTW or MKL
set(HEFFTE_COMPONENTS "FFTW")
set(Heffte_ENABLE_FFTW "ON" CACHE BOOL "Enables FFTW backend for heFFTe")
elseif(FFT_HEFFTE_BACKEND STREQUAL "MKL")
set(HEFFTE_COMPONENTS "MKL")
set(Heffte_ENABLE_MKL "ON" CACHE BOOL "Enables MKL backend for heFFTe")
else()
set(HEFFTE_COMPONENTS "BUILTIN")
message(WARNING "FFT_HEFFTE_BACKEND not selected, defaulting to the builtin 'stock' backend, which is intended for testing and is not optimized for production runs")
endif()
find_package(Heffte 2.4.0 QUIET COMPONENTS ${HEFFTE_COMPONENTS})
if (NOT Heffte_FOUND) # download and build
if(BUILD_SHARED_LIBS)
set(BUILD_SHARED_LIBS_WAS_ON YES)
set(BUILD_SHARED_LIBS OFF)
endif()
if(CMAKE_REQUEST_PIC)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
set(Heffte_ENABLE_${FFT_HEFFTE_BACKEND} ON)
include(FetchContent)
FetchContent_Declare(HEFFTE_PROJECT # using v2.4.0
URL "https://github.com/icl-utk-edu/heffte/archive/refs/tags/v2.4.0.tar.gz"
URL_HASH SHA256=02310fb4f9688df02f7181667e61c3adb7e38baf79611d80919d47452ff7881d
)
FetchContent_Populate(HEFFTE_PROJECT)
# fixup git hash to show "(unknown)" to avoid compilation failures.
file(READ ${heffte_project_SOURCE_DIR}/include/heffte_config.cmake.h HEFFTE_CFG_FILE_TEXT)
string(REPLACE "@Heffte_GIT_HASH@" "(unknown)" HEFFTE_CFG_FILE_TEXT "${HEFFTE_CFG_FILE_TEXT}")
file(WRITE ${heffte_project_SOURCE_DIR}/include/heffte_config.cmake.h "${HEFFTE_CFG_FILE_TEXT}")
add_subdirectory(${heffte_project_SOURCE_DIR} ${heffte_project_BINARY_DIR} EXCLUDE_FROM_ALL)
add_library(Heffte::Heffte ALIAS Heffte)
if(BUILD_SHARED_LIBS_WAS_ON)
set(BUILD_SHARED_LIBS ON)
endif()
endif()
target_compile_definitions(lammps PRIVATE -DFFT_HEFFTE "-DFFT_HEFFTE_${FFT_HEFFTE_BACKEND}")
target_link_libraries(lammps PRIVATE Heffte::Heffte)
endif()
set(FFT_PACK "array" CACHE STRING "Optimization for FFT")
set(FFT_PACK_VALUES array pointer memcpy)
set_property(CACHE FFT_PACK PROPERTY STRINGS ${FFT_PACK_VALUES})

View File

@ -8,8 +8,8 @@ option(DOWNLOAD_MDI "Download and compile the MDI library instead of using an al
if(DOWNLOAD_MDI)
message(STATUS "MDI download requested - we will build our own")
set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.16.tar.gz" CACHE STRING "URL for MDI tarball")
set(MDI_MD5 "407db44e2d79447ab5c1233af1965f65" CACHE STRING "MD5 checksum for MDI tarball")
set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.26.tar.gz" CACHE STRING "URL for MDI tarball")
set(MDI_MD5 "3124bb85259471e2a53a891f04bf697a" CACHE STRING "MD5 checksum for MDI tarball")
mark_as_advanced(MDI_URL)
mark_as_advanced(MDI_MD5)
GetFallbackURL(MDI_URL MDI_FALLBACK)

View File

@ -10,6 +10,14 @@ endif()
option(MLIAP_ENABLE_PYTHON "Build ML-IAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT})
# if ML-PACE package *and* MLIAP with Python is enabled is included we may also include ML-PACE support in ML-IAP
set(MLIAP_ENABLE_ACE_DEFAULT OFF)
if(PKG_ML-PACE)
set(MLIAP_ENABLE_ACE_DEFAULT ON)
endif()
option(MLIAP_ENABLE_ACE "Build ML-IAP package with ACE support" ${MLIAP_ENABLE_ACE_DEFAULT})
if(MLIAP_ENABLE_PYTHON)
find_package(Cythonize REQUIRED)
find_package(Python COMPONENTS NumPy REQUIRED)
@ -36,3 +44,10 @@ if(MLIAP_ENABLE_PYTHON)
target_compile_definitions(lammps PRIVATE -DMLIAP_PYTHON)
target_include_directories(lammps PRIVATE ${MLIAP_BINARY_DIR})
endif()
if(MLIAP_ENABLE_ACE)
if(NOT PKG_ML-PACE)
message(FATAL_ERROR "Must enable ML-PACE package for including ACE support in ML-IAP")
endif()
target_compile_definitions(lammps PRIVATE -DMLIAP_ACE)
endif()

View File

@ -1,33 +1,46 @@
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2023.10.04.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
# PACE library support for ML-PACE package
set(PACELIB_MD5 "70ff79f4e59af175e55d24f3243ad1ff" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
# set policy to silence warnings about timestamps of downloaded files. review occasionally if it may be set to NEW
if(POLICY CMP0135)
cmake_policy(SET CMP0135 OLD)
endif()
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2023.11.25.fix.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
set(PACELIB_MD5 "b45de9a633f42ed65422567e3ce56f9f" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
mark_as_advanced(PACELIB_URL)
mark_as_advanced(PACELIB_MD5)
GetFallbackURL(PACELIB_URL PACELIB_FALLBACK)
# download library sources to build folder
if(EXISTS ${CMAKE_BINARY_DIR}/libpace.tar.gz)
file(MD5 ${CMAKE_BINARY_DIR}/libpace.tar.gz DL_MD5)
endif()
if(NOT "${DL_MD5}" STREQUAL "${PACELIB_MD5}")
message(STATUS "Downloading ${PACELIB_URL}")
file(DOWNLOAD ${PACELIB_URL} ${CMAKE_BINARY_DIR}/libpace.tar.gz STATUS DL_STATUS SHOW_PROGRESS)
file(MD5 ${CMAKE_BINARY_DIR}/libpace.tar.gz DL_MD5)
if((NOT DL_STATUS EQUAL 0) OR (NOT "${DL_MD5}" STREQUAL "${PACELIB_MD5}"))
message(WARNING "Download from primary URL ${PACELIB_URL} failed\nTrying fallback URL ${PACELIB_FALLBACK}")
file(DOWNLOAD ${PACELIB_FALLBACK} ${CMAKE_BINARY_DIR}/libpace.tar.gz EXPECTED_HASH MD5=${PACELIB_MD5} SHOW_PROGRESS)
endif()
# LOCAL_ML-PACE points to top-level dir with local lammps-user-pace repo,
# to make it easier to check local build without going through the public github releases
if(LOCAL_ML-PACE)
set(lib-pace "${LOCAL_ML-PACE}")
else()
message(STATUS "Using already downloaded archive ${CMAKE_BINARY_DIR}/libpace.tar.gz")
endif()
# download library sources to build folder
if(EXISTS ${CMAKE_BINARY_DIR}/libpace.tar.gz)
file(MD5 ${CMAKE_BINARY_DIR}/libpace.tar.gz DL_MD5)
endif()
if(NOT "${DL_MD5}" STREQUAL "${PACELIB_MD5}")
message(STATUS "Downloading ${PACELIB_URL}")
file(DOWNLOAD ${PACELIB_URL} ${CMAKE_BINARY_DIR}/libpace.tar.gz STATUS DL_STATUS SHOW_PROGRESS)
file(MD5 ${CMAKE_BINARY_DIR}/libpace.tar.gz DL_MD5)
if((NOT DL_STATUS EQUAL 0) OR (NOT "${DL_MD5}" STREQUAL "${PACELIB_MD5}"))
message(WARNING "Download from primary URL ${PACELIB_URL} failed\nTrying fallback URL ${PACELIB_FALLBACK}")
file(DOWNLOAD ${PACELIB_FALLBACK} ${CMAKE_BINARY_DIR}/libpace.tar.gz EXPECTED_HASH MD5=${PACELIB_MD5} SHOW_PROGRESS)
endif()
else()
message(STATUS "Using already downloaded archive ${CMAKE_BINARY_DIR}/libpace.tar.gz")
endif()
# uncompress downloaded sources
execute_process(
COMMAND ${CMAKE_COMMAND} -E remove_directory lammps-user-pace*
COMMAND ${CMAKE_COMMAND} -E tar xzf libpace.tar.gz
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
get_newest_file(${CMAKE_BINARY_DIR}/lammps-user-pace-* lib-pace)
# uncompress downloaded sources
execute_process(
COMMAND ${CMAKE_COMMAND} -E remove_directory lammps-user-pace*
COMMAND ${CMAKE_COMMAND} -E tar xzf libpace.tar.gz
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
get_newest_file(${CMAKE_BINARY_DIR}/lammps-user-pace-* lib-pace)
endif()
add_subdirectory(${lib-pace} build-pace)
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})

View File

@ -18,14 +18,16 @@ if(DOWNLOAD_QUIP)
set(temp "${temp}F77FLAGS += -fpp -fixed -fPIC\n")
set(temp "${temp}F95_PRE_FILENAME_FLAG = -Tf\n")
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
set(temp "${temp}FPP=${CMAKE_Fortran_COMPILER} -E -x f95-cpp-input\nOPTIM=${CMAKE_Fortran_FLAGS_${BTYPE}}\n")
# quip library uses GNU fortran extensions. If any more restrictive standards are set, reset them
string(REGEX REPLACE -std=f[0-9]+ -std=gnu _fopt "${CMAKE_Fortran_FLAGS_${BTYPE}}")
set(temp "${temp}FPP=${CMAKE_Fortran_COMPILER} -E -x f95-cpp-input\nOPTIM=${_fopt} -fmax-stack-var-size=6553600\n")
set(temp "${temp}DEFINES += -DGETARG_F2003 -DGETENV_F2003 -DGFORTRAN -DFORTRAN_UNDERSCORE\n")
set(temp "${temp}F95FLAGS += -x f95-cpp-input -ffree-line-length-none -ffree-form -fno-second-underscore -fPIC\n")
set(temp "${temp}F77FLAGS += -x f77-cpp-input -fno-second-underscore -fPIC\n")
else()
message(FATAL_ERROR "The ${CMAKE_Fortran_COMPILER_ID} Fortran compiler is not (yet) supported for building QUIP")
endif()
set(temp "${temp}CFLAGS += -fPIC \nCPLUSPLUSFLAGS += -fPIC\nAR_ADD=src\n")
set(temp "${temp}CFLAGS += -fPIC -Wno-return-mismatch \nCPLUSPLUSFLAGS += -fPIC -Wno-return-mismatch\nAR_ADD=src\n")
set(temp "${temp}MATH_LINKOPTS=")
foreach(flag ${BLAS_LIBRARIES})
set(temp "${temp} ${flag}")
@ -56,7 +58,7 @@ if(DOWNLOAD_QUIP)
GIT_SUBMODULES "src/fox;src/GAP"
PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/quip.config <SOURCE_DIR>/arch/Makefile.lammps
CONFIGURE_COMMAND env QUIP_ARCH=lammps make config
BUILD_COMMAND env QUIP_ARCH=lammps make libquip
BUILD_COMMAND env QUIP_ARCH=lammps make -j1 libquip
INSTALL_COMMAND ""
BUILD_IN_SOURCE YES
BUILD_BYPRODUCTS <SOURCE_DIR>/build/lammps/${CMAKE_STATIC_LIBRARY_PREFIX}quip${CMAKE_STATIC_LIBRARY_SUFFIX}

View File

@ -1,5 +1,14 @@
# Plumed2 support for PLUMED package
# set policy to silence warnings about timestamps of downloaded files. review occasionally if it may be set to NEW
if(POLICY CMP0135)
cmake_policy(SET CMP0135 OLD)
endif()
# for supporting multiple concurrent plumed2 installations for debugging and testing
set(PLUMED_SUFFIX "" CACHE STRING "Suffix for Plumed2 library")
mark_as_advanced(PLUMED_SUFFIX)
if(BUILD_MPI)
set(PLUMED_CONFIG_MPI "--enable-mpi")
set(PLUMED_CONFIG_CC ${CMAKE_MPI_C_COMPILER})
@ -21,9 +30,11 @@ else()
set(PLUMED_CONFIG_OMP "--disable-openmp")
endif()
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.8.2/plumed-src-2.8.2.tgz"
# Note: must also adjust check for supported API versions in
# fix_plumed.cpp when version changes from v2.n.x to v2.n+1.y
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.9.1/plumed-src-2.9.1.tgz"
CACHE STRING "URL for PLUMED tarball")
set(PLUMED_MD5 "599092b6a0aa6fff992612537ad98994" CACHE STRING "MD5 checksum of PLUMED tarball")
set(PLUMED_MD5 "c3b2d31479c1e9ce211719d40e9efbd7" CACHE STRING "MD5 checksum of PLUMED tarball")
mark_as_advanced(PLUMED_URL)
mark_as_advanced(PLUMED_MD5)
@ -75,6 +86,9 @@ if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND (CMAKE_CROSSCOMPILING))
DEPENDS plumed_build
COMMENT "Copying Plumed files"
)
if(CMAKE_PROJECT_NAME STREQUAL "lammps")
target_link_libraries(lammps INTERFACE LAMMPS::PLUMED)
endif()
else()
@ -149,21 +163,26 @@ else()
endif()
set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
if(CMAKE_PROJECT_NAME STREQUAL "lammps")
target_link_libraries(lammps PRIVATE LAMMPS::PLUMED)
endif()
else()
find_package(PkgConfig REQUIRED)
pkg_check_modules(PLUMED REQUIRED plumed)
pkg_check_modules(PLUMED REQUIRED plumed${PLUMED_SUFFIX})
add_library(LAMMPS::PLUMED INTERFACE IMPORTED)
if(PLUMED_MODE STREQUAL "STATIC")
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.static)
include(${PLUMED_LIBDIR}/plumed${PLUMED_SUFFIX}/src/lib/Plumed.cmake.static)
elseif(PLUMED_MODE STREQUAL "SHARED")
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.shared)
include(${PLUMED_LIBDIR}/plumed${PLUMED_SUFFIX}/src/lib/Plumed.cmake.shared)
elseif(PLUMED_MODE STREQUAL "RUNTIME")
set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_COMPILE_DEFINITIONS "__PLUMED_DEFAULT_KERNEL=${PLUMED_LIBDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}plumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}")
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.runtime)
set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_COMPILE_DEFINITIONS "__PLUMED_DEFAULT_KERNEL=${PLUMED_LIBDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}plumed${PLUMED_SUFFIX}Kernel${CMAKE_SHARED_LIBRARY_SUFFIX}")
include(${PLUMED_LIBDIR}/plumed${PLUMED_SUFFIX}/src/lib/Plumed.cmake.runtime)
endif()
set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_LINK_LIBRARIES "${PLUMED_LOAD}")
set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${PLUMED_INCLUDE_DIRS}")
if(CMAKE_PROJECT_NAME STREQUAL "lammps")
target_link_libraries(lammps PUBLIC LAMMPS::PLUMED)
endif()
endif()
endif()
target_link_libraries(lammps PRIVATE LAMMPS::PLUMED)

View File

@ -0,0 +1,2 @@
find_package(GSL 2.6 REQUIRED)
target_link_libraries(lammps PRIVATE GSL::gsl)

View File

@ -102,9 +102,9 @@ endif()
#######################################
# select code sanitizer options
#######################################
set(ENABLE_SANITIZER "none" CACHE STRING "Select a code sanitizer option (none (default), address, leak, thread, undefined)")
set(ENABLE_SANITIZER "none" CACHE STRING "Select a code sanitizer option (none (default), address, hwaddress, leak, thread, undefined)")
mark_as_advanced(ENABLE_SANITIZER)
set(ENABLE_SANITIZER_VALUES none address leak thread undefined)
set(ENABLE_SANITIZER_VALUES none address hwaddress leak thread undefined)
set_property(CACHE ENABLE_SANITIZER PROPERTY STRINGS ${ENABLE_SANITIZER_VALUES})
validate_option(ENABLE_SANITIZER ENABLE_SANITIZER_VALUES)
string(TOLOWER ${ENABLE_SANITIZER} ENABLE_SANITIZER)

View File

@ -37,37 +37,6 @@ if(BUILD_TOOLS)
add_subdirectory(${LAMMPS_TOOLS_DIR}/phonon ${CMAKE_BINARY_DIR}/phana_build)
endif()
find_package(PkgConfig QUIET)
if(BUILD_LAMMPS_SHELL)
if(NOT PkgConfig_FOUND)
message(FATAL_ERROR "Must have pkg-config installed for building LAMMPS shell")
endif()
find_package(PkgConfig REQUIRED)
pkg_check_modules(READLINE IMPORTED_TARGET REQUIRED readline)
# include resource compiler to embed icons into the executable on Windows
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
enable_language(RC)
set(ICON_RC_FILE ${LAMMPS_TOOLS_DIR}/lammps-shell/lmpicons.rc)
endif()
add_executable(lammps-shell ${LAMMPS_TOOLS_DIR}/lammps-shell/lammps-shell.cpp ${ICON_RC_FILE})
target_include_directories(lammps-shell PRIVATE ${LAMMPS_TOOLS_DIR}/lammps-shell)
target_link_libraries(lammps-shell PRIVATE lammps PkgConfig::READLINE)
# workaround for broken readline pkg-config file on FreeBSD
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
target_include_directories(lammps-shell PRIVATE /usr/local/include)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "LinuxMUSL")
pkg_check_modules(TERMCAP IMPORTED_TARGET REQUIRED termcap)
target_link_libraries(lammps-shell PRIVATE lammps PkgConfig::TERMCAP)
endif()
install(TARGETS lammps-shell EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR})
install(DIRECTORY ${LAMMPS_TOOLS_DIR}/lammps-shell/icons DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/)
install(FILES ${LAMMPS_TOOLS_DIR}/lammps-shell/lammps-shell.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/)
endif()
if(BUILD_LAMMPS_GUI)
get_filename_component(LAMMPS_GUI_DIR ${LAMMPS_SOURCE_DIR}/../tools/lammps-gui ABSOLUTE)
get_filename_component(LAMMPS_GUI_BIN ${CMAKE_BINARY_DIR}/lammps-gui-build ABSOLUTE)

Binary file not shown.

View File

@ -2,9 +2,10 @@
APP_NAME=lammps-gui
DESTDIR=${PWD}/../LAMMPS_GUI
VERSION="$1"
echo "Delete old files, if they exist"
rm -rf ${DESTDIR} ../LAMMPS_GUI-Linux-amd64.tar.gz
rm -rf ${DESTDIR} ../LAMMPS_GUI-Linux-amd64*.tar.gz
echo "Create staging area for deployment and populate"
DESTDIR=${DESTDIR} cmake --install . --prefix "/"
@ -59,17 +60,19 @@ done
echo "Set up wrapper script"
MYDIR=$(dirname "$0")
cp ${MYDIR}/xdg-open ${DESTDIR}/bin
cp ${MYDIR}/linux_wrapper.sh ${DESTDIR}/bin
for s in ${DESTDIR}/bin/*
do \
EXE=$(basename $s)
test ${EXE} = linux_wrapper.sh && continue
test ${EXE} = qt.conf && continue
test ${EXE} = xdg-open && continue
ln -s bin/linux_wrapper.sh ${DESTDIR}/${EXE}
done
pushd ..
tar -czvvf LAMMPS_GUI-Linux-amd64.tar.gz LAMMPS_GUI
tar -czvvf LAMMPS_GUI-Linux-amd64-${VERSION}.tar.gz LAMMPS_GUI
popd
echo "Cleanup dir"

View File

@ -1,9 +1,10 @@
#!/bin/bash
APP_NAME=lammps-gui
VERSION="$1"
echo "Delete old files, if they exist"
rm -f ${APP_NAME}.dmg ${APP_NAME}-rw.dmg LAMMPS_GUI-macOS-multiarch.dmg
rm -f ${APP_NAME}.dmg ${APP_NAME}-rw.dmg LAMMPS_GUI-macOS-multiarch*.dmg
echo "Create initial dmg file with macdeployqt"
macdeployqt lammps-gui.app -dmg
@ -96,12 +97,12 @@ sync
echo "Unmount modified disk image and convert to compressed read-only image"
hdiutil detach "${DEVICE}"
hdiutil convert "${APP_NAME}-rw.dmg" -format UDZO -o "LAMMPS_GUI-macOS-multiarch.dmg"
hdiutil convert "${APP_NAME}-rw.dmg" -format UDZO -o "LAMMPS_GUI-macOS-multiarch-${VERSION}.dmg"
echo "Attach icon to .dmg file"
echo "read 'icns' (-16455) \"lammps-gui.app/Contents/Resources/lammps.icns\";" > icon.rsrc
Rez -a icon.rsrc -o LAMMPS_GUI-macOS-multiarch.dmg
SetFile -a C LAMMPS_GUI-macOS-multiarch.dmg
Rez -a icon.rsrc -o LAMMPS_GUI-macOS-multiarch-${VERSION}.dmg
SetFile -a C LAMMPS_GUI-macOS-multiarch-${VERSION}.dmg
rm icon.rsrc
echo "Delete temporary disk images"

View File

@ -3,9 +3,10 @@
APP_NAME=lammps-gui
DESTDIR=${PWD}/LAMMPS_GUI
SYSROOT="$1"
VERSION="$2"
echo "Delete old files, if they exist"
rm -rvf ${DESTDIR}/LAMMPS_GUI ${DESTDIR}/LAMMPS-Win10-amd64.zip
rm -rvf ${DESTDIR}/LAMMPS_GUI ${DESTDIR}/LAMMPS-Win10-amd64*.zip
echo "Create staging area for deployment and populate"
DESTDIR=${DESTDIR} cmake --install . --prefix "/"
@ -60,5 +61,5 @@ cat > ${DESTDIR}/bin/qt.conf <<EOF
[Paths]
Plugins = ../qt5plugins
EOF
zip -9rvD LAMMPS-Win10-amd64.zip LAMMPS_GUI
zip -9rvD LAMMPS-Win10-amd64-${VERSION}.zip LAMMPS_GUI

View File

@ -4,15 +4,17 @@
# reset locale to avoid problems with decimal numbers
export LC_ALL=C
BASEDIR=$(dirname "$0")
EXENAME=$(basename "$0")
BASEDIR="$(dirname "$0")"
EXENAME="$(basename "$0")"
PATH="${BASEDIR}/bin:${PATH}"
# append to LD_LIBRARY_PATH to prefer local (newer) libs
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${BASEDIR}/lib
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BASEDIR}/lib"
# set some environment variables for LAMMPS etc.
LAMMPS_POTENTIALS=${BASEDIR}/share/lammps/potentials
MSI2LMP_LIBRARY=${BASEDIR}/share/lammps/frc_files
export LD_LIBRARY_PATH LAMMPS_POTENTIALS MSI2LMP_LIBRARY
LAMMPS_POTENTIALS="${BASEDIR}/share/lammps/potentials"
MSI2LMP_LIBRARY="${BASEDIR}/share/lammps/frc_files"
export LD_LIBRARY_PATH LAMMPS_POTENTIALS MSI2LMP_LIBRARY PATH
exec "${BASEDIR}/bin/${EXENAME}" "$@"

1074
cmake/packaging/xdg-open Executable file

File diff suppressed because it is too large Load Diff

View File

@ -26,8 +26,9 @@ set(ALL_PACKAGES
DPD-REACT
DPD-SMOOTH
DRUDE
ELECTRODE
EFF
ELECTRODE
EXTRA-COMMAND
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
@ -60,6 +61,7 @@ set(ALL_PACKAGES
ML-QUIP
ML-RANN
ML-SNAP
ML-UF3
MOFFF
MOLECULE
MOLFILE
@ -80,6 +82,7 @@ set(ALL_PACKAGES
REACTION
REAXFF
REPLICA
RHEO
RIGID
SCAFACOS
SHOCK

View File

@ -28,8 +28,9 @@ set(ALL_PACKAGES
DPD-REACT
DPD-SMOOTH
DRUDE
ELECTRODE
EFF
ELECTRODE
EXTRA-COMMAND
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
@ -62,6 +63,7 @@ set(ALL_PACKAGES
ML-QUIP
ML-RANN
ML-SNAP
ML-UF3
MOFFF
MOLECULE
MOLFILE
@ -82,6 +84,7 @@ set(ALL_PACKAGES
REACTION
REAXFF
REPLICA
RHEO
RIGID
SCAFACOS
SHOCK

View File

@ -1,10 +1,10 @@
# preset that will enable clang/clang++ with support for MPI and OpenMP (on Linux boxes)
# prefer flang over gfortran, if available
find_program(CLANG_FORTRAN NAMES flang gfortran f95)
find_program(CLANG_FORTRAN NAMES flang-new flang gfortran f95)
set(ENV{OMPI_FC} ${CLANG_FORTRAN})
get_filename_component(_tmp_fc ${CLANG_FORTRAN} NAME)
if (_tmp_fc STREQUAL "flang")
if ((_tmp_fc STREQUAL "flang") OR (_tmp_fc STREQUAL "flang-new"))
set(FC_STD_VERSION "-std=f2018")
set(BUILD_MPI OFF)
else()

View File

@ -0,0 +1,11 @@
# preset that enables GPU and selects CUDA API
set(PKG_GPU ON CACHE BOOL "Build GPU package" FORCE)
set(GPU_API "cuda" CACHE STRING "APU used by GPU package" FORCE)
set(GPU_PREC "mixed" CACHE STRING "" FORCE)
set(CUDA_NVCC_FLAGS "-allow-unsupported-compiler" CACHE STRING "" FORCE)
set(CUDA_NVCC_FLAGS_DEBUG "-allow-unsupported-compiler" CACHE STRING "" FORCE)
set(CUDA_NVCC_FLAGS_MINSIZEREL "-allow-unsupported-compiler" CACHE STRING "" FORCE)
set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "-allow-unsupported-compiler" CACHE STRING "" FORCE)
set(CUDA_NVCC_FLAGS_RELEASE "-allow-unsupported-compiler" CACHE STRING "" FORCE)

View File

@ -6,6 +6,11 @@ set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE)
set(Kokkos_ARCH_PASCAL60 ON CACHE BOOL "" FORCE)
set(BUILD_OMP ON CACHE BOOL "" FORCE)
get_filename_component(NVCC_WRAPPER_CMD ${CMAKE_CURRENT_SOURCE_DIR}/../lib/kokkos/bin/nvcc_wrapper ABSOLUTE)
set(CMAKE_CXX_COMPILER ${NVCC_WRAPPER_CMD} CACHE FILEPATH "" FORCE)
# If KSPACE is also enabled, use CUFFT for FFTs
set(FFT_KOKKOS "CUFFT" CACHE STRING "" FORCE)
# hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)

View File

@ -12,6 +12,9 @@ set(BUILD_OMP ON CACHE BOOL "" FORCE)
set(CMAKE_CXX_COMPILER hipcc CACHE STRING "" FORCE)
set(CMAKE_TUNE_FLAGS "-munsafe-fp-atomics" CACHE STRING "" FORCE)
# If KSPACE is also enabled, use CUFFT for FFTs
set(FFT_KOKKOS "HIPFFT" CACHE STRING "" FORCE)
# hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)

View File

@ -22,8 +22,9 @@ set(WIN_PACKAGES
DPD-REACT
DPD-SMOOTH
DRUDE
ELECTRODE
EFF
ELECTRODE
EXTRA-COMMAND
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
@ -32,7 +33,6 @@ set(WIN_PACKAGES
FEP
GPU
GRANULAR
INTEL
INTERLAYER
KSPACE
LEPTON
@ -50,6 +50,7 @@ set(WIN_PACKAGES
ML-POD
ML-RANN
ML-SNAP
ML-UF3
MOFFF
MOLECULE
MOLFILE

View File

@ -26,6 +26,7 @@ set(ALL_PACKAGES
DRUDE
EFF
ELECTRODE
EXTRA-COMMAND
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
@ -45,6 +46,7 @@ set(ALL_PACKAGES
ML-IAP
ML-POD
ML-SNAP
ML-UF3
MOFFF
MOLECULE
OPENMP

View File

@ -18,11 +18,11 @@ set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "icx" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-qopenmp -qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_CXX "icpx" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-qopenmp -qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_Fortran_FLAGS "-qopenmp -qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_Fortran_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "libiomp5.so" CACHE PATH "" FORCE)

View File

@ -22,6 +22,7 @@ set(WIN_PACKAGES
DRUDE
EFF
ELECTRODE
EXTRA-COMMAND
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
@ -42,6 +43,7 @@ set(WIN_PACKAGES
ML-IAP
ML-POD
ML-SNAP
ML-UF3
MOFFF
MOLECULE
MOLFILE
@ -50,8 +52,8 @@ set(WIN_PACKAGES
ORIENT
PERI
PHONON
POEMS
PLUGIN
POEMS
PTM
QEQ
QTB

View File

@ -100,6 +100,7 @@ html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n '\(ref\|doc\)`[^`]' $(RSTDIR)/*.rst ;\
$(PYTHON) $(BUILDDIR)/utils/check-styles.py -s ../src -d src ;\
echo "############################################" ;\
deactivate ;\
@ -182,6 +183,7 @@ pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n '\(ref\|doc\)`[^`]' $(RSTDIR)/*.rst ;\
$(PYTHON) utils/check-styles.py -s ../src -d src ;\
echo "############################################" ;\
deactivate ;\
@ -231,6 +233,7 @@ role_check :
@( env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst && exit 1 || : )
@( env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst && exit 1 || : )
@( env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst && exit 1 || : )
@( env LC_ALL=C grep -n '\(ref\|doc\)`[^`]' $(RSTDIR)/*.rst && exit 1 || : )
link_check : $(VENV) html
@(\

View File

@ -36,10 +36,10 @@ requests.
MUST be submitted as a pull request to GitHub. All changes to the
"develop" branch must be made exclusively through merging pull requests.
The "release" and "stable" branches, respectively, are only to be
updated upon feature or stable releases based on the associated
tags. Updates to the stable release in between stable releases
updated upon "feature releases" or "stable releases" based on the
associated tags. Updates to the stable release in between stable releases
(for example, back-ported bug fixes) are first merged into the "maintenance"
branch and then into the "stable" branch as update releases.
branch and then into the "stable" branch as "stable update releases".
Pull requests may also be submitted to (long-running) feature branches
created by LAMMPS developers inside the LAMMPS project, if needed. Those
@ -131,7 +131,7 @@ testing -- that the code in the branch "develop" does not get easily
broken. These tests are run after every update to a pull request. More
extensive and time-consuming tests (including regression testing) are
performed after code is merged to the "develop" branch. There are feature
releases of LAMMPS made about every 4-6 weeks at a point, when the LAMMPS
releases of LAMMPS made about every 4-8 weeks at a point, when the LAMMPS
developers feel, that a sufficient number of changes have been included
and all post-merge testing has been successful. These feature releases are
marked with a `patch_<version date>` tag and the "release" branch

View File

@ -16,8 +16,11 @@ clean:
rm -f $(IMGSVG) $(IMGPDF) $(IMGPNG) *~
ifeq ($(HAS_DOT),YES)
$(IMGDIR)/%.png: %.dot
$(IMGDIR)/lammps-classes.png : lammps-classes.dot
dot -Tpng -Kneato -o $@ $<
$(IMGDIR)/%.png: %.dot
dot -Tpng -Kdot -o $@ $<
endif
ifeq ($(HAS_DOT),NO)

View File

@ -0,0 +1,34 @@
// LAMMPS branches and releases
digraph releases {
rankdir="LR";
github [shape="box" label="Pull Requests\non GitHub" height=0.75];
github -> develop [label="Merge commits"];
{
rank = "same";
work [shape="none" label="Development branches:"]
develop [label="'develop' branch" height=0.75];
maintenance [label="'maintenance' branch" height=0.75];
};
{
rank = "same";
upload [shape="none" label="Release branches:"]
release [label="'release' branch" height=0.75];
stable [label="'stable' branch" height=0.75];
};
develop -> release [label="Feature release\n(every 4-8 weeks)"];
release -> stable [label="Stable release\n(once per year)"];
stable -> maintenance [label="Reset on stable release" style="setlinewidth(2)"];
develop -> maintenance [label="Backports of bugfixes" style="dashed"];
maintenance -> stable [label="Updates to stable release"];
{
rank = "same";
tag [shape="none" label="Applied tags:"];
patchtag [shape="box" label="patch_<date>"];
stabletag [shape="box" label="stable_<date>"];
updatetag [shape="box" label="stable_<date>_update<num>"];
};
release -> patchtag [label="feature release" style="dotted"];
stable -> stabletag [label="stable release" style="dotted"];
stable -> updatetag [label="update release" style="dotted"];
}

View File

@ -1,7 +1,7 @@
.TH LAMMPS "1" "21 November 2023" "2023-11-21"
.TH LAMMPS "1" "29 August 2024" "2024-08-29"
.SH NAME
.B LAMMPS
\- Molecular Dynamics Simulator. Version 21 November 2023
\- Molecular Dynamics Simulator. Version 29 August 2024
.SH SYNOPSIS
.B lmp
@ -226,6 +226,20 @@ arguments of the "dump" command. See the
.B LAMMPS
manual for details on either of the two commands.
.TP
\fB\-r2info <restart file> <keyword> ...\fR or
\fB\-restart2info <restart file> <keyword> ...\fR
Write information about the <restart file> previously written by
.B LAMMPS
to the screen and immediately exit. Following <restart file>
argument, additional keywords for the
.B LAMMPS
"info" command may be added to increase the amount of information
written. By default "system" "group" "fix" "compute" are already
set. See the
.B LAMMPS
manual for details on the "info" command.
.TP
.TP
\fB\-sc <file name>\fR or \fB\-screen <file name>\fR
Specify a file for
.B LAMMPS
@ -297,7 +311,7 @@ the chapter on errors in the
manual gives some additional information about error messages, if possible.
.SH COPYRIGHT
© 2003--2022 Sandia Corporation
© 2003--2024 Sandia Corporation
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as

View File

@ -1,6 +1,12 @@
Bibliography
************
**(Abascal1)**
Abascal, Sanz, Fernandez, Vega, J Chem Phys, 122, 234511 (2005)
**(Abascal2)**
Abascal, J Chem Phys, 123, 234505 (2005)
**(Ackland)**
Ackland, Jones, Phys Rev B, 73, 054104 (2006).
@ -22,21 +28,24 @@ Bibliography
**(Agnolin and Roux 2007)**
Agnolin, I. & Roux, J-N. (2007). Internal states of model isotropic granular packings. I. Assembling process, geometry, and contact networks. Phys. Rev. E, 76, 061302.
**(Ahrens-Iwers2022)**
Ahrens-Iwers *et al.*, J. Chem. Phys. 157, 084801 (2022).
**(Ahrens-Iwers)**
Ahrens-Iwers and Meissner, J. Chem. Phys. 155, 104104 (2021).
**(Aktulga)**
Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, 245-259 (2012).
**(Albe)**
J.\ Nord, K. Albe, P. Erhart, and K. Nordlund, J. Phys.: Condens. Matter, 15, 5649(2003).
**(Albe)**
**(Albe1)**
K.\ Albe, K. Nordlund, J. Nord, and A. Kuronen, Phys. Rev. B, 66, 035205 (2002).
**(Allen)**
Allen and Germano, Mol Phys 104, 3225-3235 (2006).
**(Allen)**
Allen and Tildesley, Computer Simulation of Liquids, Clarendon Press, Oxford, 1987.
**(AllenTildesley)**
Allen and Tildesley, Computer Simulation of Liquids, Oxford University Press (1987)
@ -49,6 +58,9 @@ Bibliography
**(Anderson)**
Anderson, Mukherjee, Critchley, Ziegler, and Lipton "POEMS: Parallelizable Open-source Efficient Multibody Software ", Engineering With Computers (2006).
**(Appshaw)**
Appshaw, Seddon, Hanna, Soft. Matter,18, 1747(2022).
**(Avendano)**
C.\ Avendano, T. Lafitte, A. Galindo, C. S. Adjiman, G. Jackson, E. Muller, J Phys Chem B, 115, 11154 (2011).
@ -58,7 +70,7 @@ Bibliography
**(Babadi)**
Babadi, Ejtehadi, Everaers, J Comp Phys, 219, 770-779 (2006).
**(Babadi)**
**(Babadi2)**
Babadi and Ejtehadi, EPL, 77 (2007) 23002.
**(Baczewski)**
@ -73,23 +85,23 @@ Bibliography
**(Ballenegger)**
Ballenegger, Arnold, Cerda, J Chem Phys, 131, 094107 (2009).
**(Banna)**
Volkov, Banna, Comp. Mater. Sci. 176, 109410 (2020).
**(Barrat)**
Barrat and Rodney, J. Stat. Phys, 144, 679 (2011).
**(Barrett)**
Barrett, Tschopp, El Kadiri, Scripta Mat. 66, p.666 (2012).
**(Barros)**
Barros, Sinkovits, Luijten, J. Chem. Phys, 140, 064903 (2014)
**(Bartok)**
Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010).
**(Bartok2010)**
Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010).
**(Bartok_2010)**
AP Bartok, MC Payne, R Kondor, and G Csanyi, Physical Review Letters 104, 136403 (2010).
**(Bartok2013)**
Bartok, Kondor, Csanyi, Phys Rev B, 87, 184115 (2013).
**(Bartok_PhD)**
A Bartok-Partay, PhD Thesis, University of Cambridge, (2010).
@ -97,36 +109,51 @@ Bibliography
**(Baskes)**
Baskes, Phys Rev B, 46, 2727-2742 (1992).
**(Baskes2)**
Baskes, Phys Rev B, 75, 094113 (2007).
**(Beck)**
Beck, Molecular Physics, 14, 311 (1968).
**(Becton)**
Becton, Averett, Wang, Biomech. Model. Mechanobiology, 18, 425-433(2019).
**(Behler and Parrinello 2007)**
Behler, J.; Parrinello, M. Phys. Rev. Lett. 2007, 98 (14), 146401.
**(Bennet)**
Bennet, J Comput Phys, 22, 245 (1976)
**(Berardi)**
Berardi, Fava, Zannoni, Chem Phys Lett, 297, 8-14 (1998). Berardi, Muccioli, Zannoni, J Chem Phys, 128, 024905 (2008).
**(Berendsen)**
Berendsen, Grigera, Straatsma, J Phys Chem, 91, 6269-6271 (1987).
**(Berendsen)**
Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem Phys, 81, 3684 (1984).
**(Berendsen2)**
Berendsen, Grigera, Straatsma, J Phys Chem, 91, 6269-6271 (1987).
**(Bessarab)**
Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, 335-347 (2015).
**(Beutler)**
Beutler, Mark, van Schaik, Gerber, van Gunsteren, Chem Phys Lett, 222, 529 (1994).
**(Bialke)**
J.\ Bialke, T. Speck, and H Loewen, Phys. Rev. Lett. 108, 168301, 2012.
**(Bird)**
G.\ A. Bird, "Molecular Gas Dynamics and the Direct Simulation of Gas Flows" (1994).
**(Bitzek)**
Bitzek, Koskinen, Gahler, Moseler, Gumbsch, Phys Rev Lett, 97, 170201 (2006).
**(Bolintineanu1)**
Bolintineanu, Lechman, Plimpton, Grest, Phys Rev E, 86, 066703 (2012).
**(Bolintineanu2)**
Bolintineanu, Grest, Lechman, Pierce, Plimpton, Schunk, Comp Particle Mechanics, 1, 321-356 (2014).
**(Bomont)**
Bomont, Bretonnet, J. Chem. Phys. 124, 054504 (2006).
**(Bond)**
Bond and Leimkuhler, SIAM J Sci Comput, 30, p 134 (2007).
@ -134,7 +161,7 @@ Bibliography
Boone, Babaei, Wilmer, J Chem Theory Comput, 15, 5579--5587 (2019).
**(BoreschKarplus)**
Boresch and Karplus, J Phys Chem A, 103, 103 (1999)
Boresch and Karplus, J Phys Chem A, 103, 103 (1999).
**(Botu1)**
V.\ Botu and R. Ramprasad, Int. J. Quant. Chem., 115(16), 1074 (2015).
@ -169,8 +196,11 @@ Bibliography
**(Buck)**
Buck, Bouguet-Bonnet, Pastor, MacKerell Jr., Biophys J, 90, L36 (2006).
**(Bulacu)**
Bulacu, Goga, Zhao, Rossi, Monticelli, Periole, Tieleman, Marrink, J Chem Theory Comput, 9, 3282-3292
**(Bussi)**
G.\ Bussi, M. Parrinello, Phs. Rev. E 75, 056707 (2007)
G. Bussi, T. Zykova-Timan, M. Parrinello, J Chem Phys, 130, 074101 (2009).
**(Bussi1)**
Bussi, Donadio and Parrinello, J. Chem. Phys. 126, 014101(2007)
@ -178,20 +208,20 @@ Bibliography
**(Bussi2)**
Bussi and Parrinello, Phys. Rev. E 75, 056707 (2007)
**(COMB)**
**(COMB_1)**
J.\ Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007),
**(COMB_2)**
T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, and S. R. Phillpot, Phys. Rev. B 81, 125328 (2010)
**(COMB3)**
T.\ Liang, T.-R. Shan, Y.-T. Cheng, B. D. Devine, M. Noordhoek, Y. Li, Z. Lu, S. R. Phillpot, and S. B. Sinnott, Mat. Sci. & Eng: R 74, 255-279 (2013).
**(COMB_1)**
J.\ Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007),
**(Calhoun)**
A.\ Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, 415 (1996).
**(Campana)**
C.\ Campana and M. H. Muser, *Practical Green's function approach to the simulation of elastic semi-infinite solids*, `Phys. Rev. B [74], 075420 (2006) <https://doi.org/10.1103/PhysRevB.74.075420>`_
C.\ Campana and M. H. Muser, Phys. Rev. B [74], 075420 (2006).
**(Cao1)**
J.\ Cao and B. Berne, J Chem Phys, 99, 2902 (1993).
@ -215,6 +245,9 @@ Bibliography
Cerda, Ballenegger, Lenz, Holm, J Chem Phys 129, 234104 (2008)
**(Ceriotti)**
M. Ceriotti, M. Parrinello, T. Markland, D. Manolopoulos, J. Chem. Phys. 133, 124104 (2010).
**(Ceriotti1)**
Ceriotti, Bussi and Parrinello, J Chem Theory Comput 6, 1170-80 (2010)
**(Ceriotti2)**
@ -232,6 +265,18 @@ Bibliography
**(Clarke)**
Clarke and Smith, J Chem Phys, 84, 2290 (1986).
**(Clavier)**
G. Clavier, N. Desbiens, E. Bourasseau, V. Lachet, N. Brusselle-Dupend and B. Rousseau, Mol Sim, 43, 1413 (2017).
**(Clemmer)**
Clemmer and Robbins, Phys. Rev. Lett. (2022).
**(Clemmer1)**
Clemmer, Monti, Lechman, Soft Matter, 20, 1702 (2024).
**(Clemmer2)**
Clemmer, Pierce, O'Connor, Nevins, Jones, Lechman, Tencer, Appl. Math. Model., 130, 310-326 (2024).
**(Coleman)**
Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013).
@ -244,8 +289,17 @@ Bibliography
**(Cornell)**
Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
**(Cundall, 1987)**
Cundall, P. A. Distinct Element Models of Rock and Soil
**(Curk1)**
T. Curk, J. Yuan, and E. Luijten, JCP 156 (2022).
**(Curk2)**
T. Curk and E. Luijten, PRL 126 (2021)
**(Cusentino)**
Cusentino, Wood, and Thompson, J Phys Chem A, xxx, xxxxx, (2020)
Cusentino, Wood, Thompson, J Phys Chem A, 124, 5456, (2020)
**(Daivis and Todd)**
Daivis and Todd, J Chem Phys, 124, 194103 (2006).
@ -268,6 +322,15 @@ Bibliography
**(Daw2)**
M.\ S. Daw, and M. I. Baskes, Phys. Rev. B, 29, 6443 (1984).
**(de Buyl)**
de Buyl, Colberg and Hofling, Comp. Phys. Comm. 185(6), 1546-1553 (2014) -
**(Deissenbeck)**
Deissenbeck *et al.*, Phys. Rev. Letters 126, 136803 (2021).
**(de Koning)**
de Koning and Antonelli, Phys Rev E, 53, 465 (1996).
**(DeVane)**
Shinoda, DeVane, Klein, Soft Matter, 4, 2453-2462 (2008).
@ -277,12 +340,24 @@ Bibliography
**(Destree)**
M.\ Destree, F. Laupretre, A. Lyulin, and J.-P. Ryckaert, J Chem Phys, 112, 9632 (2000).
**(Dickel)**
Dickel, Francis, and Barrett, Computational Materials Science 171 (2020): 109157.
**(Dietz)**
Dietz and Hoy, J. Chem Phys, 156, 014103 (2022).
**(Dobson)**
Dobson, J Chem Phys, 141, 184103 (2014).
**(Drautz)**
Drautz, Phys Rev B, 99, 014104 (2019).
**(Duffy)**
D M Duffy and A M Rutherford, J. Phys.: Condens. Matter, 19, 016207-016218 (2007).
**(Dufils)**
Dufils *et al.*, Phys. Rev. Letters 123, 195501 (2019).
**(Dullweber)**
Dullweber, Leimkuhler and McLachlan, J Chem Phys, 107, 5840 (1997).
@ -295,6 +370,9 @@ Bibliography
**(Dunweg)**
Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).
**(EcheverriRestrepo)**
Echeverri Restrepo, Andric, Comput Mater Sci, 218, 111978 (2023).
**(EDIP)**
J F Justo et al, Phys Rev B 58, 2539 (1998).
@ -304,12 +382,21 @@ Bibliography
**(Elliott)**
Elliott, Tadmor and Bernstein, `https://openkim.org/kim-api <https://openkim.org/kim-api>`_ (2011) doi: `https://doi.org/10.25950/FF8F563A <https://doi.org/10.25950/FF8F563A>`_
**(Ellis)**
Ellis, Fiedler, Popoola, Modine, Stephens, Thompson, Cangi, Rajamanickam, Phys Rev B, 104, 035120, (2021)
**(Emmrich)**
Emmrich, Weckner, Commun. Math. Sci., 5, 851-864 (2007),
**(Elstner)**
M.\ Elstner, D. Poresag, G. Jungnickel, J. Elsner, M. Haugk, T. Frauenheim, S. Suhai, and G. Seifert, Phys. Rev. B, 58, 7260 (1998).
**(Erdmann)**
U.\ Erdmann , W. Ebeling, L. Schimansky-Geier, and F. Schweitzer, Eur. Phys. J. B 15, 105-113, 2000.
**(Eshelby)**
J.D. Eshelby, Philos. Trans. Royal Soc. London A, Math. Phys. Sci., Vol. 244, No. 877 (1951) pp. 87-112; J. Elasticity, Vol. 5, Nos. 3-4 (1975) pp. 321-335]
**(Espanol and Revenga)**
Espanol, Revenga, Physical Review E, 67, 026705 (2003).
@ -328,9 +415,18 @@ Bibliography
**(Faken)**
Faken, Jonsson, Comput Mater Sci, 2, 279 (1994).
**(Falk)**
Falk and Langer PRE, 57, 7192 (1998).
**(Fath)**
Fath, Hochbruck, Singh, J Comp Phys, 333, 180-198 (2017).
**(Feng1)**
Z. Feng, ..., and W. Ouyang, J. Phys. Chem. C. 127(18), 8704-8713 (2023).
**(Feng2)**
Z. Feng, ..., and W. Ouyang, Langmuir 39(50), 18198-18207 (2023).
**(Fennell)**
C.\ J. Fennell, J. D. Gezelter, J Chem Phys, 124, 234104 (2006).
@ -367,18 +463,36 @@ Bibliography
**(Frenkel)**
Frenkel and Smit, Understanding Molecular Simulation, Academic Press, London, 2002.
**(GLE4MD)**
`https://gle4md.org/ <https://gle4md.org/>`_
**(Fu)**
Fu, Peng, Yuan, Kfoury, Young, Comput. Phys. Commun, 210, 193-203(2017).
**(Gao)**
Gao and Weber, Nuclear Instruments and Methods in Physics Research B 191 (2012) 504.
**(Gingrich)**
Gingrich, `MSc thesis` <https://gingrich.chem.northwestern.edu/papers/ThesiswCorrections.pdf>` (2010).
**(Gissinger2017)**
Gissinger, Jensen and Wise, Polymer, 128, 211-217 (2017).
**(Gissinger2020)**
Gissinger, Jensen and Wise, Macromolecules, 53, 22, 9953-9961 (2020).
**(Gissinger)**
Gissinger, Jensen and Wise, Polymer, 128, 211 (2017).
Jacob R. Gissinger, Scott R. Zavada, Joseph G. Smith, Josh Kemppainen, Ivan Gallegos, Gregory M. Odegard, Emilie J. Siochi, and Kristopher E. Wise, Carbon, 202, 336-347 (2023).
**(Gissinger2024)**
J. R. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. S. Karls, A. Stukowski, W. Im, H. Heinz, A. Kohlmeyer, and E. B. Tadmor, J Phys Chem B, 128, 3282-3297 (2024).
**(Gloor)**
Gloor, J Chem Phys, 123, 134703 (2005)
**(Glosli)**
Glosli, unpublished, 2005. Streitz, Glosli, Patel, Chan, Yates, de Supinski, Sexton and Gunnels, Journal of Physics: Conference Series, 46, 254 (2006).
**(Goff)**
Goff, Zhang, Negre, Rohskopf, Niklasson, Journal of Chemical Theory and Computation 19, no. 13 (2023).
**(Goldman1)**
Goldman, Reed and Fried, J. Chem. Phys. 131, 204103 (2009)
@ -412,6 +526,9 @@ Bibliography
**(Guo)**
Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996).
**(Gupta)**
Gupta ,Phys Rev. B, 23, 6265-6270 (1981).
**(Hardy)**
David Hardy thesis: Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules, University of Illinois at Urbana-Champaign, (2006).
@ -433,6 +550,9 @@ Bibliography
**(Henrich)**
O.\ Henrich, Y. A. Gutierrez-Fosado, T. Curk, T. E. Ouldridge, Eur. Phys. J. E 41, 57 (2018).
**(Herman)**
M. F. Herman, E. J. Bruskin, B. J. Berne, J Chem Phys, 76, 5150 (1982).
**(Hess)**
Hess, B. The Journal of Chemical Physics 2002, 116 (1), 209-217.
@ -454,24 +574,42 @@ Bibliography
**(Hoover)**
Hoover, Phys Rev A, 31, 1695 (1985).
**(Huang)**
Huang, Zhang, Yuan, Gao, Zhang, Nano Lett. 13, 4546(2013).
**(Huang2014)**
X. Huang, "Exploring critical-state behavior using DEM", Doctoral dissertation, Imperial College. (2014). https://doi.org/10.25560/25316
**(Hu)**
Hu, and Adams J. Comp. Physics, 213, 844-861 (2006).
**(Hu)**
Hu, J. Chem. Theory Comput. 10, 5254 (2014).
**(Hummer)**
Hummer, Gronbech-Jensen, Neumann, J Chem Phys, 109, 2791 (1998)
**(Hunt)**
Hunt, Mol Simul, 42, 347 (2016).
**(Ikeshoji)**
Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 (1994).
**(Ikeshoji2)**
Ikeshoji, Hafskjold, Furuholt, Mol Sim, 29, 101-109, (2003).
**(Ilie)**
Ilie, Briels, den Otter, Journal of Chemical Physics, 142, 114103 (2015).
**(In 't Veld)**
In 't Veld, Ismail, Grest, J Chem Phys (accepted) (2007).
**(IPI)**
`https://ipi-code.org/ <https://ipi-code.org/>`
**(IPI-CPC)**
Ceriotti, More and Manolopoulos, Comp Phys Comm, 185, 1019-1026 (2014).
**(Ikeshoji)**
Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 (1994).
**(In 't Veld)**
In 't Veld, Ismail, Grest, J Chem Phys (accepted) (2007).
**(Isele-Holder)**
Isele-Holder, Mitchell, Ismail, J Chem Phys, 137, 174107 (2012).
@ -490,6 +628,9 @@ Bibliography
**(Izvekov)**
Izvekov, Voth, J Chem Phys 123, 134105 (2005).
**(Jadhao)**
Jadhao, Solis, Olvera de la Cruz, J Chem Phys, 138, 054119 (2013)
**(Janssens)**
Janssens, Olmsted, Holm, Foiles, Plimpton, Derlet, Nature Materials, 5, 124-127 (2006).
@ -502,6 +643,15 @@ Bibliography
**(Jiang)**
Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J Phys Chem Lett, 2, 87-92 (2011).
**(Jiang1)**
Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J Phys Chem Lett, 2, 87-92 (2011).
**(Jiang2)**
J.-W. Jiang, Nanotechnology 26, 315706 (2015).
**(Jiang3)**
J.-W. Jiang, Acta Mech. Solida. Sin 32, 17 (2019).
**(Johnson et al, 1971)**
Johnson, K. L., Kendall, K., & Roberts, A. D. (1971). Surface energy and the contact of elastic solids. Proc. R. Soc. Lond. A, 324(1558), 301-313.
@ -562,27 +712,33 @@ Bibliography
**(Kumar)**
Kumar and Skinner, J. Phys. Chem. B, 112, 8311 (2008)
**(Lafourcade)**
Lafourcade, Maillet, Denoual, Duval, Allera, Goryaeva, and Marinica, `Comp. Mat. Science, 230, 112534 (2023) <https://doi.org/10.1016/j.commatsci.2023.112534>`_
**(Lamoureux and Roux)**
G.\ Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)
**(Lamoureux)**
Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003).
**(Larentzos)**
J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research
**(Landsgesell)**
J. Landsgesell, P. Hebbeker, O. Rud, R. Lunkad, P. Kosovan, and C. Holm, Macromolecules 53, 3007-3020 (2020).
**(Larentzos1)**
J.P. Larentzos, J.K. Brennan, J.D. Moore, M. Lisal and W.D. Mattson, "Parallel Implementation of Isothermal and Isoenergetic Dissipative Particle Dynamics Using Shardlow-Like Splitting
J.P. Larentzos, J.K. Brennan, J.D. Moore, M. Lisal and W.D. Mattson, Comput. Phys. Commun., 185, 1987-1998 (2014).
**(Larentzos2)**
J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research
J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, ARL-TR-6863, U.S. Army Research Laboratory, Aberdeen Proving Ground, MD (2014).
**(Larsen)**
Larsen, Schmidt, Schiotz, Modelling Simul Mater Sci Eng, 24, 055007 (2016).
**(Lebedeva et al.)**
**(Lebedeva1)**
I.\ V. Lebedeva, A. A. Knizhnik, A. M. Popov, Y. E. Lozovik, B. V. Potapkin, Phys. Rev. B, 84, 245437 (2011)
**(Lebedeva2)**
I. V. Lebedeva, A. A. Knizhnik, A. M. Popov, Y. E. Lozovik, B. V. Potapkin, Physica E: 44, 949-954 (2012)
**(Lechman)**
Lechman, et al, in preparation (2010).
@ -592,6 +748,9 @@ Bibliography
**(Lee2)**
Lee, Baskes, Kim, Cho. Phys. Rev. B, 64, 184102 (2001).
**(Lee2020)**
C.W. Lee, et al. (2020) Physical Review B, 102(2), 024107.
**(Lenart)**
Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, 044509 (2007).
@ -616,8 +775,11 @@ Bibliography
**(Li2015_JCP)**
Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, 143: 014101 (2015). DOI:10.1063/1.4923254.
**(Liang)**
Liang, Phillpot, Sinnott Phys. Rev. B79 245110, (2009), Erratum: Phys. Rev. B85 199903(E), (2012)
**(Lisal)**
M.\ Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative particle dynamics at isothermal, isobaric, isoenergetic, and isoenthalpic conditions using Shardlow-like splitting algorithms.",
M.\ Lisal, J.K. Brennan, J. Bonet Avalos, J. Chem. Phys., 135, 204105 (2011).
**(Liu1)**
L.\ Liu, Y. Liu, S. V. Zybin, H. Sun and W. A. Goddard, Journal of Physical Chemistry A, 115, 11016-11022 (2011).
@ -634,6 +796,15 @@ Bibliography
**(Luding, 2008)**
Luding, S. (2008). Cohesive, frictional powders: contact models for tension. Granular matter, 10(4), 235.
**(Lysogorskiy)**
Lysogorskiy, van der Oord, Bochkarev, Menon, Rinaldi, Hammerschmidt, Mrovec, Thompson, Csanyi, Ortner, Drautz, npj Comp Mat, 7, 97 (2021).
**(Lysogorskiy21)**
Lysogorskiy, van der Oord, Bochkarev, Menon, Rinaldi, Hammerschmidt, Mrovec, Thompson, Csanyi, Ortner, Drautz, npj Comp Mat, 7, 97 (2021).
**(Lysogorskiy23)**
Lysogorskiy, Bochkarev, Mrovec, Drautz, Phys Rev Mater, 7, 043801 (2023) / arXiv:2212.08716 (2022).
**(Maaravi)**
T.\ Maaravi et al, J. Phys. Chem. C 121, 22826-22835 (2017).
@ -652,12 +823,18 @@ Bibliography
**(Maginn)**
Kelkar, Rafferty, Maginn, Siepmann, Fluid Phase Equilibria, 260, 218-231 (2007).
**(Mahoney)**
Mahoney, Jorgensen, J Chem Phys 112, 8910 (2000)
**(Malolepsza)**
Malolepsza, Secor, Keyes, J Phys Chem B 119 (42), 13379-13384 (2015).
**(Mandadapu)**
Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115. Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation.
**(Mandelli_1)**
D. Mandelli, W. Ouyang, M. Urbakh, and O. Hod, ACS Nano 13(7), 7603-7609 (2019).
**(Maras)**
Maras, Trushin, Stukowski, Ala-Nissila, Jonsson, Comp Phys Comm, 205, 13-21 (2016).
@ -673,6 +850,9 @@ Bibliography
**(Martyna1994)**
Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994).
**(Martyna2)**
G. Martyna, A. Hughes, M. Tuckerman, J. Chem. Phys. 110, 3275 (1999).
**(Mason)**
J.\ K. Mason, Acta Cryst A65, 259 (2009).
@ -712,6 +892,9 @@ Bibliography
**(Mie)**
G.\ Mie, Ann Phys, 316, 657 (1903).
**(Milano)**
G. Milano, S. Goudeau, F. Mueller-Plathe, J. Polym. Sci. B Polym. Phys. 43, 871 (2005).
**(Miller1)**
T.\ F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002).
@ -742,12 +925,18 @@ Bibliography
**(Mitchell2011a)**
Mitchell. A Nonlocal, Ordinary, State-Based Plasticity Model for Peridynamics. Sandia National Lab Report, 3166:1-34 (2011).
**(Miyazaki)**
Miyazaki, Okazaki, Shinoda, J Chem Theory Comput, 16, 782-793 (2020).
**(Mniszewski)**
S.\ M. Mniszewski, M. J. Cawkwell, M. E. Wall, J. Mohd-Yusof, N. Bock, T. C. Germann, and A. M. N. Niklasson, J. Chem. Theory Comput., 11, 4644 (2015).
**(Monaghan)**
Monaghan and Gingold, Journal of Computational Physics, 52, 374-389 (1983).
**(Monti)**
Monti, Clemmer, Srivastava, Silbert, Grest, and Lechman, Phys. Rev. E, (2022).
**(Moore)**
Moore, J Chem Phys, 144, 104501 (2016).
@ -767,7 +956,7 @@ Bibliography
Morris, Fox, Zhu, J Comp Physics, 136, 214-226 (1997).
**(Moustafa)**
Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, *Very fast averaging of thermal properties of crystals by molecular simulation*, `Phys. Rev. E [92], 043303 (2015) <https://link.aps.org/doi/10.1103/PhysRevE.92.043303>`_
Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, `Phys. Rev. E [92], 043303 (2015) <https://link.aps.org/doi/10.1103/PhysRevE.92.043303>`_
**(Muller-Plathe1)**
Muller-Plathe, J Chem Phys, 106, 6082 (1997).
@ -787,9 +976,6 @@ Bibliography
**(Neelov)**
Neelov, Holm, J Chem Phys 132, 234103 (2010)
**(Negre2016)**
C.\ F. A. Negre, S. M. Mniszewski, M. J. Cawkwell, N. Bock, M. E. Wall, and A. M. N. Niklasson, J. Chem. Theory Comp., 12, 3063 (2016).
**(Nelson)**
Nelson, Halperin, Phys Rev B, 19, 2457 (1979).
@ -799,12 +985,24 @@ Bibliography
**(Neyts)**
E.\ C. Neyts and A. Bogaerts, Theor. Chem. Acc. 132, 1320 (2013).
**(Nguyen2023)**
Nguyen, Physical Review B, 107(14), 144103, (2023).
**(Nguyen2024)**
Nguyen, Journal of Computational Physics, 113102, (2024).
**(Nguyen and Rohskopf)**
Nguyen and Rohskopf, Journal of Computational Physics, 480, 112030, (2023).
**(Nguyen and Sema)**
Nguyen and Sema, https://arxiv.org/abs/2405.00306, (2024).
**(NguyenTD)**
Nguyen, Li, Bagchi, Solis, Olvera de la Cruz, Comput Phys Commun 241, 80-19 (2019)
**(Nicholson and Rutledge)**
Nicholson and Rutledge, J Chem Phys, 145, 244903 (2016).
**(Nicklas)**
The spline-based MEAM+SW format was first devised and used to develop potentials for bcc transition metals by Jeremy Nicklas, Michael Fellinger,
**(Niklasson2002)**
A.\ M. N. Niklasson, Phys. Rev. B, 66, 155115 (2002).
@ -817,6 +1015,9 @@ Bibliography
**(Niklasson2017)**
A.\ M. N. Niklasson, J. Chem. Phys., 147, 054103 (2017).
**(Nitol)**
Nitol, Dickel, and Barrett, Computational Materials Science 188 (2021): 110207.
**(Noid)**
Noid, Chu, Ayton, Krishna, Izvekov, Voth, Das, Andersen, J Chem Phys 128, 134105 (2008).
@ -838,6 +1039,9 @@ Bibliography
**(O'Connor)**
O'Connor et al., J. Chem. Phys. 142, 024903 (2015).
**(O'Hearn)**
O'Hearn, Alperen, Aktulga, SIAM J. Sci. Comput., 42(1), C1--C22 (2020).
**(Okabe)**
T.\ Okabe, M. Kawata, Y. Okamoto, M. Masuhiro, Chem. Phys. Lett., 335, 435-439 (2001).
@ -847,6 +1051,8 @@ Bibliography
**(Omelyan)**
Omelyan, Mryglod, and Folk. Phys. Rev. Lett. 86(5), 898. (2001).
**(OPLS-AA96)** Jorgensen, Maxwell, Tirado-Rives, J Am Chem Soc, 118(45), 11225-11236 (1996).
**(Oppelstrup)**
Oppelstrup, unpublished, 2015. Oppelstrup and Moriarty, to be published.
@ -868,11 +1074,17 @@ Bibliography
**(Ouyang2)**
W.\ Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020).
**(PASS)**
PASS webpage: https://www.sdu.dk/en/DPASS
**(Ouyang_1)**
W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020).
**(PLUMED)**
G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014)
**(Ouyang6)**
W. Ouyang, O. Hod, and R. Guerra, J. Chem. Theory Comput. 17, 7215 (2021).
**(Ouyang7)**
W. Ouyang, et al., J. Chem. Theory Comput. 17, 7237 (2021).
**(Palkar)**
Palkar V, Kuksenok O, J. Phys. Chem. B, 126 (1), 336-346, 2022
**(Paquay)**
Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 <https://arxiv.org/abs/1411.3019/>`_.
@ -883,21 +1095,33 @@ Bibliography
**(Parks)**
Parks, Lehoucq, Plimpton, Silling, Comp Phys Comm, 179(11), 777-783 (2008).
**(Parrinello1981)**
**(Parrinello)**
Parrinello and Rahman, J Appl Phys, 52, 7182 (1981).
**(PASS)**
PASS webpage: https://www.sdu.dk/en/DPASS
**(Paula Leite2016)**
Paula Leite , Freitas, Azevedo, and de Koning, J Chem Phys, 126, 044509 (2016).
**(Paula Leite2017)**
Paula Leite, Santos-Florez, and de Koning, Phys Rev E, 96, 32115 (2017).
**(Pavlov1)**
D Pavlov, V Galigerov, D Kolotinskii, V Nikolskiy, V Stegailov, International Journal of High Performance Computing Applications, 38, 34-49 (2024).
**(Pavlov2)**
Pavlov, Galigerov, Kolotinskii, Nikolskiy, Stegailov, "GPU-based Molecular Dynamics of Fluid Flows: Reaching for Turbulence", Int. J. High Perf. Comp. Appl., (2024)
**(Pearlman)**
Pearlman, J Chem Phys, 98, 1487 (1994)
**(Pedersen)**
Pedersen, J. Chem. Phys., 139, 104102 (2013).
**(Pedone)**
A. Pedone, G. Malavasi, M. C. Menziani, A. N. Cormack, and U. Segre, J. Phys. Chem. B, 110, 11780 (2006)
**(Peng)**
Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76 (1996).
@ -919,6 +1143,9 @@ Bibliography
**(Pettifor_3)**
D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 65, 172103 (2002).
**(PFC)**
PFC Particle Flow Code 6.0 Documentation. Itasca Consulting Group.
**(Phillips)**
C.\ L. Phillips, J. A. Anderson, S. C. Glotzer, Comput Phys Comm, 230, 7191-7201 (2011).
@ -928,9 +1155,21 @@ Bibliography
**(Pisarev)**
V V Pisarev and S V Starikov, J. Phys.: Condens. Matter, 26, 475401 (2014).
**(Plimpton)**
Plimpton and Knight, JPDC, 147, 184-195 (2021).
**(PLUMED)**
G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014)
**(Pollock)**
Pollock and Glosli, Comp Phys Comm, 95, 93 (1996).
**(Ponder)**
Ponder, Wu, Ren, Pande, Chodera, Schnieders, Haque, Mobley, Lambrecht, DiStasio Jr, M. Head-Gordon, Clark, Johnson, T. Head-Gordon, J Phys Chem B, 114, 2549-2564 (2010).
**(Popov1)**
A.M. Popov, I. V. Lebedeva, A. A. Knizhnik, Y. E. Lozovik and B. V. Potapkin, Chem. Phys. Lett. 536, 82-86 (2012).
**(Price1)**
Price and Brooks, J Chem Phys, 121, 10096 (2004).
@ -970,6 +1209,12 @@ Bibliography
**(Rick)**
S.\ W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 16141 (1994).
**(Rick2)**
S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 6141
**(Roberts)**
R. Roberts (2019) "Evenly Distributing Points in a Triangle." Extreme Learning. `<http://extremelearning.com.au/evenly-distributing-points-in-a-triangle/>`_
**(Rohart)**
Rohart and Thiaville, Physical Review B, 88(18), 184422. (2013).
@ -1006,9 +1251,18 @@ Bibliography
**(Sadigh)**
B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012).
**(Sadigh1)**
B. Sadigh, P. Erhart, A. Stukowski, A. Caro, E. Martinez, and L. Zepeda-Ruiz, Phys. Rev. B **85**, 184203 (2012)
**(Sadigh2)**
B. Sadigh and P. Erhart, Phys. Rev. B **86**, 134204 (2012)
**(Safran)**
Safran, Statistical Thermodynamics of Surfaces, Interfaces, And Membranes, Westview Press, ISBN: 978-0813340791 (2003).
**(Salanne)**
Salanne, Rotenberg, Jahn, Vuilleumier, Simon, Christian and Madden, Theor Chem Acc, 131, 1143 (2012).
**(Salerno)**
Salerno, Bernstein, J Chem Theory Comput, --, ---- (2018).
@ -1018,9 +1272,18 @@ Bibliography
**(Sanyal2)**
Sanyal and Shell, Journal of Physical Chemistry B, 122 (21), 5678-5693.
**(Scalfi)**
Scalfi *et al.*, J. Chem. Phys., 153, 174704 (2020).
**(Schelling)**
Patrick K. Schelling, Comp. Mat. Science, 44, 274 (2008).
**(Scherer1)**
C. Scherer and D. Andrienko, Phys. Chem. Chem. Phys. 20, 22387-22394 (2018).
**(Scherer2)**
C. Scherer, R. Scheid, D. Andrienko, and T. Bereau, J. Chem. Theor. Comp. 16, 3194-3204 (2020).
**(Schlitter1)**
Schlitter, Swegat, Mulders, "Distance-type reaction coordinates for modelling activated processes", J Molecular Modeling, 7, 171-177 (2001).
@ -1039,21 +1302,36 @@ Bibliography
**(Schroeder)**
Schroeder and Steinhauser, J Chem Phys, 133, 154511 (2010).
**(Seleson 2010)**
Seleson, Parks, Int J Mult Comp Eng 9(6), pp. 689-706, 2011.
**(Semaev)**
Semaev, Cryptography and Lattices, 181 (2001).
**(Seo)**
Seo, Shinoda, J Chem Theory Comput, 15, 762-774 (2019).
**(Sheppard)**
Sheppard, Terrell, Henkelman, J Chem Phys, 128, 134106 (2008). See ref 1 in this paper for original reference to Qmin in Jonsson, Mills, Jacobsen.
**(Shi)**
Shi, Xia, Zhang, Best, Wu, Ponder, Ren, J Chem Theory Comp, 9, 4046, 2013.
**(Shinoda)**
Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007).
**(Shinoda)**
Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
**(Shire)**
Shire, Hanley and Stratford, Comp. Part. Mech., (2020).
**(Sides)**
Sides, Grest, Stevens, Plimpton, J Polymer Science B, 42, 199-208 (2004).
**(Siepmann)**
Siepmann and Sprik, J. Chem. Phys. 102, 511 (1995).
**(Silbert)**
Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev E, 64, p 051302 (2001).
@ -1063,12 +1341,21 @@ Bibliography
**(Silling 2000)**
Silling, J Mech Phys Solids, 48, 175-209 (2000).
**(Silling 2005)**
Silling Askari, Computer and Structures, 83, 1526-1535 (2005).
**(Silling 2007)**
Silling, Epton, Weckner, Xu, Askari, J Elasticity, 88, 151-184 (2007).
**(Singh)**
Singh and Warner, Acta Mater, 58, 5797-5805 (2010),
**(Singraber, Behler and Dellago 2019)**
Singraber, A.; Behler, J.; Dellago, C. J., Chem. Theory Comput. 2019, 15 (3), 1827-1840
**(Singraber et al 2019)**
Singraber, A.; Morawietz, T.; Behler, J.; Dellago, C., J. Chem. Theory Comput. 2019, 15 (5), 3075-3092.
**(Sirk1)**
Sirk TW, Sliozberg YR, Brennan JK, Lisal M, Andzelm JW, J Chem Phys, 136 (13) 134903, 2012.
@ -1081,6 +1368,9 @@ Bibliography
**(Snodin)**
B.E. Snodin, F. Randisi, M. Mosayebi, et al., J. Chem. Phys. 142, 234901 (2015).
**(Son)**
Son, McDaniel, Cui and Yethiraj, J Phys Chem Lett, 10, 7523 (2019).
**(Srivastava)**
Zhigilei, Wei, Srivastava, Phys. Rev. B 71, 165417 (2005).
@ -1090,6 +1380,12 @@ Bibliography
**(Steinhardt)**
P.\ Steinhardt, D. Nelson, and M. Ronchetti, Phys. Rev. B 28, 784 (1983).
**(Steward)**
Stewart, Spearot, Modelling Simul. Mater. Sci. Eng. 21, 045003, (2013).
**(Stewart2018)**
J.A. Stewart, et al. (2018) Journal of Applied Physics, 123(16), 165902.
**(Stiles)**
Stiles , Hubbard, and Kayser, J Chem Phys, 77, 6189 (1982).
@ -1147,12 +1443,21 @@ Bibliography
**(Tainter 2015)**
Tainter, Shi, and Skinner, 11, 2268 (2015)
**(Tang and Toennies)**
J Chem Phys, 80, 3726 (1984).
**(Tee)**
Tee and Searles, J. Chem. Phys. 156, 184101 (2022).
**(Templeton2010)**
Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007.
**(Templeton2011)**
Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736.
**(tenWolde)**
P.\ R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, J. Chem. Phys. 104, 9932 (1996).
**(Tersoff_1)**
J.\ Tersoff, Phys Rev B, 37, 6991 (1988).
@ -1195,6 +1500,9 @@ Bibliography
**(Tranchida)**
Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018).
**(Tribello)**
G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014)
**(Tsuji et al, 1992)**
Tsuji, Y., Tanaka, T., & Ishida, T. (1992). Lagrangian numerical simulation of plug flow of cohesionless particles in a horizontal pipe. Powder technology, 71(3),
@ -1213,6 +1521,9 @@ Bibliography
**(Tuckerman4)**
Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, 106, 5615 (1997).
**(Tyagi)**
Tyagi, Suzen, Sega, Barbosa, Kantorovich, Holm, J Chem Phys, 132, 154112 (2010)
**(Ulomek)**
Ulomek, Brien, Foiles, Mohles, Modelling Simul. Mater. Sci. Eng. 23 (2015) 025007
@ -1222,6 +1533,15 @@ Bibliography
**(Valone)**
Valone, Baskes, Martin, Phys. Rev. B, 73, 214209 (2006).
**(vanWijk)**
M. M. van Wijk, A. Schuring, M. I. Katsnelson, and A. Fasolino, Physical Review Letters, 113, 135504 (2014)
**(Van Workum)**
K. Van Workum et al., J. Chem. Phys. 125 144506 (2006)
**(Vargas and McCarthy 2001)**
Vargas, W.L. and McCarthy, J.J. (2001).
**(Varshalovich)**
Varshalovich, Moskalev, Khersonskii, Quantum Theory of Angular Momentum, World Scientific, Singapore (1987).
@ -1234,6 +1554,9 @@ Bibliography
**(Veld)**
In 't Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007).
**(Verstraelen)**
Verstraelen, Ayers, Speybroeck, Waroquier, J. Chem. Phys. 138, 074108 (2013).
**(Volkov1)**
Volkov and Zhigilei, J Phys Chem C, 114, 5513 (2010).
@ -1258,6 +1581,9 @@ Bibliography
**(Wang et al, 2015)**
Wang, Y., Alonso-Marroquin, F., & Guo, W. W. (2015). Rolling and sliding in 3-D discrete element models. Particuology, 23, 49-55.
**(Wang2020)**
X. Wang, S. Ramirez-Hinestrosa, J. Dobnikar, and D. Frenkel, Phys. Chem. Chem. Phys. 22, 10624 (2020).
**(Wang1)**
J.\ Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011).
@ -1297,6 +1623,9 @@ Bibliography
**(Wicaksono2)**
Wicaksono, figshare, https://doi.org/10.6084/m9.figshare.1488628.v1 (2015).
**(Winkler)**
Winkler, Wysocki, and Gompper, Soft Matter, 11, 6680 (2015).
**(Wirnsberger)**
Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 (2015).
@ -1309,9 +1638,27 @@ Bibliography
**(Wood)**
Wood and Thompson, J Chem Phys, 148, 241721, (2018)
**(Xie23)**
Xie, S.R., Rupp, M. & Hennig, R.G. Ultra-fast interpretable machine-learning potentials. npj Comput Mater 9, 162 (2023). https://doi.org/10.1038/s41524-023-01092-7
**(Yade-DEM)**
V. Smilauer et al. (2021), Yade Documentation 3rd ed.
**(Yanxon2020)**
Yanxon, Zagaceta, Tang, Matteson, Zhu, Mach. Learn.: Sci. Technol. 2, 027001 (2020).
**(Yeh)**
Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999).
**(Yuan2010a)**
Yuan, Huang, Li, Lykotrafitis, Zhang, Phys. Rev. E, 82, 011905(2010).
**(Yuan2010b)**
Yuan, Huang, Zhang, Soft. Matter, 6, 4571(2010).
**(Zagaceta2020)**
Zagaceta, Yanxon, Zhu, J Appl Phys, 128, 045113 (2020).
**(ZBL)**
J.F. Ziegler, J.P. Biersack, U. Littmark, 'Stopping and Ranges of Ions in Matter' Vol 1, 1985, Pergamon Press.
@ -1381,17 +1728,6 @@ Bibliography
**(Zimmerman2010)**
Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364.
**(de Buyl)**
de Buyl, Colberg and Hofling, H5MD: A structured, efficient, and portable file format for molecular data, Comp. Phys. Comm. 185(6), 1546-1553 (2014) -
**(de Koning)**
de Koning and Antonelli, Phys Rev E, 53, 465 (1996).
**(electronic stopping)**
Wikipedia - Electronic Stopping Power: https://en.wikipedia.org/wiki/Stopping_power_%28particle_radiation%29
**(tenWolde)**
P.\ R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, J. Chem. Phys. 104, 9932 (1996).
**(vanWijk)**
M.\ M. van Wijk, A. Schuring, M. I. Katsnelson, and A. Fasolino, Physical Review Letters, 113, 135504 (2014)

View File

@ -37,8 +37,9 @@ standard. A more detailed discussion of that is below.
.. code-block:: bash
-D BUILD_MPI=value # yes or no, default is yes if CMake finds MPI, else no
-D BUILD_OMP=value # yes or no, default is yes if a compatible compiler is detected
-D BUILD_MPI=value # yes or no, default is yes if CMake finds MPI
-D BUILD_OMP=value # yes or no, default is yes if a compatible
# compiler is detected
-D LAMMPS_MACHINE=name # name = mpi, serial, mybox, titan, laptop, etc
# no default value
@ -54,9 +55,9 @@ standard. A more detailed discussion of that is below.
.. code-block:: bash
make mpi # parallel build, produces lmp_mpi using Makefile.mpi
make serial # serial build, produces lmp_serial using Makefile/serial
make mybox # uses Makefile.mybox to produce lmp_mybox
make mpi # parallel build, produces lmp_mpi using Makefile.mpi
make serial # serial build, produces lmp_serial using Makefile/serial
make mybox # uses Makefile.mybox to produce lmp_mybox
Any ``make machine`` command will look up the make settings from a
file ``Makefile.machine`` in the folder ``src/MAKE`` or one of its
@ -74,15 +75,15 @@ standard. A more detailed discussion of that is below.
this is ``-fopenmp``\ , which can be added to the ``CC`` and
``LINK`` makefile variables.
For the serial build the following make variables are set (see src/MAKE/Makefile.serial):
For the serial build the following make variables are set (see ``src/MAKE/Makefile.serial``):
.. code-block:: make
CC = g++
LINK = g++
MPI_INC = -I../STUBS
MPI_PATH = -L../STUBS
MPI_LIB = -lmpi_stubs
CC = g++
LINK = g++
MPI_INC = -I../STUBS
MPI_PATH = -L../STUBS
MPI_LIB = -lmpi_stubs
You also need to build the STUBS library for your platform before
making LAMMPS itself. A ``make serial`` build does this for you
@ -231,24 +232,32 @@ LAMMPS.
.. code-block:: bash
# Building with GNU Compilers:
cmake ../cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=gfortran
# Building with Intel Compilers:
cmake ../cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_Fortran_COMPILER=ifort
cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ \
-DCMAKE_Fortran_COMPILER=gfortran ../cmake
# Building with Intel Classic Compilers:
cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc \
-DCMAKE_Fortran_COMPILER=ifort ../cmake
# Building with Intel oneAPI Compilers:
cmake ../cmake -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DCMAKE_Fortran_COMPILER=ifx
cmake -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx \
-DCMAKE_Fortran_COMPILER=ifx ../cmake
# Building with LLVM/Clang Compilers:
cmake ../cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_Fortran_COMPILER=flang
cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_Fortran_COMPILER=flang ../cmake
# Building with PGI/Nvidia Compilers:
cmake ../cmake -DCMAKE_C_COMPILER=pgcc -DCMAKE_CXX_COMPILER=pgc++ -DCMAKE_Fortran_COMPILER=pgfortran
cmake -DCMAKE_C_COMPILER=pgcc -DCMAKE_CXX_COMPILER=pgc++ \
-DCMAKE_Fortran_COMPILER=pgfortran ../cmake
# Building with the NVHPC Compilers:
cmake -DCMAKE_C_COMPILER=nvc -DCMAKE_CXX_COMPILER=nvc++ \
-DCMAKE_Fortran_COMPILER=nvfortran ../cmake
For compiling with the Clang/LLVM compilers a CMake preset is
provided that can be loaded with
`-C ../cmake/presets/clang.cmake`. Similarly,
`-C ../cmake/presets/intel.cmake` should switch the compiler
toolchain to the legacy Intel compilers, `-C ../cmake/presets/oneapi.cmake`
``-C ../cmake/presets/clang.cmake``. Similarly,
``-C ../cmake/presets/intel.cmake`` should switch the compiler
toolchain to the legacy Intel compilers, ``-C ../cmake/presets/oneapi.cmake``
will switch to the LLVM based oneAPI Intel compilers,
and `-C ../cmake/presets/pgi.cmake`
will switch the compiler to the PGI compilers.
``-C ../cmake/presets/pgi.cmake`` will switch the compiler to the PGI compilers,
and ``-C ../cmake/presets/nvhpc.cmake`` will switch to the NVHPC compilers.
Furthermore, you can set ``CMAKE_TUNE_FLAGS`` to specifically add
compiler flags to tune for optimal performance on given hosts.
@ -259,7 +268,7 @@ LAMMPS.
When the cmake command completes, it prints a summary to the
screen which compilers it is using and what flags and settings
will be used for the compilation. Note that if the top-level
compiler is mpicxx, it is simply a wrapper on a real compiler.
compiler is ``mpicxx``, it is simply a wrapper on a real compiler.
The underlying compiler info is what CMake will try to
determine and report. You should check to confirm you are
using the compiler and optimization flags you want.
@ -278,19 +287,19 @@ LAMMPS.
.. code-block:: make
CC = mpicxx
CCFLAGS = -g -O3
LINK = mpicxx
LINKFLAGS = -g -O
CC = mpicxx
CCFLAGS = -g -O3
LINK = mpicxx
LINKFLAGS = -g -O
Serial build with GNU gcc (see ``src/MAKE/Makefile.serial``):
.. code-block:: make
CC = g++
CCFLAGS = -g -O3
LINK = g++
LINKFLAGS = -g -O
CC = g++
CCFLAGS = -g -O3
LINK = g++
LINKFLAGS = -g -O
.. note::
@ -316,10 +325,10 @@ LAMMPS.
there may be specific compiler or linker flags that are either
required or recommended to enable required features and to
achieve optimal performance. You need to include these in the
CCFLAGS and LINKFLAGS settings above. For details, see the
``CCFLAGS`` and ``LINKFLAGS`` settings above. For details, see the
documentation for the individual packages listed on the
:doc:`Speed_packages` page. Or examine these files in the
src/MAKE/OPTIONS directory. They correspond to each of the 5
``src/MAKE/OPTIONS`` directory. They correspond to each of the 5
accelerator packages and their hardware variants:
.. code-block:: bash
@ -388,7 +397,8 @@ running LAMMPS from Python via its library interface.
make machine # build LAMMPS executable lmp_machine
make mode=static machine # same as "make machine"
make mode=shared machine # build LAMMPS shared lib liblammps_machine.so instead
make mode=shared machine # build LAMMPS shared lib liblammps_machine.so
# instead
The "static" build will generate a static library called
``liblammps_machine.a`` and an executable named ``lmp_machine``\ ,
@ -450,7 +460,7 @@ installation.
Including or removing debug support
-----------------------------------
By default the compilation settings will include the *-g* flag which
By default the compilation settings will include the ``-g`` flag which
instructs the compiler to include debug information (e.g. which line of
source code a particular instruction correspond to). This can be
extremely useful in case LAMMPS crashes and can help to provide crucial
@ -463,7 +473,7 @@ If this is a concern, you can change the compilation settings or remove
the debug information from the LAMMPS executable:
- **Traditional make**: edit your ``Makefile.<machine>`` to remove the
*-g* flag from the ``CCFLAGS`` and ``LINKFLAGS`` definitions
``-g`` flag from the ``CCFLAGS`` and ``LINKFLAGS`` definitions
- **CMake**: use ``-D CMAKE_BUILD_TYPE=Release`` or explicitly reset
the applicable compiler flags (best done using the text mode or
graphical user interface).
@ -488,9 +498,10 @@ using CMake or Make.
.. code-block:: bash
-D BUILD_TOOLS=value # yes or no (default). Build binary2txt, chain.x, micelle2d.x, msi2lmp, phana, stl_bin2txt
-D BUILD_LAMMPS_SHELL=value # yes or no (default). Build lammps-shell
-D BUILD_LAMMPS_GUI=value # yes or no (default). Build lammps-gui
-D BUILD_TOOLS=value # yes or no (default). Build binary2txt,
# chain.x, micelle2d.x, msi2lmp, phana,
# stl_bin2txt
-D BUILD_LAMMPS_GUI=value # yes or no (default). Build LAMMPS-GUI
The generated binaries will also become part of the LAMMPS installation
(see below).
@ -505,8 +516,9 @@ using CMake or Make.
make chain # build only chain tool
make micelle2d # build only micelle2d tool
cd lammps/tools/lammps-shell
make # build LAMMPS shell
.. note::
Building the LAMMPS-GUI *requires* building LAMMPS with CMake.
----------

View File

@ -131,20 +131,20 @@ file called ``CMakeLists.txt`` (for LAMMPS it is located in the
configuration step. The cache file contains all current CMake settings.
To modify settings, enable or disable features, you need to set
*variables* with either the *-D* command line flag (``-D
*variables* with either the ``-D`` command line flag (``-D
VARIABLE1_NAME=value``) or change them in the text mode of the graphical
user interface. The *-D* flag can be used several times in one command.
user interface. The ``-D`` flag can be used several times in one command.
For your convenience, we provide :ref:`CMake presets <cmake_presets>`
that combine multiple settings to enable optional LAMMPS packages or use
a different compiler tool chain. Those are loaded with the *-C* flag
a different compiler tool chain. Those are loaded with the ``-C`` flag
(``-C ../cmake/presets/basic.cmake``). This step would only be needed
once, as the settings from the preset files are stored in the
``CMakeCache.txt`` file. It is also possible to customize the build
by adding one or more *-D* flags to the CMake command line.
by adding one or more ``-D`` flags to the CMake command line.
Generating files for alternate build tools (e.g. Ninja) and project files
for IDEs like Eclipse, CodeBlocks, or Kate can be selected using the *-G*
for IDEs like Eclipse, CodeBlocks, or Kate can be selected using the ``-G``
command line flag. A list of available generator settings for your
specific CMake version is given when running ``cmake --help``.
@ -171,7 +171,7 @@ files. E.g. with:
In that case the resulting binaries are not in the build folder directly
but in subdirectories corresponding to the build type (i.e. Release in
the example from above). Similarly, for running unit tests the
configuration is selected with the *-C* flag:
configuration is selected with the ``-C`` flag:
.. code-block:: bash

View File

@ -88,8 +88,8 @@ on recording all commands required to do the compilation.
.. _sanitizer:
Address, Undefined Behavior, and Thread Sanitizer Support (CMake only)
----------------------------------------------------------------------
Address, Leak, Undefined Behavior, and Thread Sanitizer Support (CMake only)
----------------------------------------------------------------------------
Compilers such as GCC and Clang support generating instrumented binaries
which use different sanitizer libraries to detect problems in the code
@ -110,6 +110,7 @@ compilation and linking stages. This is done through setting the
-D ENABLE_SANITIZER=none # no sanitizer active (default)
-D ENABLE_SANITIZER=address # enable address sanitizer / memory leak checker
-D ENABLE_SANITIZER=hwaddress # enable hardware assisted address sanitizer / memory leak checker
-D ENABLE_SANITIZER=leak # enable memory leak checker (only)
-D ENABLE_SANITIZER=undefined # enable undefined behavior sanitizer
-D ENABLE_SANITIZER=thread # enable thread sanitizer
@ -122,32 +123,44 @@ Code Coverage and Unit Testing (CMake only)
-------------------------------------------
The LAMMPS code is subject to multiple levels of automated testing
during development: integration testing (i.e. whether the code compiles
on various platforms and with a variety of settings), unit testing
(i.e. whether certain individual parts of the code produce the expected
results for given inputs), run testing (whether selected complete input
decks run without crashing for multiple configurations), and regression
testing (i.e. whether selected input examples reproduce the same
results over a given number of steps and operations within a given
error margin). The status of this automated testing can be viewed on
`https://ci.lammps.org <https://ci.lammps.org>`_.
during development:
- Integration testing (i.e. whether the code compiles
on various platforms and with a variety of compilers and settings),
- Unit testing (i.e. whether certain functions or classes of the code
produce the expected results for given inputs),
- Run testing (i.e. whether selected input decks can run to completion
without crashing for multiple configurations),
- Regression testing (i.e. whether selected input examples reproduce the
same results over a given number of steps and operations within a
given error margin).
The status of this automated testing can be viewed on `https://ci.lammps.org
<https://ci.lammps.org>`_.
The scripts and inputs for integration, run, and regression testing
are maintained in a
`separate repository <https://github.com/lammps/lammps-testing>`_
of the LAMMPS project on GitHub.
of the LAMMPS project on GitHub. A few tests are also run as GitHub
Actions and their configuration files are in the ``.github/workflows/``
folder of the LAMMPS git tree.
The unit testing facility is integrated into the CMake build process
of the LAMMPS source code distribution itself. It can be enabled by
The unit testing facility is integrated into the CMake build process of
the LAMMPS source code distribution itself. It can be enabled by
setting ``-D ENABLE_TESTING=on`` during the CMake configuration step.
It requires the `YAML <https://pyyaml.org/>`_ library and development
headers (if those are not found locally a recent version will be
downloaded and compiled along with LAMMPS and the test program) to
compile and will download and compile a specific recent version of the
`Googletest <https://github.com/google/googletest/>`_ C++ test framework
for implementing the tests.
It requires the `YAML <https://pyyaml.org/>`_ library and matching
development headers to compile (if those are not found locally a recent
version of that library will be downloaded and compiled along with
LAMMPS and the test programs) and will download and compile a specific
version of the `GoogleTest <https://github.com/google/googletest/>`_ C++
test framework that is used to implement the tests. Those unit tests
may be combined with memory access and leak checking with valgrind
(see below for how to enable it). In that case, running so-called
death tests will create a lot of false positives and thus they can be
disabled by configuring compilation with the additional setting
``-D SKIP_DEATH_TESTS=on``.
.. admonition:: Software version requirements for testing
.. admonition:: Software version and LAMMPS configuration requirements
:class: note
The compiler and library version requirements for the testing
@ -155,7 +168,7 @@ for implementing the tests.
example the default GNU C++ and Fortran compilers of RHEL/CentOS 7.x
(version 4.8.x) are not sufficient. The CMake configuration will try
to detect incompatible versions and either skip incompatible tests or
stop with an error. Also the number of tests will depend on
stop with an error. Also the number of available tests will depend on
installed LAMMPS packages, development environment, operating system,
and configuration settings.
@ -168,24 +181,24 @@ The output of this command will be looking something like this:
$ ctest
Test project /home/akohlmey/compile/lammps/build-testing
Start 1: RunLammps
1/563 Test #1: RunLammps .......................................... Passed 0.28 sec
1/563 Test #1: RunLammps .................................. Passed 0.28 sec
Start 2: HelpMessage
2/563 Test #2: HelpMessage ........................................ Passed 0.06 sec
2/563 Test #2: HelpMessage ................................ Passed 0.06 sec
Start 3: InvalidFlag
3/563 Test #3: InvalidFlag ........................................ Passed 0.06 sec
3/563 Test #3: InvalidFlag ................................ Passed 0.06 sec
Start 4: Tokenizer
4/563 Test #4: Tokenizer .......................................... Passed 0.05 sec
4/563 Test #4: Tokenizer .................................. Passed 0.05 sec
Start 5: MemPool
5/563 Test #5: MemPool ............................................ Passed 0.05 sec
5/563 Test #5: MemPool .................................... Passed 0.05 sec
Start 6: ArgUtils
6/563 Test #6: ArgUtils ........................................... Passed 0.05 sec
6/563 Test #6: ArgUtils ................................... Passed 0.05 sec
[...]
Start 561: ImproperStyle:zero
561/563 Test #561: ImproperStyle:zero ................................. Passed 0.07 sec
561/563 Test #561: ImproperStyle:zero ......................... Passed 0.07 sec
Start 562: TestMliapPyUnified
562/563 Test #562: TestMliapPyUnified ................................. Passed 0.16 sec
562/563 Test #562: TestMliapPyUnified ......................... Passed 0.16 sec
Start 563: TestPairList
563/563 Test #563: TestPairList ....................................... Passed 0.06 sec
563/563 Test #563: TestPairList ............................... Passed 0.06 sec
100% tests passed, 0 tests failed out of 563
@ -200,24 +213,25 @@ The output of this command will be looking something like this:
The ``ctest`` command has many options, the most important ones are:
.. list-table::
:widths: 20 80
* - Option
- Function
* - -V
* - ``-V``
- verbose output: display output of individual test runs
* - -j <num>
* - ``-j <num>``
- parallel run: run <num> tests in parallel
* - -R <regex>
* - ``-R <regex>``
- run subset of tests matching the regular expression <regex>
* - -E <regex>
* - ``-E <regex>``
- exclude subset of tests matching the regular expression <regex>
* - -L <regex>
* - ``-L <regex>``
- run subset of tests with a label matching the regular expression <regex>
* - -LE <regex>
* - ``-LE <regex>``
- exclude subset of tests with a label matching the regular expression <regex>
* - -N
* - ``-N``
- dry-run: display list of tests without running them
* - -T memcheck
* - ``-T memcheck``
- run tests with valgrind memory checker (if available)
In its full implementation, the unit test framework will consist of multiple
@ -234,12 +248,31 @@ will be skipped if prerequisite features are not available in LAMMPS.
time. Preference is given to parts of the code base that are easy to
test or commonly used.
Tests for styles of the same kind of style (e.g. pair styles or bond
styles) are performed with the same test executable using different
input files in YAML format. So to add a test for another style of the
same kind it may be sufficient to add a suitable YAML file.
:doc:`Detailed instructions for adding tests <Developer_unittest>` are
provided in the Programmer Guide part of the manual.
Tests as shown by the ``ctest`` program are command lines defined in the
``CMakeLists.txt`` files in the ``unittest`` directory tree. A few
tests simply execute LAMMPS with specific command line flags and check
the output to the screen for expected content. A large number of unit
tests are special tests programs using the `GoogleTest framework
<https://github.com/google/googletest/>`_ and linked to the LAMMPS
library that test individual functions or create a LAMMPS class
instance, execute one or more commands and check data inside the LAMMPS
class hierarchy. There are also tests for the C-library, Fortran, and
Python module interfaces to LAMMPS. The Python tests use the Python
"unittest" module in a similar fashion than the others use `GoogleTest`.
These special test programs are structured to perform multiple
individual tests internally and each of those contains several checks
(aka assertions) for internal data being changed as expected.
Tests for force computing or modifying styles (e.g. styles for non-bonded
and bonded interactions and selected fixes) are run by using a more generic
test program that reads its input from files in YAML format. The YAML file
provides the information on how to customized the test program to test
a specific style and - if needed - with specific settings.
To add a test for another, similar style (e.g. a new pair style) it is
usually sufficient to add a suitable YAML file. :doc:`Detailed
instructions for adding tests <Developer_unittest>` are provided in the
Programmer Guide part of the manual. A description of what happens
during the tests is given below.
Unit tests for force styles
^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -255,16 +288,18 @@ A test run is then a a collection multiple individual test runs each
with many comparisons to reference results based on template input
files, individual command settings, relative error margins, and
reference data stored in a YAML format file with ``.yaml``
suffix. Currently the programs ``test_pair_style``, ``test_bond_style``, and
``test_angle_style`` are implemented. They will compare forces, energies and
(global) stress for all atoms after a ``run 0`` calculation and after a
few steps of MD with :doc:`fix nve <fix_nve>`, each in multiple variants
with different settings and also for multiple accelerated styles. If a
prerequisite style or package is missing, the individual tests are
skipped. All tests will be executed on a single MPI process, so using
the CMake option ``-D BUILD_MPI=off`` can significantly speed up testing,
since this will skip the MPI initialization for each test run.
Below is an example command and output:
suffix. Currently the programs ``test_pair_style``, ``test_bond_style``,
``test_angle_style``, ``test_dihedral_style``, and
``test_improper_style`` are implemented. They will compare forces,
energies and (global) stress for all atoms after a ``run 0`` calculation
and after a few steps of MD with :doc:`fix nve <fix_nve>`, each in
multiple variants with different settings and also for multiple
accelerated styles. If a prerequisite style or package is missing, the
individual tests are skipped. All force style tests will be executed on
a single MPI process, so using the CMake option ``-D BUILD_MPI=off`` can
significantly speed up testing, since this will skip the MPI
initialization for each test run. Below is an example command and
output:
.. code-block:: console
@ -302,16 +337,17 @@ paths in the individual source files.
The force style test programs have a common set of options:
.. list-table::
:widths: 25 75
* - Option
- Function
* - -g <newfile>
* - ``-g <newfile>``
- regenerate reference data in new YAML file
* - -u
* - ``-u``
- update reference data in the original YAML file
* - -s
* - ``-s``
- print error statistics for each group of comparisons
* - -v
* - ``-v``
- verbose output: also print the executed LAMMPS commands
The ``ctest`` tool has no mechanism to directly pass flags to the individual
@ -325,10 +361,10 @@ set in an environment variable ``TEST_ARGS``. Example:
To add a test for a style that is not yet covered, it is usually best
to copy a YAML file for a similar style to a new file, edit the details
of the style (how to call it, how to set its coefficients) and then
run test command with either the *-g* and the replace the initial
test file with the regenerated one or the *-u* option. The *-u* option
run test command with either the ``-g`` and the replace the initial
test file with the regenerated one or the ``-u`` option. The ``-u`` option
will destroy the original file, if the generation run does not complete,
so using *-g* is recommended unless the YAML file is fully tested
so using ``-g`` is recommended unless the YAML file is fully tested
and working.
Some of the force style tests are rather slow to run and some are very
@ -416,15 +452,16 @@ When compiling LAMMPS with enabled tests, most test executables will
need to be linked against the LAMMPS library. Since this can be a very
large library with many C++ objects when many packages are enabled, link
times can become very long on machines that use the GNU BFD linker (e.g.
Linux systems). Alternatives like the ``lld`` linker of the LLVM project
or the ``gold`` linker available with GNU binutils can speed up this step
substantially. CMake will by default test if any of the two can be
enabled and use it when ``ENABLE_TESTING`` is active. It can also be
selected manually through the ``CMAKE_CUSTOM_LINKER`` CMake variable.
Allowed values are ``lld``, ``gold``, ``bfd``, or ``default``. The
``default`` option will use the system default linker otherwise, the
linker is chosen explicitly. This option is only available for the
GNU or Clang C++ compiler.
Linux systems). Alternatives like the ``mold`` linker, the ``lld``
linker of the LLVM project, or the ``gold`` linker available with GNU
binutils can speed up this step substantially (in this order). CMake
will by default test if any of the three can be enabled and use it when
``ENABLE_TESTING`` is active. It can also be selected manually through
the ``CMAKE_CUSTOM_LINKER`` CMake variable. Allowed values are
``mold``, ``lld``, ``gold``, ``bfd``, or ``default``. The ``default``
option will use the system default linker otherwise, the linker is
chosen explicitly. This option is only available for the GNU or Clang
C++ compilers.
Tests for other components and utility functions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -477,27 +514,51 @@ After post-processing with ``gen_coverage_html`` the results are in
a folder ``coverage_html`` and can be viewed with a web browser.
The images below illustrate how the data is presented.
.. list-table::
.. only:: not latex
* - .. figure:: JPG/coverage-overview-top.png
:scale: 25%
.. list-table::
Top of the overview page
* - .. figure:: JPG/coverage-overview-top.png
:scale: 25%
- .. figure:: JPG/coverage-overview-manybody.png
:scale: 25%
Top of the overview page
Styles with good coverage
- .. figure:: JPG/coverage-overview-manybody.png
:scale: 25%
- .. figure:: JPG/coverage-file-top.png
:scale: 25%
Styles with good coverage
Top of individual source page
- .. figure:: JPG/coverage-file-top.png
:scale: 25%
- .. figure:: JPG/coverage-file-branches.png
:scale: 25%
Top of individual source page
Source page with branches
- .. figure:: JPG/coverage-file-branches.png
:scale: 25%
Source page with branches
.. only:: latex
.. figure:: JPG/coverage-overview-top.png
:width: 60%
Top of the overview page
.. figure:: JPG/coverage-overview-manybody.png
:width: 60%
Styles with good coverage
.. figure:: JPG/coverage-file-top.png
:width: 60%
Top of individual source page
.. figure:: JPG/coverage-file-branches.png
:width: 60%
Source page with branches
Coding style utilities
----------------------
@ -518,6 +579,8 @@ The following options are available.
make fix-errordocs # remove error docs in header files
make check-permissions # search for files with permissions issues
make fix-permissions # correct permissions issues in files
make check-docs # search for several issues in the manual
make check-version # list files with pending release version tags
make check # run all check targets from above
These should help to make source and documentation files conforming

View File

@ -14,7 +14,7 @@ in addition to
cmake -D PKG_NAME=yes
- .. code-block:: console
- .. code-block:: bash
make yes-name
@ -59,6 +59,7 @@ This is the list of packages that may require additional steps.
* :ref:`POEMS <poems>`
* :ref:`PYTHON <python>`
* :ref:`QMMM <qmmm>`
* :ref:`RHEO <rheo>`
* :ref:`SCAFACOS <scafacos>`
* :ref:`VORONOI <voronoi>`
* :ref:`VTK <vtk>`
@ -72,7 +73,7 @@ COMPRESS package
To build with this package you must have the `zlib compression library
<https://zlib.net>`_ available on your system to build dump styles with
a '/gz' suffix. There are also styles using the
a ``/gz`` suffix. There are also styles using the
`Zstandard <https://facebook.github.io/zstd/>`_ library which have a
'/zstd' suffix. The zstd library version must be at least 1.4. Older
versions use an incompatible API and thus LAMMPS will fail to compile.
@ -94,7 +95,7 @@ versions use an incompatible API and thus LAMMPS will fail to compile.
<https://www.freedesktop.org/wiki/Software/pkg-config/>`_ tool to
identify the necessary flags to compile with this library, so the
corresponding ``libzstandard.pc`` file must be in a folder where
pkg-config can find it, which may require adding it to the
``pkg-config`` can find it, which may require adding it to the
``PKG_CONFIG_PATH`` environment variable.
.. tab:: Traditional make
@ -126,46 +127,53 @@ CMake build
# value = double or mixed (default) or single
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
# value = sm_XX (see below, default is sm_50)
-D GPU_DEBUG=value # enable debug code in the GPU package library, mostly useful for developers
-D GPU_DEBUG=value # enable debug code in the GPU package library,
# mostly useful for developers
# value = yes or no (default)
-D HIP_PATH=value # value = path to HIP installation. Must be set if GPU_API=HIP
-D HIP_PATH=value # value = path to HIP installation. Must be set if
# GPU_API=HIP
-D HIP_ARCH=value # primary GPU hardware choice for GPU_API=hip
# value depends on selected HIP_PLATFORM
# default is 'gfx906' for HIP_PLATFORM=amd and 'sm_50' for HIP_PLATFORM=nvcc
# default is 'gfx906' for HIP_PLATFORM=amd and 'sm_50' for
# HIP_PLATFORM=nvcc
-D HIP_USE_DEVICE_SORT=value # enables GPU sorting
# value = yes (default) or no
-D CUDPP_OPT=value # use GPU binning on with CUDA (should be off for modern GPUs)
# enables CUDA Performance Primitives, must be "no" for CUDA_MPS_SUPPORT=yes
-D CUDPP_OPT=value # use GPU binning with CUDA (should be off for modern GPUs)
# enables CUDA Performance Primitives, must be "no" for
# CUDA_MPS_SUPPORT=yes
# value = yes or no (default)
-D CUDA_MPS_SUPPORT=value # enables some tweaks required to run with active nvidia-cuda-mps daemon
-D CUDA_MPS_SUPPORT=value # enables some tweaks required to run with active
# nvidia-cuda-mps daemon
# value = yes or no (default)
-D CUDA_BUILD_MULTIARCH=value # enables building CUDA kernels for all supported GPU architectures
-D CUDA_BUILD_MULTIARCH=value # enables building CUDA kernels for all supported GPU
# architectures
# value = yes (default) or no
-D USE_STATIC_OPENCL_LOADER=value # downloads/includes OpenCL ICD loader library, no local OpenCL headers/libs needed
-D USE_STATIC_OPENCL_LOADER=value # downloads/includes OpenCL ICD loader library,
# no local OpenCL headers/libs needed
# value = yes (default) or no
:code:`GPU_ARCH` settings for different GPU hardware is as follows:
``GPU_ARCH`` settings for different GPU hardware is as follows:
* sm_30 for Kepler (supported since CUDA 5 and until CUDA 10.x)
* sm_35 or sm_37 for Kepler (supported since CUDA 5 and until CUDA 11.x)
* sm_50 or sm_52 for Maxwell (supported since CUDA 6)
* sm_60 or sm_61 for Pascal (supported since CUDA 8)
* sm_70 for Volta (supported since CUDA 9)
* sm_75 for Turing (supported since CUDA 10)
* sm_80 or sm_86 for Ampere (supported since CUDA 11, sm_86 since CUDA 11.1)
* sm_89 for Lovelace (supported since CUDA 11.8)
* sm_90 for Hopper (supported since CUDA 12.0)
* ``sm_30`` for Kepler (supported since CUDA 5 and until CUDA 10.x)
* ``sm_35`` or ``sm_37`` for Kepler (supported since CUDA 5 and until CUDA 11.x)
* ``sm_50`` or ``sm_52`` for Maxwell (supported since CUDA 6)
* ``sm_60`` or ``sm_61`` for Pascal (supported since CUDA 8)
* ``sm_70`` for Volta (supported since CUDA 9)
* ``sm_75`` for Turing (supported since CUDA 10)
* ``sm_80`` or sm_86 for Ampere (supported since CUDA 11, sm_86 since CUDA 11.1)
* ``sm_89`` for Lovelace (supported since CUDA 11.8)
* ``sm_90`` for Hopper (supported since CUDA 12.0)
A more detailed list can be found, for example,
at `Wikipedia's CUDA article <https://en.wikipedia.org/wiki/CUDA#GPUs_supported>`_
CMake can detect which version of the CUDA toolkit is used and thus will
try to include support for **all** major GPU architectures supported by
this toolkit. Thus the GPU_ARCH setting is merely an optimization, to
this toolkit. Thus the ``GPU_ARCH`` setting is merely an optimization, to
have code for the preferred GPU architecture directly included rather
than having to wait for the JIT compiler of the CUDA driver to translate
it. This behavior can be turned off (e.g. to speed up compilation) by
setting :code:`CUDA_ENABLE_MULTIARCH` to :code:`no`.
setting ``CUDA_ENABLE_MULTIARCH`` to ``no``.
When compiling for CUDA or HIP with CUDA, version 8.0 or later of the
CUDA toolkit is required and a GPU architecture of Kepler or later,
@ -184,21 +192,21 @@ build, and link with a static OpenCL ICD loader library and standard
OpenCL headers. This way no local OpenCL development headers or library
needs to be present and only OpenCL compatible drivers need to be
installed to use OpenCL. If this is not desired, you can set
:code:`USE_STATIC_OPENCL_LOADER` to :code:`no`.
``USE_STATIC_OPENCL_LOADER`` to ``no``.
The GPU library has some multi-thread support using OpenMP. If LAMMPS
is built with ``-D BUILD_OMP=on`` this will also be enabled.
If you are compiling with HIP, note that before running CMake you will
have to set appropriate environment variables. Some variables such as
:code:`HCC_AMDGPU_TARGET` (for ROCm <= 4.0) or :code:`CUDA_PATH` are
necessary for :code:`hipcc` and the linker to work correctly.
``HCC_AMDGPU_TARGET`` (for ROCm <= 4.0) or ``CUDA_PATH`` are
necessary for ``hipcc`` and the linker to work correctly.
.. versionadded:: 3Aug2022
Using the CHIP-SPV implementation of HIP is supported. It allows one to
run HIP code on Intel GPUs via the OpenCL or Level Zero backends. To use
CHIP-SPV, you must set :code:`-DHIP_USE_DEVICE_SORT=OFF` in your CMake
CHIP-SPV, you must set ``-DHIP_USE_DEVICE_SORT=OFF`` in your CMake
command line as CHIP-SPV does not yet support hipCUB. As of Summer 2022,
the use of HIP for Intel GPUs is experimental. You should only use this
option in preparations to run on Aurora system at Argonne.
@ -256,28 +264,35 @@ script with the specified args:
.. code-block:: bash
make lib-gpu # print help message
make lib-gpu args="-b" # build GPU library with default Makefile.linux
make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision
make lib-gpu args="-m mpi -a sm_60 -p mixed -b" # build GPU library with mixed precision and P100 using other settings in Makefile.mpi
# print help message
make lib-gpu
# build GPU library with default Makefile.linux
make lib-gpu args="-b"
# create new Makefile.xk7.single, altered for single-precision
make lib-gpu args="-m xk7 -p single -o xk7.single"
# build GPU library with mixed precision and P100 using other settings in Makefile.mpi
make lib-gpu args="-m mpi -a sm_60 -p mixed -b"
Note that this procedure starts with a Makefile.machine in lib/gpu, as
specified by the "-m" switch. For your convenience, machine makefiles
specified by the ``-m`` switch. For your convenience, machine makefiles
for "mpi" and "serial" are provided, which have the same settings as
the corresponding machine makefiles in the main LAMMPS source
folder. In addition you can alter 4 important settings in the
Makefile.machine you start from via the corresponding -c, -a, -p, -e
Makefile.machine you start from via the corresponding ``-c``, ``-a``, ``-p``, ``-e``
switches (as in the examples above), and also save a copy of the new
Makefile if desired:
* ``CUDA_HOME`` = where NVIDIA CUDA software is installed on your system
* ``CUDA_ARCH`` = sm_XX, what GPU hardware you have, same as CMake GPU_ARCH above
* ``CUDA_ARCH`` = ``sm_XX``, what GPU hardware you have, same as CMake ``GPU_ARCH`` above
* ``CUDA_PRECISION`` = precision (double, mixed, single)
* ``EXTRAMAKE`` = which Makefile.lammps.\* file to copy to Makefile.lammps
* ``EXTRAMAKE`` = which ``Makefile.lammps.*`` file to copy to Makefile.lammps
The file Makefile.cuda is set up to include support for multiple
The file ``Makefile.cuda`` is set up to include support for multiple
GPU architectures as supported by the CUDA toolkit in use. This is done
through using the "--gencode " flag, which can be used multiple times and
through using the ``--gencode`` flag, which can be used multiple times and
thus support all GPU architectures supported by your CUDA compiler.
To enable GPU binning via CUDA performance primitives set the Makefile variable
@ -348,12 +363,16 @@ minutes to hours) to build. Of course you only need to do that once.)
.. code-block:: bash
-D DOWNLOAD_KIM=value # download OpenKIM API v2 for build, value = no (default) or yes
-D LMP_DEBUG_CURL=value # set libcurl verbose mode on/off, value = off (default) or on
-D LMP_NO_SSL_CHECK=value # tell libcurl to not verify the peer, value = no (default) or yes
-D KIM_EXTRA_UNITTESTS=value # enables extra unit tests, value = no (default) or yes
-D DOWNLOAD_KIM=value # download OpenKIM API v2 for build
# value = no (default) or yes
-D LMP_DEBUG_CURL=value # set libcurl verbose mode on/off
# value = off (default) or on
-D LMP_NO_SSL_CHECK=value # tell libcurl to not verify the peer
# value = no (default) or yes
-D KIM_EXTRA_UNITTESTS=value # enables extra unit tests
# value = no (default) or yes
If ``DOWNLOAD_KIM`` is set to *yes* (or *on*), the KIM API library
If ``DOWNLOAD_KIM`` is set to ``yes`` (or ``on``), the KIM API library
will be downloaded and built inside the CMake build directory. If
the KIM library is already installed on your system (in a location
where CMake cannot find it), you may need to set the
@ -361,7 +380,7 @@ minutes to hours) to build. Of course you only need to do that once.)
found, or run the command ``source kim-api-activate``.
Extra unit tests can only be available if they are explicitly requested
(``KIM_EXTRA_UNITTESTS`` is set to *yes* (or *on*)) and the prerequisites
(``KIM_EXTRA_UNITTESTS`` is set to ``yes`` (or ``on``)) and the prerequisites
are met. See :ref:`KIM Extra unit tests <kim_extra_unittests>` for
more details on this.
@ -375,15 +394,28 @@ minutes to hours) to build. Of course you only need to do that once.)
.. code-block:: bash
make lib-kim # print help message
make lib-kim args="-b " # (re-)install KIM API lib with only example models
make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model
make lib-kim args="-b -a everything" # install KIM API lib with all models
make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver
make lib-kim args="-p /usr/local" # use an existing KIM API installation at the provided location
make lib-kim args="-p /usr/local -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver
# print help message
make lib-kim
When using the "-b " option, the KIM library is built using its native
# (re-)install KIM API lib with only example models
make lib-kim args="-b"
# ditto plus one model
make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001"
# install KIM API lib with all models
make lib-kim args="-b -a everything"
# add one model or model driver
make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002"
# use an existing KIM API installation at the provided location
make lib-kim args="-p <prefix>"
# ditto but add one model or driver
make lib-kim args="-p <prefix> -a EAM_Dynamo_Ackland_W__MO_141627196590_002"
When using the ``-b`` option, the KIM library is built using its native
cmake build system. The ``lib/kim/Install.py`` script supports a
``CMAKE`` environment variable if the cmake executable is named other
than ``cmake`` on your system. Additional environment variables may be
@ -393,7 +425,9 @@ minutes to hours) to build. Of course you only need to do that once.)
.. code-block:: bash
CMAKE=cmake3 CXX=g++-11 CC=gcc-11 FC=gfortran-11 make lib-kim args="-b " # (re-)install KIM API lib using cmake3 and gnu v11 compilers with only example models
# (re-)install KIM API lib using cmake3 and gnu v11 compilers
# with only example models
CMAKE=cmake3 CXX=g++-11 CC=gcc-11 FC=gfortran-11 make lib-kim args="-b"
Settings for debugging OpenKIM web queries discussed below need to
be applied by adding them to the ``LMP_INC`` variable through
@ -433,7 +467,7 @@ KIM Extra unit tests (CMake only)
During development, testing, or debugging, if
:doc:`unit testing <Build_development>` is enabled in LAMMPS, one can also
enable extra tests on :doc:`KIM commands <kim_commands>` by setting the
``KIM_EXTRA_UNITTESTS`` to *yes* (or *on*).
``KIM_EXTRA_UNITTESTS`` to ``yes`` (or ``on``).
Enabling the extra unit tests have some requirements,
@ -448,10 +482,12 @@ Enabling the extra unit tests have some requirements,
*conda-forge* channel as ``conda install kim-property`` if LAMMPS is built in
Conda. More detailed information is available at:
`kim-property installation <https://github.com/openkim/kim-property#installing-kim-property>`_.
* It is also necessary to install
``EAM_Dynamo_MendelevAckland_2007v3_Zr__MO_004835508849_000``,
``EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005``, and
``LennardJones612_UniversalShifted__MO_959249795837_003`` KIM models.
* It is also necessary to install the following KIM models:
* ``EAM_Dynamo_MendelevAckland_2007v3_Zr__MO_004835508849_000``
* ``EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005``
* ``LennardJones612_UniversalShifted__MO_959249795837_003``
See `Obtaining KIM Models <https://openkim.org/doc/usage/obtaining-models>`_
to learn how to install a pre-built binary of the OpenKIM Repository of
Models or see
@ -533,9 +569,6 @@ They must be specified in uppercase.
* - A64FX
- HOST
- ARMv8.2 with SVE Support
* - WSM
- HOST
- Intel Westmere CPU (SSE 4.2)
* - SNB
- HOST
- Intel Sandy/Ivy Bridge CPU (AVX 1)
@ -566,18 +599,15 @@ They must be specified in uppercase.
* - KNL
- HOST
- Intel Knights Landing Xeon Phi
* - BGQ
- HOST
- IBM Blue Gene/Q CPU
* - POWER7
- HOST
- IBM POWER7 CPU
* - POWER8
- HOST
- IBM POWER8 CPU
* - POWER9
- HOST
- IBM POWER9 CPU
* - RISCV_SG2042
- HOST
- SG2042 (RISC-V) CPU
* - KEPLER30
- GPU
- NVIDIA Kepler generation CC 3.0 GPU
@ -626,24 +656,27 @@ They must be specified in uppercase.
* - HOPPER90
- GPU
- NVIDIA Hopper generation CC 9.0 GPU
* - VEGA900
* - AMD_GFX906
- GPU
- AMD GPU MI25 GFX900
* - VEGA906
- AMD GPU MI50/MI60
* - AMD_GFX908
- GPU
- AMD GPU MI50/MI60 GFX906
* - VEGA908
- AMD GPU MI100
* - AMD_GFX90A
- GPU
- AMD GPU MI100 GFX908
* - VEGA90A
- AMD GPU MI200
* - AMD_GFX942
- GPU
- AMD GPU MI200 GFX90A
* - NAVI1030
- AMD GPU MI300
* - AMD_GFX1030
- GPU
- AMD GPU V620/W6800
* - NAVI1100
* - AMD_GFX1100
- GPU
- AMD GPU RX7900XTX
* - AMD_GFX1103
- GPU
- AMD Phoenix APU with Radeon 740M/760M/780M/880M/890M
* - INTEL_GEN
- GPU
- SPIR64-based devices, e.g. Intel GPUs, using JIT
@ -666,7 +699,7 @@ They must be specified in uppercase.
- GPU
- Intel GPU Ponte Vecchio
This list was last updated for version 4.0.1 of the Kokkos library.
This list was last updated for version 4.3.0 of the Kokkos library.
.. tabs::
@ -731,7 +764,8 @@ This list was last updated for version 4.0.1 of the Kokkos library.
mkdir build-kokkos-cuda
cd build-kokkos-cuda
cmake -C ../cmake/presets/basic.cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake
cmake -C ../cmake/presets/basic.cmake \
-C ../cmake/presets/kokkos-cuda.cmake ../cmake
cmake --build .
.. tab:: Basic traditional make settings:
@ -759,9 +793,10 @@ This list was last updated for version 4.0.1 of the Kokkos library.
.. code-block:: make
KOKKOS_DEVICES = Cuda
KOKKOS_ARCH = HOSTARCH,GPUARCH # HOSTARCH = HOST from list above that is hosting the GPU
KOKKOS_CUDA_OPTIONS = "enable_lambda"
KOKKOS_ARCH = HOSTARCH,GPUARCH # HOSTARCH = HOST from list above that is
# hosting the GPU
# GPUARCH = GPU from list above
KOKKOS_CUDA_OPTIONS = "enable_lambda"
FFT_INC = -DFFT_CUFFT # enable use of cuFFT (optional)
FFT_LIB = -lcufft # link to cuFFT library
@ -789,10 +824,11 @@ This list was last updated for version 4.0.1 of the Kokkos library.
.. code-block:: make
KOKKOS_DEVICES = HIP
KOKKOS_ARCH = HOSTARCH,GPUARCH # HOSTARCH = HOST from list above that is hosting the GPU
KOKKOS_ARCH = HOSTARCH,GPUARCH # HOSTARCH = HOST from list above that is
# hosting the GPU
# GPUARCH = GPU from list above
FFT_INC = -DFFT_HIPFFT # enable use of hipFFT (optional)
FFT_LIB = -lhipfft # link to hipFFT library
FFT_INC = -DFFT_HIPFFT # enable use of hipFFT (optional)
FFT_LIB = -lhipfft # link to hipFFT library
Advanced KOKKOS compilation settings
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -876,11 +912,16 @@ included in the LAMMPS source distribution in the ``lib/lepton`` folder.
.. code-block:: bash
make lib-lepton # print help message
make lib-lepton args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
make lib-lepton args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
# print help message
make lib-lepton
The "machine" argument of the "-m" flag is used to find a
# build with GNU g++ compiler (settings as with "make serial")
make lib-lepton args="-m serial"
# build with default MPI compiler (settings as with "make mpi")
make lib-lepton args="-m mpi"
The "machine" argument of the ``-m`` flag is used to find a
Makefile.machine to use as build recipe.
The build should produce a ``build`` folder and the library ``lib/lepton/liblmplepton.a``
@ -902,7 +943,8 @@ Eigen3 is a template library, so you do not need to build it.
.. code-block:: bash
-D DOWNLOAD_EIGEN3 # download Eigen3, value = no (default) or yes
-D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location)
-D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a
# custom location)
If ``DOWNLOAD_EIGEN3`` is set, the Eigen3 library will be
downloaded and inside the CMake build directory. If the Eigen3
@ -920,9 +962,14 @@ Eigen3 is a template library, so you do not need to build it.
.. code-block:: bash
make lib-machdyn # print help message
make lib-machdyn args="-b" # download to lib/machdyn/eigen3
make lib-machdyn args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3
# print help message
make lib-machdyn
# download to lib/machdyn/eigen3
make lib-machdyn args="-b"
# use existing Eigen installation in /usr/include/eigen3
make lib-machdyn args="-p /usr/include/eigen3"
Note that a symbolic (soft) link named ``includelink`` is created
in ``lib/machdyn`` to point to the Eigen dir. When LAMMPS builds it
@ -996,7 +1043,7 @@ OPT package
The compiler flag ``-restrict`` must be used to build LAMMPS with
the OPT package when using Intel compilers. It should be added to
the :code:`CCFLAGS` line of your ``Makefile.machine``. See
the ``CCFLAGS`` line of your ``Makefile.machine``. See
``src/MAKE/OPTIONS/Makefile.opt`` for an example.
----------
@ -1023,10 +1070,17 @@ POEMS package
.. code-block:: bash
make lib-poems # print help message
make lib-poems args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi")
make lib-poems args="-m icc" # build with Intel icc compiler
# print help message
make lib-poems
# build with GNU g++ compiler (settings as with "make serial")
make lib-poems args="-m serial"
# build with default MPI C++ compiler (settings as with "make mpi")
make lib-poems args="-m mpi"
# build with Intel Classic compiler
make lib-poems args="-m icc"
The build should produce two files: ``lib/poems/libpoems.a`` and
``lib/poems/Makefile.lammps``. The latter is copied from an
@ -1090,9 +1144,12 @@ binary package provided by your operating system.
.. code-block:: bash
-D DOWNLOAD_VORO=value # download Voro++ for build, value = no (default) or yes
-D VORO_LIBRARY=path # Voro++ library file (only needed if at custom location)
-D VORO_INCLUDE_DIR=path # Voro++ include directory (only needed if at custom location)
-D DOWNLOAD_VORO=value # download Voro++ for build
# value = no (default) or yes
-D VORO_LIBRARY=path # Voro++ library file
# (only needed if at custom location)
-D VORO_INCLUDE_DIR=path # Voro++ include directory
# (only needed if at custom location)
If ``DOWNLOAD_VORO`` is set, the Voro++ library will be downloaded
and built inside the CMake build directory. If the Voro++ library
@ -1112,12 +1169,19 @@ binary package provided by your operating system.
.. code-block:: bash
make lib-voronoi # print help message
make lib-voronoi args="-b" # download and build the default version in lib/voronoi/voro++-<version>
make lib-voronoi args="-p $HOME/voro++" # use existing Voro++ installation in $HOME/voro++
make lib-voronoi args="-b -v voro++0.4.6" # download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6
# print help message
make lib-voronoi
Note that 2 symbolic (soft) links, ``includelink`` and
# download and build the default version in lib/voronoi/voro++-<version>
make lib-voronoi args="-b"
# use existing Voro++ installation in $HOME/voro++
make lib-voronoi args="-p $HOME/voro++"
# download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6
make lib-voronoi args="-b -v voro++0.4.6"
Note that two symbolic (soft) links, ``includelink`` and
``liblink``, are created in lib/voronoi to point to the Voro++
source dir. When LAMMPS builds in ``src`` it will use these
links. You should not need to edit the
@ -1191,10 +1255,17 @@ The ATC package requires the MANYBODY package also be installed.
.. code-block:: bash
make lib-atc # print help message
make lib-atc args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
make lib-atc args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
make lib-atc args="-m icc" # build with Intel icc compiler
# print help message
make lib-atc
# build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
make lib-atc args="-m serial"
# build with default MPI compiler (settings as with "make mpi")
make lib-atc args="-m mpi"
# build with Intel Classic compiler
make lib-atc args="-m icc"
The build should produce two files: ``lib/atc/libatc.a`` and
``lib/atc/Makefile.lammps``. The latter is copied from an
@ -1213,10 +1284,17 @@ The ATC package requires the MANYBODY package also be installed.
.. code-block:: bash
make lib-linalg # print help message
make lib-linalg args="-m serial" # build with GNU C++ compiler (settings as with "make serial")
make lib-linalg args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi")
make lib-linalg args="-m g++" # build with GNU Fortran compiler
# print help message
make lib-linalg
# build with GNU C++ compiler (settings as with "make serial")
make lib-linalg args="-m serial"
# build with default MPI C++ compiler (settings as with "make mpi")
make lib-linalg args="-m mpi"
# build with GNU Fortran compiler
make lib-linalg args="-m g++"
----------
@ -1242,10 +1320,17 @@ AWPMD package
.. code-block:: bash
make lib-awpmd # print help message
make lib-awpmd args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
make lib-awpmd args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
make lib-awpmd args="-m icc" # build with Intel icc compiler
# print help message
make lib-awpmd
# build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
make lib-awpmd args="-m serial"
# build with default MPI compiler (settings as with "make mpi")
make lib-awpmd args="-m mpi"
# build with Intel Classic compiler
make lib-awpmd args="-m icc"
The build should produce two files: ``lib/awpmd/libawpmd.a`` and
``lib/awpmd/Makefile.lammps``. The latter is copied from an
@ -1264,10 +1349,17 @@ AWPMD package
.. code-block:: bash
make lib-linalg # print help message
make lib-linalg args="-m serial" # build with GNU C++ compiler (settings as with "make serial")
make lib-linalg args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi")
make lib-linalg args="-m g++" # build with GNU C++ compiler
# print help message
make lib-linalg
# build with GNU C++ compiler (settings as with "make serial")
make lib-linalg args="-m serial"
# build with default MPI C++ compiler (settings as with "make mpi")
make lib-linalg args="-m mpi"
# build with GNU C++ compiler
make lib-linalg args="-m g++"
----------
@ -1300,10 +1392,17 @@ module included in the LAMMPS source distribution.
.. code-block:: bash
make lib-colvars # print help message
make lib-colvars args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
make lib-colvars args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
make lib-colvars args="-m g++-debug" # build with GNU g++ compiler and colvars debugging enabled
# print help message
make lib-colvars
# build with GNU g++ compiler (settings as with "make serial")
make lib-colvars args="-m serial"
# build with default MPI compiler (settings as with "make mpi")
make lib-colvars args="-m mpi"
# build with GNU g++ compiler and colvars debugging enabled
make lib-colvars args="-m g++-debug"
The "machine" argument of the "-m" flag is used to find a
``Makefile.machine`` file to use as build recipe. If such recipe does
@ -1322,8 +1421,11 @@ module included in the LAMMPS source distribution.
.. code-block:: bash
COLVARS_DEBUG=yes make lib-colvars args="-m machine" # Build with debug code (much slower)
COLVARS_LEPTON=no make lib-colvars args="-m machine" # Build without Lepton (included otherwise)
# Build with debug code (much slower)
COLVARS_DEBUG=yes make lib-colvars args="-m machine"
# Build without Lepton (included otherwise)
COLVARS_LEPTON=no make lib-colvars args="-m machine"
The build should produce two files: the library
``lib/colvars/libcolvars.a`` and the specification file
@ -1370,9 +1472,14 @@ This package depends on the KSPACE package.
.. code-block:: bash
make lib-electrode # print help message
make lib-electrode args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
make lib-electrode args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
# print help message
make lib-electrode
# build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
make lib-electrode args="-m serial"
# build with default MPI compiler (settings as with "make mpi")
make lib-electrode args="-m mpi"
Note that the ``Makefile.lammps`` file has settings for the BLAS
@ -1383,10 +1490,17 @@ This package depends on the KSPACE package.
.. code-block:: bash
make lib-linalg # print help message
make lib-linalg args="-m serial" # build with GNU C++ compiler (settings as with "make serial")
make lib-linalg args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi")
make lib-linalg args="-m g++" # build with GNU C++ compiler
# print help message
make lib-linalg
# build with GNU C++ compiler (settings as with "make serial")
make lib-linalg args="-m serial"
# build with default MPI C++ compiler (settings as with "make mpi")
make lib-linalg args="-m mpi"
# build with GNU C++ compiler
make lib-linalg args="-m g++"
The package itself is activated with ``make yes-KSPACE`` and
``make yes-ELECTRODE``
@ -1403,6 +1517,11 @@ in lib/pace or somewhere else, which must be done before building
LAMMPS with this package. The code for the library can be found
at: `https://github.com/ICAMS/lammps-user-pace/ <https://github.com/ICAMS/lammps-user-pace/>`_
Instead of including the ML-PACE package directly into LAMMPS, it
is also possible to skip this step and build the ML-PACE package as
a plugin using the CMake script files in the ``examples/PACKAGE/pace/plugin``
folder and then load this plugin at runtime with the :doc:`plugin command <plugin>`.
.. tabs::
.. tab:: CMake build
@ -1426,8 +1545,11 @@ at: `https://github.com/ICAMS/lammps-user-pace/ <https://github.com/ICAMS/lammps
.. code-block:: bash
make lib-pace # print help message
make lib-pace args="-b" # download and build the default version in lib/pace
# print help message
make lib-pace
# download and build the default version in lib/pace
make lib-pace args="-b"
You should not need to edit the ``lib/pace/Makefile.lammps`` file.
@ -1454,10 +1576,17 @@ ML-POD package
.. code-block:: bash
make lib-mlpod # print help message
make lib-mlpod args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
make lib-mlpod args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
make lib-mlpod args="-m mpi -e linalg" # same as above but use the bundled linalg lib
# print help message
make lib-mlpod
# build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
make lib-mlpod args="-m serial"
# build with default MPI compiler (settings as with "make mpi")
make lib-mlpod args="-m mpi"
# same as above but use the bundled linalg lib
make lib-mlpod args="-m mpi -e linalg"
Note that the ``Makefile.lammps`` file has settings to use the BLAS
and LAPACK linear algebra libraries. These can either exist on
@ -1467,10 +1596,17 @@ ML-POD package
.. code-block:: bash
make lib-linalg # print help message
make lib-linalg args="-m serial" # build with GNU C++ compiler (settings as with "make serial")
make lib-linalg args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi")
make lib-linalg args="-m g++" # build with GNU C++ compiler
# print help message
make lib-linalg
# build with GNU C++ compiler (settings as with "make serial")
make lib-linalg args="-m serial"
# build with default MPI C++ compiler (settings as with "make mpi")
make lib-linalg args="-m mpi"
# build with GNU C++ compiler
make lib-linalg args="-m g++"
The package itself is activated with ``make yes-ML-POD``.
@ -1493,10 +1629,13 @@ within CMake will download the non-commercial use version.
.. code-block:: bash
-D DOWNLOAD_QUIP=value # download QUIP library for build, value = no (default) or yes
-D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location)
-D USE_INTERNAL_LINALG=value # Use the internal linear algebra library instead of LAPACK
# value = no (default) or yes
-D DOWNLOAD_QUIP=value # download QUIP library for build
# value = no (default) or yes
-D QUIP_LIBRARY=path # path to libquip.a
# (only needed if a custom location)
-D USE_INTERNAL_LINALG=value # Use the internal linear algebra library
# instead of LAPACK
# value = no (default) or yes
CMake will try to download and build the QUIP library from GitHub,
if it is not found on the local machine. This requires to have git
@ -1567,29 +1706,38 @@ try a different one, switch to a different build system, consider a
global PLUMED installation or consider downloading PLUMED during the
LAMMPS build.
Instead of including the PLUMED package directly into LAMMPS, it
is also possible to skip this step and build the PLUMED package as
a plugin using the CMake script files in the ``examples/PACKAGE/plumed/plugin``
folder and then load this plugin at runtime with the :doc:`plugin command <plugin>`.
.. tabs::
.. tab:: CMake build
When the ``-D PKG_PLUMED=yes`` flag is included in the cmake
command you must ensure that GSL is installed in locations that
are specified in your environment. There are then two additional
variables that control the manner in which PLUMED is obtained and
linked into LAMMPS.
command you must ensure that `the GNU Scientific Library (GSL)
<https://www.gnu.org/software/gsl/>` is installed in locations
that are accessible in your environment. There are then two
additional variables that control the manner in which PLUMED is
obtained and linked into LAMMPS.
.. code-block:: bash
-D DOWNLOAD_PLUMED=value # download PLUMED for build, value = no (default) or yes
-D PLUMED_MODE=value # Linkage mode for PLUMED, value = static (default), shared, or runtime
-D DOWNLOAD_PLUMED=value # download PLUMED for build
# value = no (default) or yes
-D PLUMED_MODE=value # Linkage mode for PLUMED
# value = static (default), shared,
# or runtime
If DOWNLOAD_PLUMED is set to "yes", the PLUMED library will be
If ``DOWNLOAD_PLUMED`` is set to ``yes``, the PLUMED library will be
downloaded (the version of PLUMED that will be downloaded is
hard-coded to a vetted version of PLUMED, usually a recent stable
release version) and built inside the CMake build directory. If
``DOWNLOAD_PLUMED`` is set to "no" (the default), CMake will try
to detect and link to an installed version of PLUMED. For this to
work, the PLUMED library has to be installed into a location where
the ``pkg-config`` tool can find it or the PKG_CONFIG_PATH
the ``pkg-config`` tool can find it or the ``PKG_CONFIG_PATH``
environment variable has to be set up accordingly. PLUMED should
be installed in such a location if you compile it using the
default make; make install commands.
@ -1618,14 +1766,21 @@ LAMMPS build.
.. code-block:: bash
make lib-plumed # print help message
make lib-plumed args="-b" # download and build PLUMED in lib/plumed/plumed2
make lib-plumed args="-p $HOME/.local" # use existing PLUMED installation in $HOME/.local
make lib-plumed args="-p /usr/local -m shared" # use existing PLUMED installation in
# /usr/local and use shared linkage mode
# print help message
make lib-plumed
Note that 2 symbolic (soft) links, ``includelink`` and ``liblink``
are created in lib/plumed that point to the location of the PLUMED
# download and build PLUMED in lib/plumed/plumed2
make lib-plumed args="-b"
# use existing PLUMED installation in $HOME/.local
make lib-plumed args="-p $HOME/.local"
# use existing PLUMED installation in /usr/local and
# use shared linkage mode
make lib-plumed args="-p /usr/local -m shared"
Note that two symbolic (soft) links, ``includelink`` and ``liblink``
are created in ``lib/plumed`` that point to the location of the PLUMED
build to use. A new file ``lib/plumed/Makefile.lammps`` is also
created with settings suitable for LAMMPS to compile and link
PLUMED using the desired linkage mode. After this step is
@ -1640,17 +1795,17 @@ LAMMPS build.
Once this compilation completes you should be able to run LAMMPS
in the usual way. For shared linkage mode, libplumed.so must be
found by the LAMMPS executable, which on many operating systems
means, you have to set the LD_LIBRARY_PATH environment variable
means, you have to set the ``LD_LIBRARY_PATH`` environment variable
accordingly.
Support for the different linkage modes in LAMMPS varies for
different operating systems, using the static linkage is expected
to be the most portable, and thus set to be the default.
If you want to change the linkage mode, you have to re-run "make
lib-plumed" with the desired settings **and** do a re-install if
the PLUMED package with "make yes-plumed" to update the
required makefile settings with the changes in the lib/plumed
If you want to change the linkage mode, you have to re-run ``make
lib-plumed`` with the desired settings **and** do a re-install if
the PLUMED package with ``make yes-plumed`` to update the
required makefile settings with the changes in the ``lib/plumed``
folder.
----------
@ -1724,8 +1879,10 @@ details please see ``lib/hdnnp/README`` and the `n2p2 build documentation
.. code-block:: bash
-D DOWNLOAD_N2P2=value # download n2p2 for build, value = no (default) or yes
-D N2P2_DIR=path # n2p2 base directory (only needed if a custom location)
-D DOWNLOAD_N2P2=value # download n2p2 for build
# value = no (default) or yes
-D N2P2_DIR=path # n2p2 base directory
# (only needed if a custom location)
If ``DOWNLOAD_N2P2`` is set, the *n2p2* library will be downloaded and
built inside the CMake build directory. If the *n2p2* library is already
@ -1742,12 +1899,19 @@ details please see ``lib/hdnnp/README`` and the `n2p2 build documentation
.. code-block:: bash
make lib-hdnnp # print help message
make lib-hdnnp args="-b" # download and build in lib/hdnnp/n2p2-...
make lib-hdnnp args="-b -v 2.1.4" # download and build specific version
make lib-hdnnp args="-p /usr/local/n2p2" # use the existing n2p2 installation in /usr/local/n2p2
# print help message
make lib-hdnnp
Note that 3 symbolic (soft) links, ``includelink``, ``liblink`` and
# download and build in lib/hdnnp/n2p2-...
make lib-hdnnp args="-b"
# download and build specific version
make lib-hdnnp args="-b -v 2.1.4"
# use the existing n2p2 installation in /usr/local/n2p2
make lib-hdnnp args="-p /usr/local/n2p2"
Note that three symbolic (soft) links, ``includelink``, ``liblink`` and
``Makefile.lammps``, will be created in ``lib/hdnnp`` to point to
``n2p2/include``, ``n2p2/lib`` and ``n2p2/lib/Makefile.lammps-extra``,
respectively. When LAMMPS is built in ``src`` it will use these links.
@ -1794,19 +1958,19 @@ code when using features from the INTEL package.
.. code-block:: make
OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS)
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
LIB = -ltbbmalloc
OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS)
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
LIB = -ltbbmalloc
For KNLs:
.. code-block:: make
OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS)
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
LIB = -ltbbmalloc
OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS)
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
LIB = -ltbbmalloc
In Long-range thread mode (LRT) a modified verlet style is used, that
operates the Kspace calculation in a separate thread concurrently to
@ -1835,7 +1999,8 @@ MDI package
.. code-block:: bash
-D DOWNLOAD_MDI=value # download MDI Library for build, value = no (default) or yes
-D DOWNLOAD_MDI=value # download MDI Library for build
# value = no (default) or yes
.. tab:: Traditional make
@ -1864,7 +2029,8 @@ MOLFILE package
.. code-block:: bash
-D MOLFILE_INCLUDE_DIR=path # (optional) path where VMD molfile plugin headers are installed
-D MOLFILE_INCLUDE_DIR=path # (optional) path where VMD molfile
# plugin headers are installed
-D PKG_MOLFILE=yes
Using ``-D PKG_MOLFILE=yes`` enables the package, and setting
@ -2023,10 +2189,17 @@ verified to work in February 2020 with Quantum Espresso versions 6.3 to
.. code-block:: bash
make lib-qmmm # print help message
make lib-qmmm args="-m serial" # build with GNU Fortran compiler (settings as in "make serial")
make lib-qmmm args="-m mpi" # build with default MPI compiler (settings as in "make mpi")
make lib-qmmm args="-m gfortran" # build with GNU Fortran compiler
# print help message
make lib-qmmm
# build with GNU Fortran compiler (settings as in "make serial")
make lib-qmmm args="-m serial"
# build with default MPI compiler (settings as in "make mpi")
make lib-qmmm args="-m mpi"
# build with GNU Fortran compiler
make lib-qmmm args="-m gfortran"
The build should produce two files: ``lib/qmmm/libqmmm.a`` and
``lib/qmmm/Makefile.lammps``. The latter is copied from an
@ -2039,10 +2212,40 @@ verified to work in February 2020 with Quantum Espresso versions 6.3 to
You can then install QMMM package and build LAMMPS in the usual
manner. After completing the LAMMPS build and compiling Quantum
ESPRESSO with external library support (via "make couple"), go
ESPRESSO with external library support (via ``make couple``), go
back to the ``lib/qmmm`` folder and follow the instructions in the
README file to build the combined LAMMPS/QE QM/MM executable
(pwqmmm.x) in the lib/qmmm folder.
(``pwqmmm.x``) in the ``lib/qmmm`` folder.
----------
.. _rheo:
RHEO package
------------
To build with this package you must have the `GNU Scientific Library
(GSL) <https://www.gnu.org/software/gsl/>` installed in locations that
are accessible in your environment. The GSL library should be at least
version 2.7.
.. tabs::
.. tab:: CMake build
If CMake cannot find the GSL library or include files, you can set:
.. code-block:: bash
-D GSL_ROOT_DIR=path # path to root of GSL installation
.. tab:: Traditional make
LAMMPS will try to auto-detect the GSL compiler and linker flags
from the corresponding ``pkg-config`` file (``gsl.pc``), otherwise
you can edit the file ``lib/rheo/Makefile.lammps``
to specify the paths and library names where indicated by comments.
This must be done **before** the package is installed.
----------
@ -2082,11 +2285,16 @@ To build with this package, you must download and build the
.. code-block:: bash
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
# print help message
make lib-scafacos
Note that 2 symbolic (soft) links, ``includelink`` and ``liblink``, are
# download and build in lib/scafacos/scafacos-<version>
make lib-scafacos args="-b"
# use existing ScaFaCoS installation in $HOME/scafacos
make lib-scafacos args="-p $HOME/scafacos
Note that two 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.

View File

@ -37,7 +37,7 @@ executable code from the library is copied into the calling executable.
.. tab:: CMake build
This assumes that LAMMPS has been configured without setting a
``LAMMPS_MACHINE`` name, installed with "make install", and the
``LAMMPS_MACHINE`` name, installed with ``make install``, and the
``PKG_CONFIG_PATH`` environment variable has been updated to
include the ``liblammps.pc`` file installed into the configured
destination folder. The commands to compile and link a coupled
@ -45,8 +45,8 @@ executable code from the library is copied into the calling executable.
.. code-block:: bash
mpicc -c -O $(pkgconf liblammps --cflags) caller.c
mpicxx -o caller caller.o -$(pkgconf liblammps --libs)
mpicc -c -O $(pkg-config --cflags liblammps) caller.c
mpicxx -o caller caller.o -$(pkg-config --libs liblammps)
.. tab:: Traditional make
@ -59,10 +59,10 @@ executable code from the library is copied into the calling executable.
mpicc -c -O -I${HOME}/lammps/src caller.c
mpicxx -o caller caller.o -L${HOME}/lammps/src -llammps_mpi
The *-I* argument is the path to the location of the ``library.h``
The ``-I`` argument is the path to the location of the ``library.h``
header file containing the interface to the LAMMPS C-style library
interface. The *-L* argument is the path to where the
``liblammps_mpi.a`` file is located. The *-llammps_mpi* argument
interface. The ``-L`` argument is the path to where the
``liblammps_mpi.a`` file is located. The ``-llammps_mpi`` argument
is shorthand for telling the compiler to link the file
``liblammps_mpi.a``. If LAMMPS has been built as a shared
library, then the linker will use ``liblammps_mpi.so`` instead.
@ -142,7 +142,7 @@ When linking to LAMMPS built as a shared library, the situation becomes
much simpler, as all dependent libraries and objects are either included
in the shared library or registered as a dependent library in the shared
library file. Thus, those libraries need not be specified when linking
the calling executable. Only the *-I* flags are needed. So the example
the calling executable. Only the ``-I`` flags are needed. So the example
case from above of the serial version static LAMMPS library with the
POEMS package installed becomes:
@ -155,8 +155,8 @@ POEMS package installed becomes:
.. code-block:: bash
mpicc -c -O $(pkgconf liblammps --cflags) caller.c
mpicxx -o caller caller.o -$(pkgconf --libs)
mpicc -c -O $(pkg-config --cflags liblammps) caller.c
mpicxx -o caller caller.o -$(pkg-config --libs liblammps)
.. tab:: Traditional make

View File

@ -25,7 +25,7 @@ additional tools to be available and functioning.
require adding flags like ``-std=c++11`` to enable the C++11 mode.
* A Bourne shell compatible "Unix" shell program (frequently this is ``bash``)
* A few shell utilities: ``ls``, ``mv``, ``ln``, ``rm``, ``grep``, ``sed``, ``tr``, ``cat``, ``touch``, ``diff``, ``dirname``
* Python (optional, required for ``make lib-<pkg>`` in the src
* Python (optional, required for ``make lib-<pkg>`` in the ``src``
folder). Python scripts are currently tested with python 2.7 and
3.6 to 3.11. The procedure for :doc:`building the documentation
<Build_manual>` *requires* Python 3.5 or later.

View File

@ -62,6 +62,7 @@ packages:
* :ref:`POEMS <poems>`
* :ref:`PYTHON <python>`
* :ref:`QMMM <qmmm>`
* :ref:`RHEO <rheo>`
* :ref:`SCAFACOS <scafacos>`
* :ref:`VORONOI <voronoi>`
* :ref:`VTK <vtk>`
@ -99,10 +100,10 @@ versus make.
.. code-block:: bash
cd lammps/src
make ps # check which packages are currently installed
make yes-name # install a package with name
make no-name # uninstall a package with name
make mpi # build LAMMPS with whatever packages are now installed
make ps # check which packages are currently installed
make yes-name # install a package with name
make no-name # uninstall a package with name
make mpi # build LAMMPS with whatever packages are now installed
Examples:
@ -171,18 +172,41 @@ make a copy of one of them and modify it to suit your needs.
.. code-block:: bash
cmake -C ../cmake/presets/basic.cmake [OPTIONS] ../cmake # enable just a few core packages
cmake -C ../cmake/presets/most.cmake [OPTIONS] ../cmake # enable most packages
cmake -C ../cmake/presets/download.cmake [OPTIONS] ../cmake # enable packages which download sources or potential files
cmake -C ../cmake/presets/nolib.cmake [OPTIONS] ../cmake # disable packages that do require extra libraries or tools
cmake -C ../cmake/presets/clang.cmake [OPTIONS] ../cmake # change settings to use the Clang compilers by default
cmake -C ../cmake/presets/gcc.cmake [OPTIONS] ../cmake # change settings to use the GNU compilers by default
cmake -C ../cmake/presets/intel.cmake [OPTIONS] ../cmake # change settings to use the Intel compilers by default
cmake -C ../cmake/presets/pgi.cmake [OPTIONS] ../cmake # change settings to use the PGI compilers by default
cmake -C ../cmake/presets/all_on.cmake [OPTIONS] ../cmake # enable all packages
cmake -C ../cmake/presets/all_off.cmake [OPTIONS] ../cmake # disable all packages
mingw64-cmake -C ../cmake/presets/mingw-cross.cmake [OPTIONS] ../cmake # compile with MinGW cross-compilers
cmake -C ../cmake/presets/macos-multiarch.cmake [OPTIONS] ../cmake # compile serial multi-arch binaries on macOS
# enable just a few core packages
cmake -C ../cmake/presets/basic.cmake [OPTIONS] ../cmake
# enable most packages
cmake -C ../cmake/presets/most.cmake [OPTIONS] ../cmake
# enable packages which download sources or potential files
cmake -C ../cmake/presets/download.cmake [OPTIONS] ../cmake
# disable packages that do require extra libraries or tools
cmake -C ../cmake/presets/nolib.cmake [OPTIONS] ../cmake
# change settings to use the Clang compilers by default
cmake -C ../cmake/presets/clang.cmake [OPTIONS] ../cmake
# change settings to use the GNU compilers by default
cmake -C ../cmake/presets/gcc.cmake [OPTIONS] ../cmake
# change settings to use the Intel compilers by default
cmake -C ../cmake/presets/intel.cmake [OPTIONS] ../cmake
# change settings to use the PGI compilers by default
cmake -C ../cmake/presets/pgi.cmake [OPTIONS] ../cmake
# enable all packages
cmake -C ../cmake/presets/all_on.cmake [OPTIONS] ../cmake
# disable all packages
cmake -C ../cmake/presets/all_off.cmake [OPTIONS] ../cmake
# compile with MinGW cross-compilers
mingw64-cmake -C ../cmake/presets/mingw-cross.cmake [OPTIONS] ../cmake
# compile serial multi-arch binaries on macOS
cmake -C ../cmake/presets/macos-multiarch.cmake [OPTIONS] ../cmake
Presets that have names starting with "windows" are specifically for
compiling LAMMPS :doc:`natively on Windows <Build_windows>` and
@ -208,7 +232,8 @@ Example
# GPU package and configure it for using CUDA. You can run.
mkdir build
cd build
cmake -C ../cmake/presets/most.cmake -C ../cmake/presets/nolib.cmake -D PKG_GPU=on -D GPU_API=cuda ../cmake
cmake -C ../cmake/presets/most.cmake -C ../cmake/presets/nolib.cmake \
-D PKG_GPU=on -D GPU_API=cuda ../cmake
# to add another package, say BODY to the previous configuration you can run:
cmake -D PKG_BODY=on .

View File

@ -1,3 +1,7 @@
.. raw:: latex
\clearpage
Optional build settings
=======================
@ -8,7 +12,8 @@ explains how to do this for building both with CMake and make.
* `FFT library`_ for use with the :doc:`kspace_style pppm <kspace_style>` command
* `Size of LAMMPS integer types and size limits`_
* `Read or write compressed files`_
* `Output of JPG, PNG, and move files` via the :doc:`dump image <dump_image>` or :doc:`dump movie <dump_image>` commands
* `Output of JPEG, PNG, and movie files`_ via the :doc:`dump image <dump_image>` or :doc:`dump movie <dump_image>` commands
* `Support for downloading files`_
* `Memory allocation alignment`_
* `Workaround for long long integers`_
* `Exception handling when using LAMMPS as a library`_ to capture errors
@ -19,7 +24,7 @@ explains how to do this for building both with CMake and make.
.. _cxx11:
C++11 standard compliance
------------------------------------------
-------------------------
A C++11 standard compatible compiler is a requirement for compiling LAMMPS.
LAMMPS version 3 March 2020 is the last version compatible with the previous
@ -31,12 +36,16 @@ flags to enable C++11 compliance. Example for GNU c++ 4.8.x:
CCFLAGS = -g -O3 -std=c++11
Individual packages may require compliance with a later C++ standard
like C++14 or C++17. These requirements will be documented with the
:doc:`individual packages <Packages_details>`.
----------
.. _fft:
FFT library
---------------------
-----------
When the KSPACE package is included in a LAMMPS build, the
:doc:`kspace_style pppm <kspace_style>` command performs 3d FFTs which
@ -44,21 +53,36 @@ require use of an FFT library to compute 1d FFTs. The KISS FFT
library is included with LAMMPS, but other libraries can be faster.
LAMMPS can use them if they are available on your system.
.. versionadded:: 7Feb2024
Alternatively, LAMMPS can use the `heFFTe
<https://icl-utk-edu.github.io/heffte/>`_ library for the MPI
communication algorithms, which comes with many optimizations for
special cases, e.g. leveraging available 2D and 3D FFTs in the back end
libraries and better pipelining for packing and communication.
.. tabs::
.. tab:: CMake build
.. code-block:: bash
-D FFT=value # FFTW3 or MKL or KISS, default is FFTW3 if found, else KISS
-D FFT=value # FFTW3 or MKL or KISS, default is FFTW3 if found,
# else KISS
-D FFT_KOKKOS=value # FFTW3 or MKL or KISS or CUFFT or HIPFFT,
# default is KISS
-D FFT_SINGLE=value # yes or no (default), no = double precision
-D FFT_PACK=value # array (default) or pointer or memcpy
-D FFT_USE_HEFFTE=value # yes or no (default), yes links to heFFTe
.. note::
The values for the FFT variable must be in upper-case. This is
an exception to the rule that all CMake variables can be specified
with lower-case values.
When the Kokkos variant of a package is compiled and selected at run time,
the FFT library selected by the ``FFT_KOKKOS`` variable applies. Otherwise,
the FFT library selected by the FFT variable applies.
The same FFT settings apply to both. ``FFT_KOKKOS`` must be compatible with the
Kokkos back end - for example, when using the CUDA back end of Kokkos,
you must use either ``CUFFT`` or ``KISS``.
Usually these settings are all that is needed. If FFTW3 is
selected, then CMake will try to detect, if threaded FFTW
@ -76,6 +100,17 @@ LAMMPS can use them if they are available on your system.
-D MKL_INCLUDE_DIR=path # ditto for Intel MKL library
-D FFT_MKL_THREADS=on # enable using threaded FFTs with MKL libraries
-D MKL_LIBRARY=path # path to MKL libraries
-D FFT_HEFFTE_BACKEND=value # FFTW or MKL or empty/undefined for the stock
# heFFTe back end
-D Heffte_ROOT=path # path to an existing heFFTe installation
.. note::
heFFTe comes with a builtin (= stock) back end for FFTs, i.e. a
default internal FFT implementation; however, this stock back
end is intended for testing purposes only and is not optimized
for production runs.
.. tab:: Traditional make
@ -85,32 +120,74 @@ LAMMPS can use them if they are available on your system.
.. code-block:: make
FFT_INC = -DFFT_FFTW3 # -DFFT_FFTW3, -DFFT_FFTW (same as -DFFT_FFTW3), -DFFT_MKL, or -DFFT_KISS
# default is KISS if not specified
FFT_INC = -DFFT_SINGLE # do not specify for double precision
FFT_INC = -DFFT_FFTW_THREADS # enable using threaded FFTW3 libraries
FFT_INC = -DFFT_MKL_THREADS # enable using threaded FFTs with MKL libraries
FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY
# default is FFT_PACK_ARRAY if not specified
FFT_INC = -DFFT_<NAME> # where <NAME> is KISS (default), FFTW3,
# FFTW (same as FFTW3), or MKL
FFT_INC = -DFFT_KOKKOS_<NAME> # where <NAME> is KISS (default), FFTW3,
# FFTW (same as FFTW3), MKL, CUFFT, or HIPFFT
FFT_INC = -DFFT_SINGLE # do not specify for double precision
FFT_INC = -DFFT_FFTW_THREADS # enable using threaded FFTW3 libraries
FFT_INC = -DFFT_MKL_THREADS # enable using threaded FFTs with MKL libraries
FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY
# default is FFT_PACK_ARRAY if not specified
.. code-block:: make
FFT_INC = -I/usr/local/include
FFT_PATH = -L/usr/local/lib
FFT_LIB = -lfftw3 # FFTW3 double precision
FFT_LIB = -lfftw3 -lfftw3_omp # FFTW3 double precision with threads (needs -DFFT_FFTW_THREADS)
FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision
FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler, serial interface
FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compiler, serial interface
FFT_LIB = -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core # MKL with Intel compiler, threaded interface
FFT_LIB = -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core # MKL with GNU compiler, threaded interface
FFT_LIB = -lmkl_rt # MKL with automatic runtime selection of interface libs
FFT_INC = -I/usr/local/include
FFT_PATH = -L/usr/local/lib
# hipFFT either precision
FFT_LIB = -lhipfft
# cuFFT either precision
FFT_LIB = -lcufft
# FFTW3 double precision
FFT_LIB = -lfftw3
# FFTW3 double precision with threads (needs -DFFT_FFTW_THREADS)
FFT_LIB = -lfftw3 -lfftw3_omp
# FFTW3 single precision
FFT_LIB = -lfftw3 -lfftw3f
# serial MKL with Intel compiler
FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
# serial MKL with GNU compiler
FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core
# threaded MKL with Intel compiler
FFT_LIB = -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core
# threaded MKL with GNU compiler
FFT_LIB = -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core
# MKL with automatic runtime selection of interface libs
FFT_LIB = -lmkl_rt
As with CMake, you do not need to set paths in ``FFT_INC`` or
``FFT_PATH``, if the compiler can find the FFT header and library
files in its default search path. You must specify ``FFT_LIB``
with the appropriate FFT libraries to include in the link.
Traditional make can also link to heFFTe using an existing installation
.. code-block:: make
include <path-to-heffte-installation>/share/heffte/HeffteMakefile.in
FFT_INC = -DFFT_HEFFTE -DFFT_HEFFTE_FFTW $(heffte_include)
FFT_PATH =
FFT_LIB = $(heffte_link) $(heffte_libs)
The heFFTe install path will contain ``HeffteMakefile.in``.
which will define the ``heffte_`` include variables needed to link to heFFTe from
an external project using traditional make.
The ``-DFFT_HEFFTE`` is required to switch to using heFFTe, while the optional ``-DFFT_HEFFTE_FFTW``
selects the desired heFFTe back end, e.g., ``-DFFT_HEFFTE_FFTW`` or ``-DFFT_HEFFTE_MKL``,
omitting the variable will default to the `stock` back end.
The heFFTe `stock` back end is intended to be used for testing and debugging,
but is not performance optimized for large scale production runs.
The `KISS FFT library <https://github.com/mborgerding/kissfft>`_ is
included in the LAMMPS distribution. It is portable across all
platforms. Depending on the size of the FFTs and the number of
@ -134,13 +211,18 @@ it from `www.fftw.org <https://www.fftw.org>`_. LAMMPS requires version
Building FFTW for your box should be as simple as ``./configure; make;
make install``. The install command typically requires root privileges
(e.g. invoke it via sudo), unless you specify a local directory with
the "--prefix" option of configure. Type ``./configure --help`` to see
the ``--prefix`` option of configure. Type ``./configure --help`` to see
various options.
The Intel MKL math library is part of the Intel compiler suite. It
can be used with the Intel or GNU compiler (see the ``FFT_LIB`` setting
above).
The cuFFT and hipFFT FFT libraries are packaged with NVIDIA's CUDA and
AMD's HIP installations, respectively. These FFT libraries require the
Kokkos acceleration package to be enabled and the Kokkos back end to be
GPU-resident (i.e., HIP or CUDA).
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
@ -152,11 +234,11 @@ generally less than the difference in precision. Using the
``-DFFT_SINGLE`` setting trades off a little accuracy for reduced memory
use and parallel communication costs for transposing 3d FFT data.
When using ``-DFFT_SINGLE`` with FFTW3, you may need to build the FFTW
library a second time with support for single-precision.
When using ``-DFFT_SINGLE`` with FFTW3, you may need to ensure that
the FFTW3 installation includes support for single-precision.
For FFTW3, do the following, which should produce the additional
library ``libfftw3f.a`` or ``libfftw3f.so``\ .
When compiler FFTW3 from source, you can do the following, which should
produce the additional libraries ``libfftw3f.a`` and/or ``libfftw3f.so``\ .
.. code-block:: bash
@ -165,13 +247,27 @@ library ``libfftw3f.a`` or ``libfftw3f.so``\ .
Performing 3d FFTs requires communication to transpose the 3d FFT
grid. The data packing/unpacking for this can be done in one of 3
modes (ARRAY, POINTER, MEMCPY) as set by the FFT_PACK syntax above.
modes (ARRAY, POINTER, MEMCPY) as set by the ``FFT_PACK`` syntax above.
Depending on the machine, the size of the FFT grid, the number of
processors used, one option may be slightly faster. The default is
ARRAY mode.
When using ``-DFFT_HEFFTE`` CMake will first look for an existing
install with hints provided by ``-DHeffte_ROOT``, as recommended by the
CMake standard and note that the name is case sensitive. If CMake cannot
find a heFFTe installation with the correct back end (e.g., FFTW or
MKL), it will attempt to download and build the library automatically.
In this case, LAMMPS CMake will also accept all heFFTe specific
variables listed in the `heFFTe documentation
<https://mkstoyanov.bitbucket.io/heffte/md_doxygen_installation.html>`_
and those variables will be passed into the heFFTe build.
----------
.. raw:: latex
\clearpage
.. _size:
Size of LAMMPS integer types and size limits
@ -212,7 +308,7 @@ LAMMPS system size restrictions
.. list-table::
:header-rows: 1
:widths: auto
:widths: 18 27 28 27
:align: center
* -
@ -281,8 +377,8 @@ in whichever ``lib/gpu/Makefile`` is used must be the same as above.
.. _graphics:
Output of JPG, PNG, and movie files
--------------------------------------------------
Output of JPEG, PNG, and movie files
------------------------------------
The :doc:`dump image <dump_image>` command has options to output JPEG or
PNG image files. Likewise, the :doc:`dump movie <dump_image>` command
@ -295,12 +391,13 @@ requires the following settings:
.. code-block:: bash
-D WITH_JPEG=value # yes or no
# default = yes if CMake finds JPEG files, else no
-D WITH_PNG=value # yes or no
# default = yes if CMake finds PNG and ZLIB files, else no
-D WITH_FFMPEG=value # yes or no
# default = yes if CMake can find ffmpeg, else no
-D WITH_JPEG=value # yes or no
# default = yes if CMake finds JPEG development files, else no
-D WITH_PNG=value # yes or no
# default = yes if CMake finds PNG and ZLIB development files,
# else no
-D WITH_FFMPEG=value # yes or no
# default = yes if CMake can find ffmpeg, else no
Usually these settings are all that is needed. If CMake cannot
find the graphics header, library, executable files, you can set
@ -322,8 +419,10 @@ requires the following settings:
LMP_INC = -DLAMMPS_JPEG -DLAMMPS_PNG -DLAMMPS_FFMPEG <other LMP_INC settings>
JPG_INC = -I/usr/local/include # path to jpeglib.h, png.h, zlib.h header files if make cannot find them
JPG_PATH = -L/usr/lib # paths to libjpeg.a, libpng.a, libz.a (.so) files if make cannot find them
JPG_INC = -I/usr/local/include # path to jpeglib.h, png.h, zlib.h headers
# if make cannot find them
JPG_PATH = -L/usr/lib # paths to libjpeg.a, libpng.a, libz.a (.so)
# files if make cannot find them
JPG_LIB = -ljpeg -lpng -lz # library names
As with CMake, you do not need to set ``JPG_INC`` or ``JPG_PATH``,
@ -354,8 +453,8 @@ Read or write compressed files
If this option is enabled, large files can be read or written with
compression by ``gzip`` or similar tools by several LAMMPS commands,
including :doc:`read_data <read_data>`, :doc:`rerun <rerun>`, and
:doc:`dump <dump>`. Supported compression tools are currently
``gzip``, ``bzip2``, ``zstd``, and ``lzma``.
:doc:`dump <dump>`. Supported compression tools and algorithms are currently
``gzip``, ``bzip2``, ``zstd``, ``xz``, ``lz4``, and ``lzma`` (via xz).
.. tabs::
@ -363,8 +462,8 @@ including :doc:`read_data <read_data>`, :doc:`rerun <rerun>`, and
.. code-block:: bash
-D WITH_GZIP=value # yes or no
# default is yes if CMake can find the gzip program, else no
-D WITH_GZIP=value # yes or no
# default is yes if CMake can find the gzip program
.. tab:: Traditional make
@ -386,18 +485,64 @@ during a run.
available using a compression library instead, which is what the
:ref:`COMPRESS package <PKG-COMPRESS>` enables.
--------------------------------------------------
.. _libcurl:
Support for downloading files
-----------------------------
.. versionadded:: 29Aug2024
The :doc:`geturl command <geturl>` command uses the `the libcurl library
<https://curl.se/libcurl/>`_ to download files. This requires that
LAMMPS is compiled accordingly which needs the following settings:
.. tabs::
.. tab:: CMake build
.. code-block:: bash
-D WITH_CURL=value # yes or no
# default = yes if CMake finds CURL development files, else no
Usually these settings are all that is needed. If CMake cannot
find the graphics header, library, executable files, you can set
these variables:
.. code-block:: bash
-D CURL_INCLUDE_DIR=path # path to folder which contains curl.h header file
-D CURL_LIBRARY=path # path to libcurls.a (.so) file
.. tab:: Traditional make
.. code-block:: make
LMP_INC = -DLAMMPS_CURL <other LMP_INC settings>
CURL_INC = -I/usr/local/include # path to curl folder with curl.h
CURL_PATH = -L/usr/lib # paths to libcurl.a(.so) if make cannot find it
CURL_LIB = -lcurl # library names
As with CMake, you do not need to set ``CURL_INC`` or ``CURL_PATH``,
if make can find the libcurl header and library files in their
default system locations. You must specify ``CURL_LIB`` with a
paths or linker flags to link to libcurl.
----------
.. _align:
Memory allocation alignment
---------------------------------------
---------------------------
This setting enables the use of the "posix_memalign()" call instead of
"malloc()" when LAMMPS allocates large chunks of memory. Vector
This setting enables the use of the ``posix_memalign()`` call instead of
``malloc()`` when LAMMPS allocates large chunks of memory. Vector
instructions on CPUs may become more efficient, if dynamically allocated
memory is aligned on larger-than-default byte boundaries. On most
current operating systems, the "malloc()" implementation returns
current operating systems, the ``malloc()`` implementation returns
pointers that are aligned to 16-byte boundaries. Using SSE vector
instructions efficiently, however, requires memory blocks being aligned
on 64-byte boundaries.
@ -411,9 +556,9 @@ on 64-byte boundaries.
-D LAMMPS_MEMALIGN=value # 0, 8, 16, 32, 64 (default)
Use a ``LAMMPS_MEMALIGN`` value of 0 to disable using
"posix_memalign()" and revert to using the "malloc()" C-library
``posix_memalign()`` and revert to using the ``malloc()`` C-library
function instead. When compiling LAMMPS for Windows systems,
"malloc()" will always be used and this setting is ignored.
``malloc()`` will always be used and this setting is ignored.
.. tab:: Traditional make
@ -422,7 +567,7 @@ on 64-byte boundaries.
LMP_INC = -DLAMMPS_MEMALIGN=value # 8, 16, 32, 64
Do not set ``-DLAMMPS_MEMALIGN``, if you want to have memory
allocated with the "malloc()" function call
allocated with the ``malloc()`` function call
instead. ``-DLAMMPS_MEMALIGN`` **cannot** be used on Windows, as
Windows different function calls with different semantics for
allocating aligned memory, that are not compatible with how LAMMPS
@ -463,8 +608,8 @@ Exception handling when using LAMMPS as a library
LAMMPS errors do not kill the calling code, but throw an exception. In
the C-library interface, the call stack is unwound and control returns
to the caller, e.g. to Python or a code that is coupled to LAMMPS and
the error status can be queried. When using C++ directly, the calling
to the caller, e.g. to Python or a code that is coupled to LAMMPS. The
error status can then be queried. When using C++ directly, the calling
code has to be set up to *catch* exceptions thrown from within LAMMPS.
.. note::

View File

@ -1,26 +1,30 @@
.. table_from_list::
:columns: 3
.. only:: html
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
* :doc:`Dump styles <Commands_dump>`
.. table_from_list::
:columns: 5
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
* :doc:`Dump styles <Commands_dump>`
.. raw:: latex
\clearpage
General commands
================
An alphabetic list of general LAMMPS commands. Note that style
commands with many variants, can be more easily accessed via the small
table above.
An alphabetic list of general LAMMPS commands.
.. table_from_list::
:columns: 5
:columns: 6
* :doc:`angle_coeff <angle_coeff>`
* :doc:`angle_style <angle_style>`
@ -54,6 +58,7 @@ table above.
* :doc:`echo <echo>`
* :doc:`fix <fix>`
* :doc:`fix_modify <fix_modify>`
* :doc:`geturl <geturl>`
* :doc:`group <group>`
* :doc:`if <if>`
* :doc:`improper_coeff <improper_coeff>`
@ -121,7 +126,7 @@ commands have accelerated versions. This is indicated by an
additional letter in parenthesis: k = KOKKOS.
.. table_from_list::
:columns: 5
:columns: 6
* :doc:`dynamical_matrix (k) <dynamical_matrix>`
* :doc:`group2ndx <group2ndx>`

View File

@ -1,21 +1,7 @@
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
* :doc:`Dump styles <Commands_dump>`
.. _bond:
Bond_style potentials
=====================
Bond styles
===========
All LAMMPS :doc:`bond_style <bond_style>` commands. Some styles have
accelerated versions. This is indicated by additional letters in
@ -23,11 +9,13 @@ parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
OPT.
.. table_from_list::
:columns: 4
:columns: 5
* :doc:`none <bond_none>`
* :doc:`zero <bond_zero>`
* :doc:`hybrid <bond_hybrid>`
* :doc:`hybrid (k) <bond_hybrid>`
*
*
*
*
*
@ -54,13 +42,14 @@ OPT.
* :doc:`oxdna2/fene <bond_oxdna>`
* :doc:`oxrna2/fene <bond_oxdna>`
* :doc:`quartic (o) <bond_quartic>`
* :doc:`rheo/shell <bond_rheo_shell>`
* :doc:`special <bond_special>`
* :doc:`table (o) <bond_table>`
.. _angle:
Angle_style potentials
======================
Angle styles
============
All LAMMPS :doc:`angle_style <angle_style>` commands. Some styles have
accelerated versions. This is indicated by additional letters in
@ -68,11 +57,13 @@ parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
OPT.
.. table_from_list::
:columns: 4
:columns: 5
* :doc:`none <angle_none>`
* :doc:`zero <angle_zero>`
* :doc:`hybrid <angle_hybrid>`
* :doc:`hybrid (k) <angle_hybrid>`
*
*
*
*
*
@ -89,6 +80,7 @@ OPT.
* :doc:`cosine/shift (o) <angle_cosine_shift>`
* :doc:`cosine/shift/exp (o) <angle_cosine_shift_exp>`
* :doc:`cosine/squared (o) <angle_cosine_squared>`
* :doc:`cosine/squared/restricted (o) <angle_cosine_squared_restricted>`
* :doc:`cross <angle_cross>`
* :doc:`dipole (o) <angle_dipole>`
* :doc:`fourier (o) <angle_fourier>`
@ -99,13 +91,13 @@ OPT.
* :doc:`mesocnt <angle_mesocnt>`
* :doc:`mm3 <angle_mm3>`
* :doc:`quartic (o) <angle_quartic>`
* :doc:`spica (o) <angle_spica>`
* :doc:`spica (ko) <angle_spica>`
* :doc:`table (o) <angle_table>`
.. _dihedral:
Dihedral_style potentials
=========================
Dihedral styles
===============
All LAMMPS :doc:`dihedral_style <dihedral_style>` commands. Some styles
have accelerated versions. This is indicated by additional letters in
@ -113,20 +105,23 @@ parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
OPT.
.. table_from_list::
:columns: 4
:columns: 5
* :doc:`none <dihedral_none>`
* :doc:`zero <dihedral_zero>`
* :doc:`hybrid <dihedral_hybrid>`
* :doc:`hybrid (k) <dihedral_hybrid>`
*
*
*
*
*
*
*
* :doc:`charmm (iko) <dihedral_charmm>`
* :doc:`charmmfsw <dihedral_charmm>`
* :doc:`charmmfsw (k) <dihedral_charmm>`
* :doc:`class2 (ko) <dihedral_class2>`
* :doc:`cosine/shift/exp (o) <dihedral_cosine_shift_exp>`
* :doc:`cosine/squared/restricted <dihedral_cosine_squared_restricted>`
* :doc:`fourier (io) <dihedral_fourier>`
* :doc:`harmonic (iko) <dihedral_harmonic>`
* :doc:`helix (o) <dihedral_helix>`
@ -141,8 +136,8 @@ OPT.
.. _improper:
Improper_style potentials
=========================
Improper styles
===============
All LAMMPS :doc:`improper_style <improper_style>` commands. Some styles
have accelerated versions. This is indicated by additional letters in
@ -150,11 +145,13 @@ parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
OPT.
.. table_from_list::
:columns: 4
:columns: 5
* :doc:`none <improper_none>`
* :doc:`zero <improper_zero>`
* :doc:`hybrid <improper_hybrid>`
* :doc:`hybrid (k) <improper_hybrid>`
*
*
*
*
*

View File

@ -1,3 +1,7 @@
.. raw:: latex
\clearpage
Commands by category
====================
@ -6,8 +10,8 @@ This page lists most of the LAMMPS commands, grouped by category. The
alphabetically. Style options for entries like fix, compute, pair etc.
have their own pages where they are listed alphabetically.
Initialization:
------------------------------
Initialization
--------------
.. table_from_list::
:columns: 5
@ -18,8 +22,8 @@ Initialization:
* :doc:`suffix <suffix>`
* :doc:`units <units>`
Setup simulation box:
------------------------------
Setup simulation box
--------------------
.. table_from_list::
:columns: 4
@ -31,8 +35,8 @@ Setup simulation box:
* :doc:`lattice <lattice>`
* :doc:`region <region>`
Setup atoms:
------------------------------
Setup atoms
-----------
.. table_from_list::
:columns: 4
@ -55,8 +59,8 @@ Setup atoms:
* :doc:`set <set>`
* :doc:`velocity <velocity>`
Force fields:
------------------------------
Force fields
------------
.. table_from_list::
:columns: 4
@ -79,8 +83,8 @@ Force fields:
* :doc:`pair_write <pair_write>`
* :doc:`special_bonds <special_bonds>`
Settings:
------------------------------
Settings
--------
.. table_from_list::
:columns: 4
@ -98,8 +102,8 @@ Settings:
* :doc:`timer <timer>`
* :doc:`timestep <timestep>`
Operations within timestepping (fixes) and diagnostics (computes):
------------------------------------------------------------------------------------------
Operations within timestepping (fixes) and diagnostics (computes)
-----------------------------------------------------------------
.. table_from_list::
:columns: 4
@ -111,8 +115,8 @@ Operations within timestepping (fixes) and diagnostics (computes):
* :doc:`uncompute <uncompute>`
* :doc:`unfix <unfix>`
Output:
------------------------------
Output
------
.. table_from_list::
:columns: 4
@ -131,8 +135,8 @@ Output:
* :doc:`write_dump <write_dump>`
* :doc:`write_restart <write_restart>`
Actions:
------------------------------
Actions
-------
.. table_from_list::
:columns: 6
@ -146,8 +150,8 @@ Actions:
* :doc:`tad <tad>`
* :doc:`temper <temper>`
Input script control:
------------------------------
Input script control
--------------------
.. table_from_list::
:columns: 7

View File

@ -1,19 +1,5 @@
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
* :doc:`Dump styles <Commands_dump>`
Compute commands
================
Compute styles
==============
An alphabetic list of all LAMMPS :doc:`compute <compute>` commands.
Some styles have accelerated versions. This is indicated by
@ -21,7 +7,7 @@ additional letters in parenthesis: g = GPU, i = INTEL, k =
KOKKOS, o = OPENMP, t = OPT.
.. table_from_list::
:columns: 5
:columns: 4
* :doc:`ackland/atom <compute_ackland_atom>`
* :doc:`adf <compute_adf>`
@ -100,6 +86,7 @@ KOKKOS, o = OPENMP, t = OPT.
* :doc:`nbond/atom <compute_nbond_atom>`
* :doc:`omega/chunk <compute_omega_chunk>`
* :doc:`orientorder/atom (k) <compute_orientorder_atom>`
* :doc:`pace <compute_pace>`
* :doc:`pair <compute_pair>`
* :doc:`pair/local <compute_pair_local>`
* :doc:`pe <compute_pe>`
@ -107,6 +94,10 @@ KOKKOS, o = OPENMP, t = OPT.
* :doc:`pe/mol/tally <compute_tally>`
* :doc:`pe/tally <compute_tally>`
* :doc:`plasticity/atom <compute_plasticity_atom>`
* :doc:`pod/atom <compute_pod_atom>`
* :doc:`podd/atom <compute_pod_atom>`
* :doc:`pod/local <compute_pod_atom>`
* :doc:`pod/global <compute_pod_atom>`
* :doc:`pressure <compute_pressure>`
* :doc:`pressure/alchemy <compute_pressure_alchemy>`
* :doc:`pressure/uef <compute_pressure_uef>`
@ -115,12 +106,16 @@ KOKKOS, o = OPENMP, t = OPT.
* :doc:`property/grid <compute_property_grid>`
* :doc:`property/local <compute_property_local>`
* :doc:`ptm/atom <compute_ptm_atom>`
* :doc:`rattlers/atom <compute_rattlers_atom>`
* :doc:`rdf <compute_rdf>`
* :doc:`reaxff/atom (k) <compute_reaxff_atom>`
* :doc:`reduce <compute_reduce>`
* :doc:`reduce/chunk <compute_reduce_chunk>`
* :doc:`reduce/region <compute_reduce>`
* :doc:`rheo/property/atom <compute_rheo_property_atom>`
* :doc:`rigid/local <compute_rigid_local>`
* :doc:`saed <compute_saed>`
* :doc:`slcsa/atom <compute_slcsa_atom>`
* :doc:`slice <compute_slice>`
* :doc:`smd/contact/radius <compute_smd_contact_radius>`
* :doc:`smd/damage <compute_smd_damage>`

View File

@ -1,24 +1,10 @@
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
* :doc:`Dump styles <Commands_dump>`
Dump commands
=============
Dump styles
===========
An alphabetic list of all LAMMPS :doc:`dump <dump>` commands.
.. table_from_list::
:columns: 5
:columns: 6
* :doc:`atom <dump>`
* :doc:`atom/adios <dump_adios>`

View File

@ -1,19 +1,5 @@
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
* :doc:`Dump styles <Commands_dump>`
Fix commands
============
Fix styles
==========
An alphabetic list of all LAMMPS :doc:`fix <fix>` commands. Some styles
have accelerated versions. This is indicated by additional letters in
@ -21,13 +7,14 @@ parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
OPT.
.. table_from_list::
:columns: 5
:columns: 4
* :doc:`accelerate/cos <fix_accelerate_cos>`
* :doc:`acks2/reaxff (k) <fix_acks2_reaxff>`
* :doc:`adapt <fix_adapt>`
* :doc:`adapt/fep <fix_adapt_fep>`
* :doc:`addforce <fix_addforce>`
* :doc:`add/heat <fix_add_heat>`
* :doc:`addtorque <fix_addtorque>`
* :doc:`alchemy <fix_alchemy>`
* :doc:`amoeba/bitorsion <fix_amoeba_bitorsion>`
@ -61,6 +48,7 @@ OPT.
* :doc:`controller <fix_controller>`
* :doc:`damping/cundall <fix_damping_cundall>`
* :doc:`deform (k) <fix_deform>`
* :doc:`deform/pressure <fix_deform_pressure>`
* :doc:`deposit <fix_deposit>`
* :doc:`dpd/energy (k) <fix_dpd_energy>`
* :doc:`drag <fix_drag>`
@ -122,6 +110,7 @@ OPT.
* :doc:`mvv/tdpd <fix_mvv_dpd>`
* :doc:`neb <fix_neb>`
* :doc:`neb/spin <fix_neb_spin>`
* :doc:`nonaffine/displacement <fix_nonaffine_displacement>`
* :doc:`nph (ko) <fix_nh>`
* :doc:`nph/asphere (o) <fix_nph_asphere>`
* :doc:`nph/body <fix_nph_body>`
@ -202,6 +191,11 @@ OPT.
* :doc:`reaxff/species (k) <fix_reaxff_species>`
* :doc:`recenter <fix_recenter>`
* :doc:`restrain <fix_restrain>`
* :doc:`rheo <fix_rheo>`
* :doc:`rheo/oxidation <fix_rheo_oxidation>`
* :doc:`rheo/pressure <fix_rheo_pressure>`
* :doc:`rheo/thermal <fix_rheo_thermal>`
* :doc:`rheo/viscosity <fix_rheo_viscosity>`
* :doc:`rhok <fix_rhok>`
* :doc:`rigid (o) <fix_rigid>`
* :doc:`rigid/meso <fix_rigid_meso>`
@ -238,10 +232,10 @@ OPT.
* :doc:`store/force <fix_store_force>`
* :doc:`store/state <fix_store_state>`
* :doc:`tdpd/source <fix_dpd_source>`
* :doc:`temp/berendsen <fix_temp_berendsen>`
* :doc:`temp/berendsen (k) <fix_temp_berendsen>`
* :doc:`temp/csld <fix_temp_csvr>`
* :doc:`temp/csvr <fix_temp_csvr>`
* :doc:`temp/rescale <fix_temp_rescale>`
* :doc:`temp/rescale (k) <fix_temp_rescale>`
* :doc:`temp/rescale/eff <fix_temp_rescale_eff>`
* :doc:`tfmc <fix_tfmc>`
* :doc:`tgnpt/drude <fix_tgnh_drude>`
@ -261,6 +255,7 @@ OPT.
* :doc:`wall/body/polyhedron <fix_wall_body_polyhedron>`
* :doc:`wall/colloid <fix_wall>`
* :doc:`wall/ees <fix_wall_ees>`
* :doc:`wall/flow (k) <fix_wall_flow>`
* :doc:`wall/gran (k) <fix_wall_gran>`
* :doc:`wall/gran/region <fix_wall_gran_region>`
* :doc:`wall/harmonic <fix_wall>`

View File

@ -10,14 +10,14 @@ for any commands that may be processed later. Commands may set an
internal variable, read in a file, or run a simulation. These actions
can be grouped into three categories:
a) commands that change a global setting (examples: timestep, newton,
echo, log, thermo, restart),
a) commands that change a global setting (examples: :doc:`timestep <timestep>`, :doc:`newton <newton>`,
:doc:`echo <echo>`, :doc:`log <log>`, :doc:`thermo <thermo>`, :doc:`restart <restart>`),
b) commands that add, modify, remove, or replace "styles" that are
executed during a "run" (examples: pair_style, fix, compute, dump,
thermo_style, pair_modify), and
executed during a "run" (examples: :doc:`pair_style <pair_style>`, :doc:`fix <fix>`, :doc:`compute <compute>`, :doc:`dump <dump>`,
:doc:`thermo_style <thermo_style>`, :doc:`pair_modify <pair_modify>`), and
c) commands that execute a "run" or perform some other computation or
operation (examples: print, run, minimize, temper, write_dump, rerun,
read_data, read_restart)
operation (examples: :doc:`print <print>`, :doc:`run <run>`, :doc:`minimize <minimize>`, :doc:`temper <temper>`, :doc:`write_dump <write_dump>`, :doc:`rerun <rerun>`,
:doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`)
Commands in category a) have default settings, which means you only
need to use the command if you wish to change the defaults.
@ -61,7 +61,7 @@ between commands in the c) category. The following rules apply:
<read_data>` command initializes the system by setting up the
simulation box and assigning atoms to processors. If default values
are not desired, the :doc:`processors <processors>` and
:doc:`boundary <boundary>` commands need to be used before read_data
:doc:`boundary <boundary>` commands need to be used before ``read_data``
to tell LAMMPS how to map processors to the simulation box.
Many input script errors are detected by LAMMPS and an ERROR or
@ -70,6 +70,6 @@ more information on what errors mean. The documentation for each
command lists restrictions on how the command can be used.
You can use the :ref:`-skiprun <skiprun>` command line flag
to have LAMMPS skip the execution of any "run", "minimize", or similar
to have LAMMPS skip the execution of any ``run``, ``minimize``, or similar
commands to check the entire input for correct syntax to avoid crashes
on typos or syntax errors in long runs.

View File

@ -1,19 +1,5 @@
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
* :doc:`Dump styles <Commands_dump>`
KSpace solvers
==============
KSpace styles
=============
All LAMMPS :doc:`kspace_style <kspace_style>` solvers. Some styles have
accelerated versions. This is indicated by additional letters in
@ -21,7 +7,7 @@ parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
OPT.
.. table_from_list::
:columns: 4
:columns: 5
* :doc:`ewald (o) <kspace_style>`
* :doc:`ewald/disp <kspace_style>`

View File

@ -1,19 +1,5 @@
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
* :doc:`Dump styles <Commands_dump>`
Pair_style potentials
======================
Pair styles
===========
All LAMMPS :doc:`pair_style <pair_style>` commands. Some styles have
accelerated versions. This is indicated by additional letters in
@ -21,20 +7,20 @@ parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
OPT.
.. table_from_list::
:columns: 4
:columns: 3
* :doc:`none <pair_none>`
* :doc:`zero <pair_zero>`
* :doc:`hybrid (k) <pair_hybrid>`
* :doc:`hybrid/overlay (k) <pair_hybrid>`
* :doc:`hybrid/scaled <pair_hybrid>`
* :doc:`hybrid (ko) <pair_hybrid>`
* :doc:`hybrid/molecular (o) <pair_hybrid>`
* :doc:`hybrid/overlay (ko) <pair_hybrid>`
* :doc:`hybrid/scaled (o) <pair_hybrid>`
* :doc:`kim <pair_kim>`
* :doc:`list <pair_list>`
* :doc:`tracker <pair_tracker>`
*
*
*
*
* :doc:`adp (ko) <pair_adp>`
* :doc:`agni (o) <pair_agni>`
* :doc:`aip/water/2dm (t) <pair_aip_water_2dm>`
@ -87,16 +73,17 @@ OPT.
* :doc:`coul/long/soft (o) <pair_fep_soft>`
* :doc:`coul/msm (o) <pair_coul>`
* :doc:`coul/slater/cut <pair_coul_slater>`
* :doc:`coul/slater/long <pair_coul_slater>`
* :doc:`coul/slater/long (g) <pair_coul_slater>`
* :doc:`coul/shield <pair_coul_shield>`
* :doc:`coul/streitz <pair_coul>`
* :doc:`coul/tt <pair_coul_tt>`
* :doc:`coul/wolf (ko) <pair_coul>`
* :doc:`coul/wolf/cs <pair_cs>`
* :doc:`dpd (giko) <pair_dpd>`
* :doc:`dpd/fdt <pair_dpd_fdt>`
* :doc:`dpd/coul/slater/long (g) <pair_dpd_coul_slater_long>`
* :doc:`dpd/ext (ko) <pair_dpd_ext>`
* :doc:`dpd/ext/tstat (ko) <pair_dpd_ext>`
* :doc:`dpd/fdt <pair_dpd_fdt>`
* :doc:`dpd/fdt/energy (k) <pair_dpd_fdt>`
* :doc:`dpd/tstat (gko) <pair_dpd>`
* :doc:`dsmc <pair_dsmc>`
@ -110,7 +97,7 @@ OPT.
* :doc:`eam/he <pair_eam>`
* :doc:`edip (o) <pair_edip>`
* :doc:`edip/multi <pair_edip>`
* :doc:`edpd <pair_mesodpd>`
* :doc:`edpd (g) <pair_mesodpd>`
* :doc:`eff/cut <pair_eff>`
* :doc:`eim (o) <pair_eim>`
* :doc:`exp6/rx (k) <pair_exp6_rx>`
@ -146,7 +133,7 @@ OPT.
* :doc:`lj/charmm/coul/long/soft (o) <pair_fep_soft>`
* :doc:`lj/charmm/coul/msm (o) <pair_charmm>`
* :doc:`lj/charmmfsw/coul/charmmfsh <pair_charmm>`
* :doc:`lj/charmmfsw/coul/long <pair_charmm>`
* :doc:`lj/charmmfsw/coul/long (k) <pair_charmm>`
* :doc:`lj/class2 (gko) <pair_class2>`
* :doc:`lj/class2/coul/cut (ko) <pair_class2>`
* :doc:`lj/class2/coul/cut/soft <pair_fep_soft>`
@ -158,14 +145,14 @@ OPT.
* :doc:`lj/cut (gikot) <pair_lj>`
* :doc:`lj/cut/coul/cut (gko) <pair_lj_cut_coul>`
* :doc:`lj/cut/coul/cut/dielectric (o) <pair_dielectric>`
* :doc:`lj/cut/coul/cut/soft (o) <pair_fep_soft>`
* :doc:`lj/cut/coul/cut/soft (go) <pair_fep_soft>`
* :doc:`lj/cut/coul/debye (gko) <pair_lj_cut_coul>`
* :doc:`lj/cut/coul/debye/dielectric (o) <pair_dielectric>`
* :doc:`lj/cut/coul/dsf (gko) <pair_lj_cut_coul>`
* :doc:`lj/cut/coul/long (gikot) <pair_lj_cut_coul>`
* :doc:`lj/cut/coul/long/cs <pair_cs>`
* :doc:`lj/cut/coul/long/dielectric (o) <pair_dielectric>`
* :doc:`lj/cut/coul/long/soft (o) <pair_fep_soft>`
* :doc:`lj/cut/coul/long/soft (go) <pair_fep_soft>`
* :doc:`lj/cut/coul/msm (go) <pair_lj_cut_coul>`
* :doc:`lj/cut/coul/msm/dielectric <pair_dielectric>`
* :doc:`lj/cut/coul/wolf (o) <pair_lj_cut_coul>`
@ -190,7 +177,7 @@ OPT.
* :doc:`lj/mdf <pair_mdf>`
* :doc:`lj/relres (o) <pair_lj_relres>`
* :doc:`lj/spica (gko) <pair_spica>`
* :doc:`lj/spica/coul/long (go) <pair_spica>`
* :doc:`lj/spica/coul/long (gko) <pair_spica>`
* :doc:`lj/spica/coul/msm (o) <pair_spica>`
* :doc:`lj/sf/dipole/sf (go) <pair_dipole>`
* :doc:`lj/smooth (go) <pair_lj_smooth>`
@ -202,7 +189,7 @@ OPT.
* :doc:`lubricate/poly (o) <pair_lubricate>`
* :doc:`lubricateU <pair_lubricateU>`
* :doc:`lubricateU/poly <pair_lubricateU>`
* :doc:`mdpd <pair_mesodpd>`
* :doc:`mdpd (g) <pair_mesodpd>`
* :doc:`mdpd/rhosum <pair_mesodpd>`
* :doc:`meam (k) <pair_meam>`
* :doc:`meam/ms (k) <pair_meam>`
@ -245,7 +232,8 @@ OPT.
* :doc:`oxrna2/coaxstk <pair_oxrna2>`
* :doc:`pace (k) <pair_pace>`
* :doc:`pace/extrapolation (k) <pair_pace>`
* :doc:`pod <pair_pod>`
* :doc:`pedone (o) <pair_pedone>`
* :doc:`pod (k) <pair_pod>`
* :doc:`peri/eps <pair_peri>`
* :doc:`peri/lps (o) <pair_peri>`
* :doc:`peri/pmb (o) <pair_peri>`
@ -256,7 +244,10 @@ OPT.
* :doc:`rann <pair_rann>`
* :doc:`reaxff (ko) <pair_reaxff>`
* :doc:`rebo (io) <pair_airebo>`
* :doc:`rebomos (o) <pair_rebomos>`
* :doc:`resquared (go) <pair_resquared>`
* :doc:`rheo <pair_rheo>`
* :doc:`rheo/solid <pair_rheo_solid>`
* :doc:`saip/metal (t) <pair_saip_metal>`
* :doc:`sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>`
* :doc:`smatb <pair_smatb>`
@ -267,12 +258,12 @@ OPT.
* :doc:`smd/ulsph <pair_smd_ulsph>`
* :doc:`smtbq <pair_smtbq>`
* :doc:`snap (ik) <pair_snap>`
* :doc:`soft (go) <pair_soft>`
* :doc:`sph/heatconduction <pair_sph_heatconduction>`
* :doc:`soft (gko) <pair_soft>`
* :doc:`sph/heatconduction (g) <pair_sph_heatconduction>`
* :doc:`sph/idealgas <pair_sph_idealgas>`
* :doc:`sph/lj <pair_sph_lj>`
* :doc:`sph/lj (g) <pair_sph_lj>`
* :doc:`sph/rhosum <pair_sph_rhosum>`
* :doc:`sph/taitwater <pair_sph_taitwater>`
* :doc:`sph/taitwater (g) <pair_sph_taitwater>`
* :doc:`sph/taitwater/morris <pair_sph_taitwater_morris>`
* :doc:`spin/dipole/cut <pair_spin_dipole>`
* :doc:`spin/dipole/long <pair_spin_dipole>`
@ -301,6 +292,7 @@ OPT.
* :doc:`tip4p/long/soft (o) <pair_fep_soft>`
* :doc:`tri/lj <pair_tri_lj>`
* :doc:`ufm (got) <pair_ufm>`
* :doc:`uf3 (k) <pair_uf3>`
* :doc:`vashishta (gko) <pair_vashishta>`
* :doc:`vashishta/table (o) <pair_vashishta>`
* :doc:`wf/cut <pair_wf_cut>`

View File

@ -42,8 +42,8 @@ LAMMPS:
If the $ is followed by text in curly brackets '{}', then the
variable name is the text inside the curly brackets. If no curly
brackets follow the $, then the variable name is the single character
immediately following the $. Thus ${myTemp} and $x refer to variables
named "myTemp" and "x", while "$xx" will be interpreted as a variable
immediately following the $. Thus ``${myTemp}`` and ``$x`` refer to variables
named "myTemp" and "x", while ``$xx`` will be interpreted as a variable
named "x" followed by an "x" character.
How the variable is converted to a text string depends on what style
@ -79,10 +79,10 @@ LAMMPS:
Additionally, the entire "immediate" variable expression may be
followed by a colon, followed by a C-style format string,
e.g. ":%f" or ":%.10g". The format string must be appropriate for
e.g. ``:%f`` or ``:%.10g``. The format string must be appropriate for
a double-precision floating-point value. The format string is used
to output the result of the variable expression evaluation. If a
format string is not specified, a high-precision "%.20g" is used as
format string is not specified, a high-precision ``%.20g`` is used as
the default format.
This can be useful for formatting print output to a desired precision:
@ -101,8 +101,8 @@ LAMMPS:
variable b2 equal 4
print "B2 = ${b$a}"
Nor can you specify an expression like "$($x-1.0)" for an immediate
variable, but you could use $(v_x-1.0), since the latter is valid
Nor can you specify an expression like ``$($x-1.0)`` for an immediate
variable, but you could use ``$(v_x-1.0)``, since the latter is valid
syntax for an :doc:`equal-style variable <variable>`.
See the :doc:`variable <variable>` command for more details of how

View File

@ -8,6 +8,18 @@ stop LAMMPS and print a suitable error message in most cases, when a
style/command is used that has been removed or will replace the command
with the direct alternative (if available) and print a warning.
restart2data tool
-----------------
.. versionchanged:: 23Nov2013
The functionality of the restart2data tool has been folded into the
LAMMPS executable directly instead of having a separate tool. A
combination of the commands :doc:`read_restart <read_restart>` and
:doc:`write_data <write_data>` can be used to the same effect. For
added convenience this conversion can also be triggered by
:doc:`command line flags <Run_options>`
Fix ave/spatial and fix ave/spatial/sphere
------------------------------------------
@ -126,6 +138,17 @@ syntax compatible with the removed reax pair style, so input files will
have to be adapted. The REAXFF package was originally called
USER-REAXC.
USER-REAXC package
------------------
.. deprecated:: 7Feb2024
The USER-REAXC package has been renamed to :ref:`REAXFF <PKG-REAXFF>`.
In the process also the pair style and related fixes were renamed to use
the "reaxff" string instead of "reax/c". For a while LAMMPS was maintaining
backward compatibility by providing aliases for the styles. These have
been removed, so using "reaxff" is now *required*.
USER-CUDA package
-----------------
@ -137,12 +160,19 @@ performance characteristics on NVIDIA GPUs. Both, the KOKKOS
and the :ref:`GPU package <PKG-GPU>` are maintained
and allow running LAMMPS with GPU acceleration.
restart2data tool
-----------------
i-PI tool
---------
.. versionchanged:: 27Jun2024
The i-PI tool has been removed from the LAMMPS distribution. Instead,
instructions to install i-PI from PyPI via pip are provided.
LAMMPS shell
------------
.. versionchanged:: 29Aug2024
The LAMMPS shell has been removed from the LAMMPS distribution. Users
are encouraged to use the :ref:`LAMMPS-GUI <lammps_gui>` tool instead.
The functionality of the restart2data tool has been folded into the
LAMMPS executable directly instead of having a separate tool. A
combination of the commands :doc:`read_restart <read_restart>` and
:doc:`write_data <write_data>` can be used to the same effect. For
added convenience this conversion can also be triggered by
:doc:`command line flags <Run_options>`

View File

@ -8,10 +8,10 @@ page.
A LAMMPS input script typically has 4 parts:
1. :ref:`Initialization <init>`
2. :ref:`System definition <system>`
3. :ref:`Simulation settings <settings>`
4. :ref:`Run a simulation <run>`
#. :ref:`Initialization <init>`
#. :ref:`System definition <system>`
#. :ref:`Simulation settings <settings>`
#. :ref:`Run a simulation <run>`
The last 2 parts can be repeated as many times as desired. I.e. run a
simulation, change some settings, run some more, etc. Each of the 4

View File

@ -2,7 +2,7 @@ Accessing per-atom data
-----------------------
This page discusses how per-atom data is managed in LAMMPS, how it can
be accessed, what communication patters apply, and some of the utility
be accessed, what communication patterns apply, and some of the utility
functions that exist for a variety of purposes.
@ -14,11 +14,11 @@ As described on the :doc:`parallel partitioning algorithms
simulation domain, either in a *brick* or *tiled* manner. Each MPI
process *owns* exactly one subdomain and the atoms within it. To compute
forces for tuples of atoms that are spread across sub-domain boundaries,
also a "halo" of *ghost* atoms are maintained within a the communication
also a "halo" of *ghost* atoms are maintained within the communication
cutoff distance of its subdomain.
The total number of atoms is stored in `Atom::natoms` (within any
typical class this can be referred to at `atom->natoms`. The number of
typical class this can be referred to at `atom->natoms`). The number of
*owned* (or "local" atoms) are stored in `Atom::nlocal`; the number of
*ghost* atoms is stored in `Atom::nghost`. The sum of `Atom::nlocal`
over all MPI processes should be `Atom::natoms`. This is by default
@ -27,8 +27,8 @@ LAMMPS stops with a "lost atoms" error. For convenience also the
property `Atom::nmax` is available, this is the maximum of
`Atom::nlocal + Atom::nghost` across all MPI processes.
Per-atom properties are either managed by the atom style, or individual
classes. or as custom arrays by the individual classes. If only access
Per-atom properties are either managed by the atom style, individual
classes, or as custom arrays by the individual classes. If only access
to *owned* atoms is needed, they are usually allocated to be of size
`Atom::nlocal`, otherwise of size `Atom::nmax`. Please note that not all
per-atom properties are available or updated on *ghost* atoms. For
@ -61,7 +61,7 @@ can be found via the `Atom::sametag` array. It points to the next atom
index with the same tag or -1 if there are no more atoms with the same
tag. The list will be exhaustive when starting with an index of an
*owned* atom, since the atom IDs are unique, so there can only be one
such atom. Example code to count atoms with same atom ID in subdomain:
such atom. Example code to count atoms with same atom ID in a subdomain:
.. code-block:: c++

View File

@ -69,7 +69,7 @@ The basic LAMMPS class hierarchy which is created by the LAMMPS class
constructor is shown in :ref:`class-topology`. When input commands
are processed, additional class instances are created, or deleted, or
replaced. Likewise, specific member functions of specific classes are
called to trigger actions such creating atoms, computing forces,
called to trigger actions such as creating atoms, computing forces,
computing properties, time-propagating the system, or writing output.
Compositing and Inheritance
@ -110,9 +110,10 @@ As mentioned above, there can be multiple instances of classes derived
from the ``Fix`` or ``Compute`` base classes. They represent a
different facet of LAMMPS' flexibility, as they provide methods which
can be called at different points within a timestep, as explained in
`Developer_flow`. This allows the input script to tailor how a specific
simulation is run, what diagnostic computations are performed, and how
the output of those computations is further processed or output.
the :doc:`How a timestep works <Developer_flow>` doc page. This allows
the input script to tailor how a specific simulation is run, what
diagnostic computations are performed, and how the output of those
computations is further processed or output.
Additional code sharing is possible by creating derived classes from the
derived classes (e.g., to implement an accelerated version of a pair

View File

@ -128,7 +128,7 @@ reflect particles off box boundaries in the :doc:`FixWallReflect class
The ``decide()`` method in the Neighbor class determines whether
neighbor lists need to be rebuilt on the current timestep (conditions
can be changed using the :doc:`neigh_modify every/delay/check
<neigh_modify>` command. If not, coordinates of ghost atoms are
<neigh_modify>` command). If not, coordinates of ghost atoms are
acquired by each processor via the ``forward_comm()`` method of the Comm
class. If neighbor lists need to be built, several operations within
the inner if clause of the pseudocode are first invoked. The

View File

@ -433,7 +433,7 @@ from owned to ghost cells, or ghost to owned cells, respectively, as
described above. The *caller* argument should be one of these values
-- Grid3d::COMPUTE, Grid3d::FIX, Grid3d::KSPACE, Grid3d::PAIR --
depending on the style of the caller class. The *ptr* argument is the
"this" pointer to the caller class. These 2 arguments are used to
"this" pointer to the caller class. These two arguments are used to
call back to pack()/unpack() functions in the caller class, as
explained below.

View File

@ -20,7 +20,7 @@ Available topics are:
Reading and parsing of text and text files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It is frequently required for a class in LAMMPS to read in additional
Classes in LAMMPS frequently need to read in additional
data from a file, e.g. potential parameters from a potential file for
manybody potentials. LAMMPS provides several custom classes and
convenience functions to simplify the process. They offer the
@ -128,9 +128,8 @@ that determines the kind of neighbor list requested. The default value
used here asks for a perpetual "half" neighbor list.
Non-default values of the second argument need to be used to adjust a
neighbor list request to the specific needs of a style an additional
request flag is needed. The :doc:`tersoff <pair_tersoff>` pair style,
for example, needs a "full" neighbor list:
neighbor list request to the specific needs of a style. The :doc:`tersoff
<pair_tersoff>` pair style, for example, needs a "full" neighbor list:
.. code-block:: c++
@ -141,8 +140,8 @@ for example, needs a "full" neighbor list:
}
When a pair style supports r-RESPA time integration with different cutoff regions,
the request flag may depend on the corresponding r-RESPA settings. Here an example
from pair style lj/cut:
the request flag may depend on the corresponding r-RESPA settings. Here is an
example from pair style lj/cut:
.. code-block:: c++
@ -160,7 +159,7 @@ from pair style lj/cut:
}
Granular pair styles need neighbor lists based on particle sizes and not cutoff
and also may require to have the list of previous neighbors available ("history").
and also may need to store data across timesteps ("history").
For example with:
.. code-block:: c++
@ -169,7 +168,7 @@ For example with:
else neighbor->add_request(this, NeighConst::REQ_SIZE);
In case a class would need to make multiple neighbor list requests with different
settings each request can set an id which is then used in the corresponding
settings, each request can set an id which is then used in the corresponding
``init_list()`` function to assign it to the suitable pointer variable. This is
done for example by the :doc:`pair style meam <pair_meam>`:
@ -279,8 +278,8 @@ And here is how the code operates:
* The :doc:`thermo_style custom <thermo_style>` command defines
*ecouple* and *econserve* keywords.
* These keywords sum the energy contributions from all the
*ecouple_flag* = 1 fixes by invoking the energy_couple() method in
the Modify class, which calls the compute_scalar() method of each
*ecouple_flag* = 1 fixes by invoking the *energy_couple()* method in
the Modify class, which calls the *compute_scalar()* method of each
fix in the list.
------------------
@ -320,19 +319,19 @@ The fix must also do the following:
The ev_init() and ev_tally() methods also account for global and
peratom virial contributions. Thus you do not need to invoke the
v_init() and v_tally() methods, if the fix also calculates peratom
v_init() and v_tally() methods if the fix also calculates peratom
energies.
The fix must also specify whether (by default) to include or exclude
these contributions to the global/peratom energy/virial of the system.
For the fix to include the contributions, set either of both of these
For the fix to include the contributions, set either or both of these
variables in the constructor:
* *thermo_energy* = 1, for global and peratom energy
* *thermo_virial* = 1, for global and peratom virial
Note that these variables are zeroed in fix.cpp. Thus if you don't
set the variables, the contributions will be excluded (by default)
set the variables, the contributions will be excluded (by default).
However, the user has ultimate control over whether to include or
exclude the contributions of the fix via the :doc:`fix modify
@ -406,9 +405,11 @@ processor owns, within the global grid:
.. parsed-literal::
nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in = 3d decomposition brick
nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft = FFT decomposition brick
nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out = 3d decomposition brick + ghost cells
nFOO_in = 3d decomposition brick
nFOO_fft = FFT decomposition brick
nFOO_out = 3d decomposition brick + ghost cells
where ``FOO`` corresponds to ``xlo, xhi, ylo, yhi, zlo,`` or ``zhi``.
The ``in`` and ``fft`` indices are from 0 to N-1 inclusive in each
dimension, where N is the grid size.

View File

@ -4,8 +4,7 @@ Communication
Following the selected partitioning scheme, all per-atom data is
distributed across the MPI processes, which allows LAMMPS to handle very
large systems provided it uses a correspondingly large number of MPI
processes. Since The per-atom data (atom IDs, positions, velocities,
types, etc.) To be able to compute the short-range interactions, MPI
processes. To be able to compute the short-range interactions, MPI
processes need not only access to the data of atoms they "own" but also
information about atoms from neighboring subdomains, in LAMMPS referred
to as "ghost" atoms. These are copies of atoms storing required
@ -37,7 +36,7 @@ be larger than half the simulation domain.
Efficient communication patterns are needed to update the "ghost" atom
data, since that needs to be done at every MD time step or minimization
step. The diagrams of the `ghost-atom-comm` figure illustrate how ghost
step. The diagrams of the :ref:`ghost-atom-comm` figure illustrate how ghost
atom communication is performed in two stages for a 2d simulation (three
in 3d) for both a regular and irregular partitioning of the simulation
box. For the regular case (left) atoms are exchanged first in the

View File

@ -93,7 +93,7 @@ processors, since each tile in the initial tiling overlaps with a
handful of tiles in the final tiling.
The transformations could also be done using collective communication
across all $P$ processors with a single call to ``MPI_Alltoall()``, but
across all :math:`P` processors with a single call to ``MPI_Alltoall()``, but
this is typically much slower. However, for the specialized brick and
pencil tiling illustrated in :ref:`fft-parallel` figure, collective
communication across the entire MPI communicator is not required. In
@ -138,7 +138,7 @@ grid/particle operations that LAMMPS supports:
:math:`O(P^{\frac{1}{2}})`.
- For efficiency in performing 1d FFTs, the grid transpose
operations illustrated in Figure \ref{fig:fft} also involve
operations illustrated in Figure :ref:`fft-parallel` also involve
reordering the 3d data so that a different dimension is contiguous
in memory. This reordering can be done during the packing or
unpacking of buffers for MPI communication.

View File

@ -149,7 +149,7 @@ supports:
- Dependent on the "pair" setting of the :doc:`newton <newton>` command,
the "half" neighbor lists may contain **all** pairs of atoms where
atom *j* is a ghost atom (i.e. when the newton pair setting is *off*)
atom *j* is a ghost atom (i.e. when the newton pair setting is *off*).
For the newton pair *on* setting the atom *j* is only added to the
list if its *z* coordinate is larger, or if equal the *y* coordinate
is larger, and that is equal, too, the *x* coordinate is larger. For

View File

@ -1,13 +1,13 @@
OpenMP Parallelism
^^^^^^^^^^^^^^^^^^
The styles in the INTEL, KOKKOS, and OPENMP package offer to use OpenMP
The styles in the INTEL, KOKKOS, and OPENMP packages offer to use OpenMP
thread parallelism to predominantly distribute loops over local data
and thus follow an orthogonal parallelization strategy to the
decomposition into spatial domains used by the :doc:`MPI partitioning
<Developer_par_part>`. For clarity, this section discusses only the
implementation in the OPENMP package, as it is the simplest. The INTEL
and KOKKOS package offer additional options and are more complex since
and KOKKOS packages offer additional options and are more complex since
they support more features and different hardware like co-processors
or GPUs.
@ -16,7 +16,7 @@ keep the changes to the source code small, so that it would be easier to
maintain the code and keep it in sync with the non-threaded standard
implementation. This is achieved by a) making the OPENMP version a
derived class from the regular version (e.g. ``PairLJCutOMP`` from
``PairLJCut``) and overriding only methods that are multi-threaded or
``PairLJCut``) and only overriding methods that are multi-threaded or
need to be modified to support multi-threading (similar to what was done
in the OPT package), b) keeping the structure in the modified code very
similar so that side-by-side comparisons are still useful, and c)

View File

@ -70,6 +70,9 @@ File and path functions and global constants
.. doxygenfunction:: is_console
:project: progguide
.. doxygenfunction:: disk_free
:project: progguide
.. doxygenfunction:: path_is_directory
:project: progguide

View File

@ -53,7 +53,7 @@ Members of ``lammpsplugin_t``
.. list-table::
:header-rows: 1
:widths: auto
:widths: 15 85
* - Member
- Description
@ -135,7 +135,7 @@ unique inside the entire LAMMPS executable.
Fix style example
^^^^^^^^^^^^^^^^^
If the factory function would be for a fix or compute, which take three
If the factory function is for a fix or compute, which take three
arguments (a pointer to the LAMMPS class, the number of arguments and the
list of argument strings), then the pointer type is ``lammpsplugin_factory2``
and it must be assigned to the *creator.v2* member of the plugin struct.
@ -271,7 +271,7 @@ Plugins need to be compiled with the same compilers and libraries
as the LAMMPS executable and library. Otherwise the plugin will likely
not load due to mismatches in the function signatures (LAMMPS is C++ so
scope, type, and number of arguments are encoded into the symbol names
and thus differences in them will lead to failed plugin load commands.
and thus differences in them will lead to failed plugin load commands).
Compilation of the plugin can be managed via both, CMake or traditional
GNU makefiles. Some examples that can be used as a template are in the
``examples/plugins`` folder. The CMake script code has some small
@ -283,7 +283,7 @@ in the ``examples/kim/plugin`` folder. No changes to the sources of the
KIM package themselves are needed; only the plugin interface and loader
code needs to be added. This example only supports building with CMake,
but is probably a more typical example. To compile you need to run CMake
with -DLAMMPS_SOURCE_DIR=<path/to/lammps/src/folder>. Other
with ``-DLAMMPS_SOURCE_DIR=<path/to/lammps/src/folder>``. Other
configuration setting are identical to those for compiling LAMMPS.
A second example for a plugin from a package is in the

View File

@ -44,7 +44,7 @@ available:
.. list-table::
:header-rows: 1
:widths: auto
:widths: 32 18 50
:align: left
* - File name:
@ -121,7 +121,7 @@ will be suppressed and only a summary printed, but adding
the '-V' option will then produce output from the tests
above like the following:
.. code-block::
.. code-block:: console
[...]
1: [ RUN ] Tokenizer.empty_string
@ -180,19 +180,11 @@ discarded but by setting the verbose flag (via setting the ``TEST_ARGS``
environment variable, ``TEST_ARGS=-v``) it can be printed and used to
understand why tests fail unexpectedly.
Another complexity of these tests stems from the need to capture
situations where LAMMPS will stop with an error, i.e. handle so-called
"death tests". Here the LAMMPS code will operate differently depending
on whether it was configured to throw C++ exceptions on errors or call
either ``exit()`` or ``MPI_Abort()``. In the latter case, the test code
also needs to detect whether LAMMPS was compiled with the OpenMPI
library, as OpenMPI is **only** compatible the death test options of the
GoogleTest library when C++ exceptions are enabled; otherwise those
"death tests" must be skipped to avoid reporting bogus failures. The
specifics of this step are implemented in the ``TEST_FAILURE()``
macro. These tests operate by capturing the screen output when executing
the failing command and then comparing that with a provided regular
expression string pattern. Example:
The specifics of so-called "death tests", i.e. conditions where LAMMPS
should fail and throw an exception, are implemented in the
``TEST_FAILURE()`` macro. These tests operate by capturing the screen
output when executing the failing command and then comparing that with a
provided regular expression string pattern. Example:
.. code-block:: c++
@ -235,12 +227,12 @@ Tests for the C-style library interface
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Tests for validating the LAMMPS C-style library interface are in the
``unittest/c-library`` folder. They are implemented in either way used
for utility functions and for LAMMPS commands, but use the functions
``unittest/c-library`` folder. They are implemented either to be used
for utility functions or for LAMMPS commands, but use the functions
implemented in the ``src/library.cpp`` file as much as possible. There
may be some overlap with other tests, but only in as much as is required
to test the C-style library API. The tests are distributed over
multiple test programs which tries to match the grouping of the
multiple test programs which try to match the grouping of the
functions in the source code and :ref:`in the manual <lammps_c_api>`.
This group of tests also includes tests invoking LAMMPS in parallel
@ -266,7 +258,7 @@ Tests for the Python module and package
The ``unittest/python`` folder contains primarily tests for classes and
functions in the LAMMPS python module but also for commands in the
PYTHON package. These tests are only enabled, if the necessary
PYTHON package. These tests are only enabled if the necessary
prerequisites are detected or enabled during configuration and
compilation of LAMMPS (shared library build enabled, Python interpreter
found, Python development files found).
@ -280,11 +272,9 @@ Tests for the Fortran interface
Tests for using the Fortran module are in the ``unittest/fortran``
folder. Since they are also using the GoogleTest library, they require
to also implement test wrappers in C++ that will call fortran functions
implementing test wrappers in C++ that will call fortran functions
which provide a C function interface through ISO_C_BINDINGS that will in
turn call the functions in the LAMMPS Fortran module. This part of the
unit tests is incomplete since the Fortran module it is based on is
incomplete as well.
turn call the functions in the LAMMPS Fortran module.
Tests for the C++-style library interface
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -303,7 +293,7 @@ The ``unittest/formats`` folder contains test programs for reading and
writing files like data files, restart files, potential files or dump files.
This covers simple things like the file i/o convenience functions in the
``utils::`` namespace to complex tests of atom styles where creating and
deleting of atoms with different properties is tested in different ways
deleting atoms with different properties is tested in different ways
and through script commands or reading and writing of data or restart files.
Tests for styles computing or modifying forces
@ -405,10 +395,10 @@ compare with the reference and also start from the data file. A final
check will use multi-cutoff r-RESPA (if supported by the pair style) at
a 1:1 split and compare to the Verlet results. These sets of tests are
run with multiple test fixtures for accelerated styles (OPT, OPENMP,
INTEL) and for the latter two with 4 OpenMP threads enabled. For
these tests the relative error (epsilon) is lowered by a common factor
due to the additional numerical noise, but the tests are still comparing
to the same reference data.
INTEL, KOKKOS (OpenMP only)) and for the latter three with 4 OpenMP
threads enabled. For these tests the relative error (epsilon) is lowered
by a common factor due to the additional numerical noise, but the tests
are still comparing to the same reference data.
Additional tests will check whether all listed extract keywords are
supported and have the correct dimensionality and the final set of tests
@ -421,7 +411,7 @@ With this scheme a large fraction of the code of any tested pair style
will be executed and consistent results are required for different
settings and between different accelerated pair style variants and the
base class, as well as for computing individual pairs through the
``Pair::single()`` where supported.
``Pair::single()`` method where supported.
The ``test_pair_style`` tester is used with 4 categories of test inputs:
@ -442,17 +432,19 @@ The ``test_pair_style`` tester is used with 4 categories of test inputs:
pair style is defined, but the computation of the pair style contributions
is disabled.
The ``test_bond_style`` and ``test_angle_style`` are set up in a similar
fashion and share support functions with the pair style tester. The final
group of tests in this section is for fix styles that add/manipulate forces
and velocities, e.g. for time integration, thermostats and more.
The ``test_bond_style``, ``test_angle_style``, ``test_dihedral_style``, and
``test_improper_style`` tester programs are set up in a similar fashion and
share support functions with the pair style tester. The final group of
tests in this section is for fix styles that add/manipulate forces and
velocities, e.g. for time integration, thermostats and more.
Adding a new test is easiest done by copying and modifying an existing test
for a style that is similar to one to be tested. The file name should follow
the naming conventions described above and after copying the file, the first
step is to replace the style names where needed. The coefficient values
do not have to be meaningful, just in a reasonable range for the given system.
It does not matter if some forces are large, for as long as they do not diverge.
Adding a new test is easiest done by copying and modifying an existing YAML
file for a style that is similar to one to be tested. The file name should
follow the naming conventions described above and after copying the file,
the first step is to replace the style names where needed. The coefficient
values do not have to be meaningful, just in a reasonable range for the
given system. It does not matter if some forces are large, as long as
they do not diverge.
The template input files define a large number of index variables at the top
that can be modified inside the YAML file to control the behavior. For example,
@ -480,7 +472,7 @@ Note that this disables computing the kspace contribution, but still will run
the setup. The "gewald" parameter should be set explicitly to speed up the run.
For styles with long-range electrostatics, typically two tests are added one using
the (slower) analytic approximation of the erfc() function and the other using
the tabulated coulomb, to test both code paths. The reference results in the YAML
the tabulated coulomb, to test both code paths. The reference results in the YAML
files then should be compared manually, if they agree well enough within the limits
of those two approximations.
@ -534,3 +526,101 @@ The ``unittest/tools`` folder contains tests for programs in the
shell, which are implemented as a python scripts using the ``unittest``
Python module and launching the tool commands through the ``subprocess``
Python module.
Troubleshooting failed unit tests
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The are by default no unit tests for newly added features (e.g. pair, fix,
or compute styles) unless your pull request also includes tests for the
added features. If you are modifying some features, you may see failures
for existing tests, if your modifications have some unexpected side effects
or your changes render the existing test invalid. If you are adding an
accelerated version of an existing style, then only tests for INTEL,
KOKKOS (with OpenMP only), OPENMP, and OPT will be run automatically.
Tests for the GPU package are time consuming and thus are only run
*after* a merge, or when a special label, ``gpu_unit_tests`` is added
to the pull request. After the test has started, it is often best to
remove the label since every PR activity will re-trigger the test (that
is a limitation of triggering a test with a label). Support for unit
tests when using KOKKOS with GPU acceleration is currently not supported.
When you see a failed build on GitHub, click on ``Details`` to be taken
to the corresponding LAMMPS Jenkins CI web page. Click on the "Exit"
symbol near the ``Logout`` button on the top right of that page to go to
the "classic view". In the classic view, there is a list of the
individual runs that make up this test run (they are shown but cannot be
inspected in the default view). You can click on any of those.
Clicking on ``Test Result`` will display the list of failed tests. Click
on the "Status" column to sort the tests based on their Failed or Passed
status. Then click on the failed test to expand its output.
For example, the following output snippet shows the failed unit test
.. code-block:: console
[ RUN ] PairStyle.gpu
/home/builder/workspace/dev/pull_requests/ubuntu_gpu/unit_tests/cmake_gpu_opencl_mixed_smallbig_clang_static/unittest/force-styles/test_main.cpp:63: Failure
Expected: (err) <= (epsilon)
Actual: 0.00018957912910606503 vs 0.0001
Google Test trace:
/home/builder/workspace/dev/pull_requests/ubuntu_gpu/unit_tests/cmake_gpu_opencl_mixed_smallbig_clang_static/unittest/force-styles/test_main.cpp:56: EXPECT_FORCES: init_forces (newton off)
/home/builder/workspace/dev/pull_requests/ubuntu_gpu/unit_tests/cmake_gpu_opencl_mixed_smallbig_clang_static/unittest/force-styles/test_main.cpp:64: Failure
Expected: (err) <= (epsilon)
Actual: 0.00022892713393549854 vs 0.0001
The failed assertions provide line numbers in the test source
(e.g. ``test_main.cpp:56``), from which one can understand what
specific assertion failed.
Note that the force style engine runs one of a small number of systems
in a rather off-equilibrium configuration with a few atoms for a few
steps, writes data and restart files, uses :doc:`the clear command
<clear>` to reset LAMMPS, and then runs from those files with different
settings (e.g. newton on/off) and integrators (e.g. verlet vs. respa).
Beyond potential issues/bugs in the source code, the mismatch between
the expected and actual values could be that force arrays are not
properly cleared between multiple run commands or that class members are
not correctly initialized or written to or read from a data or restart
file.
While the epsilon (relative precision) for a single, `IEEE 754 compliant
<https://en.wikipedia.org/wiki/IEEE_754>`_, double precision floating
point operation is at about 2.2e-16, the achievable precision for the
tests is lower due to most numbers being sums over intermediate results
and the non-associativity of floating point math leading to larger
errors. As a rule of thumb, the test epsilon can often be in the range
5.0e-14 to 1.0e-13. But for "noisy" force kernels, e.g. those a larger
amount of arithmetic operations involving `exp()`, `log()` or `sin()`
functions, and also due to the effect of compiler optimization or differences
between compilers or platforms, epsilon may need to be further relaxed,
sometimes epsilon can be relaxed to 1.0e-12. If interpolation or lookup
tables are used, epsilon may need to be set to 1.0e-10 or even higher.
For tests of accelerated styles, the per-test epsilon is multiplied
by empirical factors that take into account the differences in the order
of floating point operations or that some or most intermediate operations
may be done using approximations or with single precision floating point
math.
To rerun the failed unit test individually, change to the ``build`` directory
and run the test with verbose output. For example,
.. code-block:: bash
env TEST_ARGS=-v ctest -R ^MolPairStyle:lj_cut_coul_long -V
``ctest`` with the ``-V`` flag also shows the exact command line
of the test. One can then use ``gdb --args`` to further debug and
catch exceptions with the test command, for example,
.. code-block:: bash
gdb --args /path/to/lammps/build/test_pair_style /path/to/lammps/unittest/force-styles/tests/mol-pair-lj_cut_coul_long.yaml
It is recommended to configure the build with ``-D
BUILD_SHARED_LIBS=on`` and use a custom linker to shorten the build time
during recompilation. Installing `ccache` in your development
environment helps speed up recompilation by caching previous
compilations and detecting when the same compilation is being done
again. Please see :doc:`Build_development` for further details.

View File

@ -18,8 +18,10 @@ Available topics in mostly chronological order are:
- `Setting flags in the constructor`_
- `Rename of pack/unpack_comm() to pack/unpack_forward_comm()`_
- `Use ev_init() to initialize variables derived from eflag and vflag`_
- `Use utils::count_words() functions instead of atom->count_words()`_
- `Use utils::numeric() functions instead of force->numeric()`_
- `Use utils::open_potential() function to open potential files`_
- `Use symbolic Atom and AtomVec constants instead of numerical values`_
- `Simplify customized error messages`_
- `Use of "override" instead of "virtual"`_
- `Simplified and more compact neighbor list requests`_
@ -50,10 +52,9 @@ Rename of pack/unpack_comm() to pack/unpack_forward_comm()
.. versionchanged:: 8Aug2014
In this change set the functions to pack data into communication buffers
and to unpack data from communication buffers for :doc:`forward
communications <Developer_comm_ops>` were renamed from ``pack_comm()``
and ``unpack_comm()`` to ``pack_forward_comm()`` and
In this change set, the functions to pack/unpack data into communication buffers
for :doc:`forward communications <Developer_comm_ops>` were renamed from
``pack_comm()`` and ``unpack_comm()`` to ``pack_forward_comm()`` and
``unpack_forward_comm()``, respectively. Also the meaning of the return
value of these functions was changed: rather than returning the number
of items per atom stored in the buffer, now the total number of items
@ -107,7 +108,7 @@ Use ev_init() to initialize variables derived from eflag and vflag
There are several variables that need to be initialized based on
the values of the "eflag" and "vflag" variables and since sometimes
there are new bits added and new variables need to be set to 1 or 0.
To make this consistent, across all styles, there is now an inline
To make this consistent across all styles, there is now an inline
function ``ev_init(eflag, vflag)`` that makes those settings
consistently and calls either ``ev_setup()`` or ``ev_unset()``.
Example from a pair style:
@ -129,6 +130,41 @@ Not applying this change will not cause a compilation error, but
can lead to inconsistent behavior and incorrect tallying of
energy or virial.
Use utils::count_words() functions instead of atom->count_words()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. versionchanged:: 2Jun2020
The "count_words()" functions for parsing text have been moved from the
Atom class to the :doc:`utils namespace <Developer_utils>`. The
"count_words()" function in "utils" uses the Tokenizer class internally
to split a line into words and count them, thus it will not modify the
argument string as the function in the Atoms class did and thus had a
variant using a copy buffer. Unlike the old version, the new version
does not remove comments. For that you can use the
:cpp:func:`utils::trim_comment() function
<LAMMPS_NS::utils::trim_comment>` as shown in the example below.
Old:
.. code-block:: c++
nwords = atom->count_words(line);
int nwords = atom->count_words(buf);
New:
.. code-block:: c++
nwords = utils::count_words(line);
int nwords = utils::count_words(utils::trim_comment(buf));
.. seealso::
:cpp:func:`utils::count_words() <LAMMPS_NS::utils::count_words>`,
:cpp:func:`utils::trim_comments() <LAMMPS_NS::utils::trim_comments>`
Use utils::numeric() functions instead of force->numeric()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -136,11 +172,12 @@ Use utils::numeric() functions instead of force->numeric()
The "numeric()" conversion functions (including "inumeric()",
"bnumeric()", and "tnumeric()") have been moved from the Force class to
the utils namespace. Also they take an additional argument that selects
whether the ``Error::all()`` or ``Error::one()`` function should be
called in case of an error. The former should be used when *all* MPI
processes call the conversion function and the latter *must* be used
when they are called from only one or a subset of the MPI processes.
the :doc:`utils namespace <Developer_utils>`. Also they take an
additional argument that selects whether the ``Error::all()`` or
``Error::one()`` function should be called in case of an error. The
former should be used when *all* MPI processes call the conversion
function and the latter *must* be used when they are called from only
one or a subset of the MPI processes.
Old:
@ -173,14 +210,14 @@ The :cpp:func:`utils::open_potential()
calls to ``force->open_potential()`` and should be used to replace
``fopen()`` for opening potential files for reading. The custom
function does three additional steps compared to ``fopen()``: 1) it will
try to parse the ``UNITS:`` and ``DATE:`` metadata will stop with an
try to parse the ``UNITS:`` and ``DATE:`` metadata and will stop with an
error on a units mismatch and will print the date info, if present, in
the log file; 2) for pair styles that support it, it will set up
possible automatic unit conversions based on the embedded unit
information and LAMMPS' current units setting; 3) it will not only try
to open a potential file at the given path, but will also search in the
folders listed in the ``LAMMPS_POTENTIALS`` environment variable. This
allows to keep potential files in a common location instead of having to
allows potential files to reside in a common location instead of having to
copy them around for simulations.
Old:
@ -196,6 +233,73 @@ New:
fp = utils::open_potential(filename, lmp);
Use symbolic Atom and AtomVec constants instead of numerical values
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. versionchanged:: 18Sep2020
Properties in LAMMPS that were represented by integer values (0, 1,
2, 3) to indicate settings in the ``Atom`` and ``AtomVec`` classes (or
classes derived from it) (and its derived classes) have been converted
to use scoped enumerators instead.
.. list-table::
:header-rows: 1
:widths: 23 10 23 10 23 10
* - Symbolic Constant
- Value
- Symbolic Constant
- Value
- Symbolic Constant
- Value
* - Atom::GROW
- 0
- Atom::ATOMIC
- 0
- Atom::MAP_NONE
- 0
* - Atom::RESTART
- 1
- Atom::MOLECULAR
- 1
- Atom::MAP_ARRAY
- 1
* - Atom::BORDER
- 2
- Atom::TEMPLATE
- 2
- Atom::MAP_HASH
- 2
* - AtomVec::PER_ATOM
- 0
- AtomVec::PER_TYPE
- 1
- Atom::MAP_YES
- 3
Old:
.. code-block:: c++
molecular = 0;
mass_type = 1;
if (atom->molecular == 2)
if (atom->map_style == 2)
atom->add_callback(0);
atom->delete_callback(id,1);
New:
.. code-block:: c++
molecular = Atom::ATOMIC;
mass_type = AtomVec::PER_TYPE;
if (atom->molecular == Atom::TEMPLATE)
if (atom->map_style == Atom::MAP_HASH)
atom->add_callback(Atom::GROW);
atom->delete_callback(id,Atom::RESTART);
Simplify customized error messages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -203,7 +307,7 @@ Simplify customized error messages
Aided by features of the bundled {fmt} library, error messages now
can have a variable number of arguments and the string will be interpreted
as a {fmt} style format string so that custom error messages can be
as a {fmt} style format string so that error messages can be
easily customized without having to use temporary buffers and ``sprintf()``.
Example:
@ -229,7 +333,7 @@ Use of "override" instead of "virtual"
.. versionchanged:: 17Feb2022
Since LAMMPS requires C++11 we switched to use the "override" keyword
Since LAMMPS requires C++11, we switched to use the "override" keyword
instead of "virtual" to indicate polymorphism in derived classes. This
allows the C++ compiler to better detect inconsistencies when an
override is intended or not. Please note that "override" has to be
@ -267,7 +371,7 @@ Simplified function names for forward and reverse communication
.. versionchanged:: 24Mar2022
Rather then using the function name to distinguish between the different
Rather than using the function name to distinguish between the different
forward and reverse communication functions for styles, LAMMPS now uses
the type of the "this" pointer argument.

View File

@ -211,6 +211,9 @@ Argument processing
.. doxygenfunction:: bounds
:project: progguide
.. doxygenfunction:: bounds_typelabel
:project: progguide
.. doxygenfunction:: expand_args
:project: progguide
@ -619,7 +622,7 @@ classes:
of a dense, symmetric, real matrix.
#. The "PEigenDense" class only calculates the principal eigenvalue
(ie. the largest or smallest eigenvalue), and its corresponding
(i.e. the largest or smallest eigenvalue), and its corresponding
eigenvector. However it is much more efficient than "Jacobi" when
applied to large matrices (larger than 13x13). PEigenDense also can
understand complex-valued Hermitian matrices.
@ -635,10 +638,10 @@ Tohoku University (under MIT license)
----------
.. doxygenfunction:: MathEigen::jacobi3(double const *const *mat, double *eval, double **evec)
.. doxygenfunction:: MathEigen::jacobi3(double const *const *mat, double *eval, double **evec, int sort)
:project: progguide
.. doxygenfunction:: MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3])
.. doxygenfunction:: MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort)
:project: progguide
---------------------------

View File

@ -74,8 +74,7 @@ The next method we need to implement is ``setmask()``:
Here the we specify which methods of the fix should be called during
:doc:`execution of a timestep <Developer_flow>`. The constant
``END_OF_STEP`` corresponds to the ``end_of_step()`` method. The most
important available methods that are called during a timestep.
``END_OF_STEP`` corresponds to the ``end_of_step()`` method.
.. code-block:: c++
@ -127,7 +126,7 @@ there is no need to inherit from it directly.
The code above computes average velocity for all particles in the
simulation. Yet you have one unused parameter in fix call from the
script: ``group_name``. This parameter specifies the group of atoms
used in the fix. So we should compute average for all particles in the
used in the fix. So we should compute the average for all particles in the
simulation only if ``group_name == "all"``, but it can be any group.
The group membership information of an atom is contained in the *mask*
property of an atom and the bit corresponding to a given group is
@ -142,7 +141,7 @@ stored in the groupbit variable which is defined in Fix base class:
}
Class Atom encapsulates atoms positions, velocities, forces, etc. Users
can access them using particle index. Note, that particle indexes are
can access them using the particle index. Note, that particle indexes are
usually changed every few timesteps because of neighbor list rebuilds
and spatial sorting (to improve cache efficiency).
@ -154,8 +153,8 @@ this situation there are several methods which should be implemented:
- ``double memory_usage()``: return how much memory the fix uses (optional)
- ``void grow_arrays(int)``: do reallocation of the per-particle arrays in your fix
- ``void copy_arrays(int i, int j, int delflag)``: copy i-th per-particle
information to j-th. Used when atom sorting is performed. if delflag is set
and atom j owns a body, move the body information to atom i.
information to j-th particle position. Used when atom sorting is performed.
if delflag is set and atom j owns a body, move the body information to atom i.
- ``void set_arrays(int i)``: sets i-th particle related information to zero
Note, that if your class implements these methods, it must add calls of
@ -230,11 +229,11 @@ 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.
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
``restart_global = 1`` in the constructor and implementing methods void
``write_restart(FILE *fp)`` and ``void restart(char *buf)``.
your fix to the restart file, you might do it by setting the flag
``restart_global = 1`` in the constructor and implementing methods
``void write_restart(FILE *fp)`` and ``void restart(char *buf)``.
If, in addition, you want to write the per-atom property to restart
files additional settings and functions are needed:
files then these additional settings and functions are needed:
- a fix flag indicating this needs to be set ``restart_peratom = 1;``
- ``atom->add_callback()`` and ``atom->delete_callback()`` must be called

View File

@ -50,6 +50,30 @@ We are looking at the following cases:
- `Case 3: a potential requiring communication`_
- `Case 4: potentials without a compute() function`_
Package and build system considerations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In general, new pair styles should be added to the :ref:`EXTRA-PAIR
package <PKG-EXTRA-PAIR>` unless they are an accelerated pair style and
then they should be added to the corresponding accelerator package
(:ref:`GPU <PKG-GPU>`, :ref:`INTEL <PKG-INTEL>`, :ref:`KOKKOS
<PKG-KOKKOS>`, :ref:`OPENMP <PKG-OPENMP>`, :ref:`OPT <PKG-OPT>`). If
you feel that your contribution should be added to a different package,
please consult with the LAMMPS developers first.
The contributed code needs to support the :doc:`traditional GNU make
build process <Build_make>` **and** the :doc:`CMake build process
<Build_cmake>`. For the GNU make process and if the package has an
``Install.sh`` file, most likely that file needs to be updated to
correctly copy the sources when installing the package and properly
delete them when uninstalling. This is particularly important when
added a new pair style that is a derived class from an existing pair
style in a package, so that its installation depends on the the
installation status of the package of the derived class. For the CMake
process, it is sometimes necessary to make changes to the package
specific CMake scripting in ``cmake/Modules/Packages``.
----
Case 1: a pairwise additive model
@ -347,9 +371,9 @@ but moving this to a separate function allows users to change global
settings like the default cutoff without having to reissue all
pair_coeff commands or re-read the ``Pair Coeffs`` sections from the
data file. In the ``settings()`` function, also the arrays for storing
parameters, to define cutoffs, track with pairs of parameters have been
explicitly set are allocated and, if needed, initialized. In this case,
the memory allocation and initialization is moved to a function
parameters, to define cutoffs, track which pairs of parameters have been
explicitly set and allocated and, if needed, initialized. In this case,
the memory allocation and initialization are moved to a function
``allocate()``.
.. code-block:: c++
@ -564,17 +588,20 @@ loop atoms are also initialized.
jnum = numneigh[i];
The inner loop (index *j*) processes the neighbor lists. The neighbor
list code encodes in the upper 2 bits whether a pair is a regular pair
of neighbor (= 0) or a pair of 1-2 (= 1), 1-3 (= 2), or 1-4 (= 3)
:doc:`"special" neighbor <special_bonds>`. The ``sbmask()`` inline
function extracts those bits and converts them into a number. This
number is used to look up the corresponding scaling factor for the
non-bonded interaction from the ``force->special_lj`` array and stores
it in the `factor_lj` variable. Due to the additional bits, the value
of *j* would be out of range when accessing data from per-atom arrays,
so we apply the NEIGHMASK constant with a bit-wise and operation to mask
them out. This step *must* be done, even if a pair style does not use
special bond scaling of forces and energies to avoid segmentation faults.
list code encodes extra information using the upper 3 bits. The 2
highest bits encode whether a pair is a regular pair of neighbor (= 0)
or a pair of 1-2 (= 1), 1-3 (= 2), or 1-4 (= 3) :doc:`"special" neighbor
<special_bonds>`. The next highest bit encodes whether the pair stores
data in a ``fix neigh/history`` instance (an undocumented internal fix
style). The ``sbmask()`` inline function extracts those bits and
converts them into a number. This number is used to look up the
corresponding scaling factor for the non-bonded interaction from the
``force->special_lj`` array and stores it in the `factor_lj` variable.
Due to the additional bits, the value of *j* would be out of range when
accessing data from per-atom arrays, so we apply the NEIGHMASK constant
with a bit-wise and operation to mask them out. This step *must* be
done, even if a pair style does not use special bond scaling of forces
and energies to avoid segmentation faults.
With the corrected *j* index, it is now possible to compute the distance
of the pair. For efficiency reasons, the square root is only taken
@ -867,7 +894,7 @@ through *multiple* :doc:`pair_coeff commands <pair_coeff>`. Pair styles
that require a single "pair_coeff \* \*" command line are not compatible
with reading their parameters from data files. For pair styles like
*born/gauss* that do support writing to data files, the potential
parameters will be read from the data file, if present and
parameters will be read from the data file, if present, and
:doc:`pair_coeff commands <pair_coeff>` may not be needed.
The member variable ``writedata`` should be set to 1 in the constructor,

View File

@ -39,7 +39,8 @@ figure out your physics or numerical mistakes, like choosing too big a
timestep, specifying erroneous force field coefficients, or putting 2
atoms on top of each other! If you run into errors that LAMMPS
does not catch that you think it should flag, please send an email to
the `developers <https://www.lammps.org/authors.html>`_.
the `developers <https://www.lammps.org/authors.html>`_ or create an new
topic on the dedicated `MatSci forum section <https://matsci.org/lammps/>`_.
If you get an error message about an invalid command in your input
script, you can determine what command is causing the problem by

View File

@ -13,15 +13,44 @@ discussions of such cases.
Unknown identifier in data file
-------------------------------
This error happens when LAMMPS encounters a line of text in an unexpected format
while reading a data file. This is most commonly cause by inconsistent header and
section data. The header section informs LAMMPS how many entries or lines are expected in the
various sections (like Atoms, Masses, Pair Coeffs, *etc.*\ ) of the data file.
If there is a mismatch, LAMMPS will either keep reading beyond the end of a section
or stop reading before the section has ended.
This error happens when LAMMPS encounters a line of text with an
unexpected keyword while :doc:`reading a data file <read_data>`. This
would be either header keywords or section header keywords. This is
most commonly due to a mistyped keyword or due to a keyword that is
inconsistent with the :doc:`atom style <atom_style>` used.
Such a mismatch can happen unexpectedly when the first line of the data
is *not* a comment as required by the format. That would result in
LAMMPS expecting, for instance, 0 atoms because the "atoms" header line
is treated as a comment.
The header section informs LAMMPS how many entries or lines are expected
in the various sections (like Atoms, Masses, Pair Coeffs, *etc.*\ ) of
the data file. If there is a mismatch, LAMMPS will either keep reading
beyond the end of a section or stop reading before the section has
ended. In that case the next line will not contain a recognized keyword.
Such a mismatch can also happen when the first line of the data
is *not* a comment as required by the format, but a line with a valid
header keyword. That would result in LAMMPS expecting, for instance,
0 atoms because the "atoms" header line is the first line and thus
treated as a comment.
Another possibility to trigger this error is to have a keyword in the
data file that corresponds to a fix (e.g. :doc:`fix cmap <fix_cmap>`)
but the :doc:`read_data <read_data>` command is missing the (optional)
arguments that identify the fix and the header keyword and section
keyword or those arguments are inconsistent with the keywords in the
data file.
.. _err0002:
Incorrect format in ... section of data file
--------------------------------------------
This error happens when LAMMPS reads the contents of a section of a
:doc:`data file <read_data>` and the number of parameters in the line
differs from what is expected. This most commonly happens, when the
atom style is different from what is expected for a specific data file
since changing the atom style usually changes the format of the line.
This error can also happen when the number of entries indicated in the
header of a data file (e.g. the number of atoms) is larger than the
number of lines provided (e.g. in the corresponding Atoms section)
and then LAMMPS will continue reading into the next section and that
would have a completely different format.

View File

@ -96,13 +96,13 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
are too far apart to make a valid angle.
*Angle atoms %d %d %d missing on proc %d at step %ld*
One or more of 3 atoms needed to compute a particular angle are
One or more of three atoms needed to compute a particular angle are
missing on this processor. Typically this is because the pairwise
cutoff is set too short or the angle has blown apart and an atom is
too far away.
*Angle atoms missing on proc %d at step %ld*
One or more of 3 atoms needed to compute a particular angle are
One or more of three atoms needed to compute a particular angle are
missing on this processor. Typically this is because the pairwise
cutoff is set too short or the angle has blown apart and an atom is
too far away.
@ -1932,7 +1932,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
Self-explanatory.
*Compute chunk/atom fix array is accessed out-of-range*
the index for the array is out of bounds.
The index for the array is out of bounds.
*Compute chunk/atom fix does not calculate a per-atom array*
Self-explanatory.
@ -6073,9 +6073,9 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
*New atom IDs exceed maximum allowed ID*
See the setting for tagint in the src/lmptype.h file.
*New bond exceeded bonds per atom in create_bonds*
See the read_data command for info on using the "extra/bond/per/atom"
keyword to allow for additional bonds to be formed
*New bond exceeded bonds per atom in create\_bonds*
See the read_data command for info on using the "extra/bond/per/atom"
keyword to allow for additional bonds to be formed
*New bond exceeded bonds per atom in fix bond/create*
See the read_data command for info on using the "extra/bond/per/atom"
@ -7310,12 +7310,12 @@ keyword to allow for additional bonds to be formed
atom has moved too far.
*Restrain atoms %d %d %d missing on proc %d at step %ld*
The 3 atoms in a restrain angle specified by the fix restrain
The three atoms in a restrain angle specified by the fix restrain
command are not all accessible to a processor. This probably means an
atom has moved too far.
*Restrain atoms %d %d missing on proc %d at step %ld*
The 2 atoms in a restrain bond specified by the fix restrain
The two atoms in a restrain bond specified by the fix restrain
command are not all accessible to a processor. This probably means an
atom has moved too far.
@ -7406,7 +7406,7 @@ keyword to allow for additional bonds to be formed
*Shake angles have different bond types*
All 3-atom angle-constrained SHAKE clusters specified by the fix shake
command that are the same angle type, must also have the same bond
types for the 2 bonds in the angle.
types for the two bonds in the angle.
*Shake atoms %d %d %d %d missing on proc %d at step %ld*
The 4 atoms in a single shake cluster specified by the fix shake
@ -7414,12 +7414,12 @@ keyword to allow for additional bonds to be formed
an atom has moved too far.
*Shake atoms %d %d %d missing on proc %d at step %ld*
The 3 atoms in a single shake cluster specified by the fix shake
The three atoms in a single shake cluster specified by the fix shake
command are not all accessible to a processor. This probably means
an atom has moved too far.
*Shake atoms %d %d missing on proc %d at step %ld*
The 2 atoms in a single shake cluster specified by the fix shake
The two atoms in a single shake cluster specified by the fix shake
command are not all accessible to a processor. This probably means
an atom has moved too far.
@ -7883,12 +7883,6 @@ keyword to allow for additional bonds to be formed
Fix poems cannot (yet) work with coupled bodies whose joints connect
the bodies in a tree structure.
*Triclinic box skew is too large*
The displacement in a skewed direction must be less than half the box
length in that dimension. E.g. the xy tilt must be between -half and
+half of the x box length. This constraint can be relaxed by using
the box tilt command.
*Tried to convert a double to int, but input_double > INT_MAX*
Self-explanatory.

View File

@ -23,7 +23,7 @@ Doc page with :doc:`ERROR messages <Errors_messages>`
adjusted to match the user-specified accuracy.
*Angle atoms missing at step %ld*
One or more of 3 atoms needed to compute a particular angle are
One or more of three atoms needed to compute a particular angle are
missing on this processor. Typically this is because the pairwise
cutoff is set too short or the angle has blown apart and an atom is
too far away.
@ -233,7 +233,7 @@ Doc page with :doc:`ERROR messages <Errors_messages>`
style.
*Fix langevin gjf using random gaussians is not implemented with kokkos*
This will most likely cause errors in kinetic fluctuations.
This will most likely cause errors in kinetic fluctuations.
*Fix property/atom mol or charge w/out ghost communication*
A model typically needs these properties defined for ghost atoms.
@ -324,7 +324,7 @@ This will most likely cause errors in kinetic fluctuations.
Specifically they are further apart than half a periodic box length.
Or they are more than a box length apart in a non-periodic dimension.
This is usually due to the initial data file not having correct image
flags for the 2 atoms in a bond that straddles a periodic boundary.
flags for the two atoms in a bond that straddles a periodic boundary.
They should be different by 1 in that case. This is a warning because
inconsistent image flags will not cause problems for dynamics or most
LAMMPS simulations. However they can cause problems when such atoms
@ -752,13 +752,6 @@ This will most likely cause errors in kinetic fluctuations.
More than the maximum # of neighbors was found multiple times. This
was unexpected.
*Triclinic box skew is large*
The displacement in a skewed direction is normally required to be less
than half the box length in that dimension. E.g. the xy tilt must be
between -half and +half of the x box length. You have relaxed the
constraint using the box tilt command, but the warning means that a
LAMMPS simulation may be inefficient as a result.
*Use special bonds = 0,1,1 with bond style fene*
Most FENE models need this setting for the special_bonds command.

View File

@ -134,6 +134,8 @@ Lowercase directories
+-------------+------------------------------------------------------------------+
| rerun | use of rerun and read_dump commands |
+-------------+------------------------------------------------------------------+
| rheo | RHEO simulations of fluid flows and phase transitions |
+-------------+------------------------------------------------------------------+
| rigid | rigid bodies modeled as independent or coupled |
+-------------+------------------------------------------------------------------+
| shear | sideways shear applied to 2d solid, with and without a void |

View File

@ -305,6 +305,8 @@ of the contents of the :f:mod:`LIBLAMMPS` Fortran interface to LAMMPS.
:ftype extract_setting: function
:f extract_global: :f:func:`extract_global`
:ftype extract_global: function
:f map_atom: :f:func:`map_atom`
:ftype map_atom: function
:f extract_atom: :f:func:`extract_atom`
:ftype extract_atom: function
:f extract_compute: :f:func:`extract_compute`
@ -315,6 +317,10 @@ of the contents of the :f:mod:`LIBLAMMPS` Fortran interface to LAMMPS.
:ftype extract_variable: function
:f set_variable: :f:subr:`set_variable`
:ftype set_variable: subroutine
:f set_string_variable: :f:subr:`set_set_string_variable`
:ftype set_string_variable: subroutine
:f set_internal_variable: :f:subr:`set_internal_variable`
:ftype set_internal_variable: subroutine
:f gather_atoms: :f:subr:`gather_atoms`
:ftype gather_atoms: subroutine
:f gather_atoms_concat: :f:subr:`gather_atoms_concat`
@ -1071,7 +1077,7 @@ Procedures Bound to the :f:type:`lammps` Derived Type
.. list-table::
:header-rows: 1
:widths: auto
:widths: 21 20 40 19
* - Style
- Type
@ -1161,7 +1167,7 @@ Procedures Bound to the :f:type:`lammps` Derived Type
.. list-table::
:header-rows: 1
:widths: auto
:widths: 20 19 11 11 21 18
* - Style
- Type
@ -1251,8 +1257,8 @@ Procedures Bound to the :f:type:`lammps` Derived Type
three elements of the global vector calculated by fix recenter into the
variables *dx*, *dy*, and *dz*, respectively.
If asked for per-atom or local data, :f:func:`extract_compute` returns a
pointer to actual LAMMPS data. The pointer so returned will have the
If asked for per-atom or local data, :f:func:`extract_fix` returns a
pointer to actual LAMMPS data. The pointer returned will have the
appropriate size to match the internal data, and will be
type/kind/rank-checked at the time of the assignment. For example,
@ -1398,7 +1404,28 @@ Procedures Bound to the :f:type:`lammps` Derived Type
Set the value of a string-style variable.
.. versionadded:: 3Nov2022
.. deprecated:: 7Feb2024
This function assigns a new value from the string *str* to the string-style
variable *name*\ . If *name* does not exist or is not a string-style
variable, an error is generated.
.. warning::
This subroutine is deprecated and :f:subr:`set_string_variable`
should be used instead.
:p character(len=*) name: name of the variable
:p character(len=*) str: new value to assign to the variable
:to: :cpp:func:`lammps_set_variable`
--------
.. f:subroutine:: set_string_variable(name, str)
Set the value of a string-style variable.
.. versionadded:: 7Feb2024
This function assigns a new value from the string *str* to the string-style
variable *name*\ . If *name* does not exist or is not a string-style
@ -1406,7 +1433,23 @@ Procedures Bound to the :f:type:`lammps` Derived Type
:p character(len=*) name: name of the variable
:p character(len=*) str: new value to assign to the variable
:to: :cpp:func:`lammps_set_variable`
:to: :cpp:func:`lammps_set_string_variable`
--------
.. f:subroutine:: set_internal_variable(name, val)
Set the value of a internal-style variable.
.. versionadded:: 7Feb2024
This function assigns a new value from the floating-point number *val* to
the internal-style variable *name*\ . If *name* does not exist or is not
an internal-style variable, an error is generated.
:p character(len=*) name: name of the variable
:p read(c_double) val: new value to assign to the variable
:to: :cpp:func:`lammps_set_internal_variable`
--------
@ -2284,7 +2327,7 @@ Procedures Bound to the :f:type:`lammps` Derived Type
retrieved via :f:func:`get_last_error_message`. This allows to
restart a calculation or delete and recreate the LAMMPS instance when
a C++ exception occurs. One application of using exceptions this way
is the :ref:`lammps_shell`.
is the :ref:`lammps_gui`.
:to: :cpp:func:`lammps_config_has_exceptions`
:r has_exceptions:
@ -3038,14 +3081,6 @@ Procedures Bound to the :f:type:`lammps` Derived Type
This function can be used to query if an error inside of LAMMPS
has thrown a :ref:`C++ exception <exceptions>`.
.. note::
This function will always report "no error" when the LAMMPS library
has been compiled without ``-DLAMMPS_EXCEPTIONS``, which turns fatal
errors aborting LAMMPS into C++ exceptions. You can use the library
function :cpp:func:`lammps_config_has_exceptions` to check if this is
the case.
:to: :cpp:func:`lammps_has_error`
:r has_error: ``.TRUE.`` if there is an error.
:rtype has_error: logical
@ -3068,13 +3103,6 @@ Procedures Bound to the :f:type:`lammps` Derived Type
would happen only in a single MPI rank and thus may not be recoverable, as
other MPI ranks may be waiting on the failing MPI rank(s) to send messages.
.. note::
This function will do nothing when the LAMMPS library has been
compiled without ``-DLAMMPS_EXCEPTIONS``, which turns errors aborting
LAMMPS into C++ exceptions. You can use the function
:f:func:`config_has_exceptions` to check whether this is the case.
:p character(len=\*) buffer: string buffer to copy the error message into
:o integer(c_int) status [optional]: 1 when all ranks had the error,
2 on a single-rank error.

View File

@ -89,6 +89,7 @@ Packages howto
Howto_drude2
Howto_peri
Howto_manifold
Howto_rheo
Howto_spins
Tutorials howto
@ -101,6 +102,7 @@ Tutorials howto
Howto_cmake
Howto_github
Howto_lammps_gui
Howto_moltemplate
Howto_pylammps
Howto_wsl

View File

@ -1,42 +1,112 @@
2d simulations
==============
================
2d simulations
================
Use the :doc:`dimension <dimension>` command to specify a 2d simulation.
You must use the :doc:`dimension <dimension>` command to specify a 2d
simulation. The default is 3d.
Make the simulation box periodic in z via the :doc:`boundary <boundary>`
command. This is the default.
A 2d simulation box must be periodic in z as set by the :doc:`boundary
<boundary>` command. This is the default.
If using the :doc:`create_box <create_box>` command to define a
simulation box, set the z dimensions narrow, but finite, so that the
:doc:`create_atoms <create_atoms>` command will fill the 3d simulation
box with a single z plane of atoms - e.g.
Simulation boxes in LAMMPS can be either orthogonal or triclinic in
shape. Orthogonal boxes in 2d are a rectangle with 4 edges that are
each perpendicular to either the x or y coordinate axes. Triclinic
boxes in 2d are a parallelogram with opposite pairs of faces parallel
to each other. LAMMPS supports two forms of triclinic boxes,
restricted and general, which for 2d differ in how the box is oriented
with respect to the xy coordinate axes. See the :doc:`Howto triclinic
<Howto_triclinic>` for a detailed description of all 3 kinds of
simulation boxes.
Here are examples of using the :doc:`create_box <create_box>` command
to define the simulation box for a 2d system.
.. code-block:: LAMMPS
create_box 1 -10 10 -10 10 -0.25 0.25
# 2d orthogonal box using a block-style region
region mybox block -10 10 0 10 -0.5 0.5
create_box 1 mybox
If using the :doc:`read_data <read_data>` command to read in a file of
atom coordinates, set the "zlo zhi" values to be finite but narrow,
similar to the create_box command settings just described. For each
atom in the file, assign a z coordinate so it falls inside the
z-boundaries of the box - e.g. 0.0.
# 2d restricted triclinic box using a prism-style region with only xy tilt
region mybox prism 0 10 0 10 -0.5 0.5 2.0 0.0 0.0
create_box 1 mybox
Use the :doc:`fix enforce2d <fix_enforce2d>` command as the last
defined fix to ensure that the z-components of velocities and forces
are zeroed out every timestep. The reason to make it the last fix is
so that any forces induced by other fixes will be zeroed out.
# 2d general triclinic box using a primitive cell for a 2d hex lattice
lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 &
a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general
create_box 1 NULL 0 5 0 5 -0.5 0.5
Many of the example input scripts included in the LAMMPS distribution
Note that for 2d orthogonal or restricted triclinic boxes, the box has
a 3rd dimension which must straddle z = 0.0 in the z dimension.
Typically the width of box in the z dimension should be narrow,
e.g. -0.5 to 0.5, but that is not required. For a 2d general
triclinic box, the *a3* vector defined by the :doc:`lattice <lattice>`
command must be (0.0,0.0,1.0), which is its default value. Also the
*clo* and *chi* arguments of the :doc:`create_box <create_box>`
command must be -0.5 and 0.5.
Here are examples of using the :doc:`read_data <read_data>` command
to define the simulation box for a 2d system via keywords in the
header section of the data file. These are the same boxes as the examples
for the :doc:`create_box <create_box>` command
.. code-block:: LAMMPS
# 2d orthogonal box
-10 10 xlo xhi
0 10 ylo yhi
-0.5 0.5 zlo zhi # this is the default, so no need to specify
# 2d restricted triclinic box with only xy tilt
-10 10 xlo xhi
0 10 ylo yhi
-0.5 0.5 zlo zhi # this is the default, so no need to specify
2.0 0.0 0.0 xy xz yz
# 3d general triclinic box using a primitive cell for a 2d hex lattice
5 0 0 avec
2.5 4.3301270189 0 bvec
0 0 1 cvec # this is the default, so no need to specify
0 0 -0.5 abc origin # this is the default for 2d, so no need to specify
Note that for 2d orthogonal or restricted triclinic boxes, the box has
a 3rd dimension specified by the *zlo zhi* values, which must straddle
z = 0.0. Typically the width of box in the z dimension should be
narrow, e.g. -0.5 to 0.5, but that is not required. For a 2d general
triclinic box, the z component of *avec* and *bvec* must be zero, and
*cvec* must be (0,0,1), which is the default. The z component of *abc
origin* must also be -0.5, which is the default.
If using the :doc:`create_atoms <create_atoms>` command to create
atoms in the 2d simulation box, all the z coordinates of created atoms
will be zero.
If using the :doc:`read_data <read_data>` command to read in a data
file of atom coordinates for a 2d system, the z coordinates of all
atoms should be zero. A value within epsilon of zero is also allowed
in case the data file was generated by another program with finite
numeric precision, in which case the z coord for the atom will be set
to zero.
Use the :doc:`fix enforce2d <fix_enforce2d>` command as the last fix
defined in the input script. It ensures that the z-components of
velocities and forces are zeroed out every timestep. The reason to
make it the last fix is so that any forces added by other fixes will
also be zeroed out.
Many of the example input scripts included in the examples directory
are for 2d models.
.. note::
Some models in LAMMPS treat particles as finite-size spheres, as
opposed to point particles. See the :doc:`atom_style sphere <atom_style>` and :doc:`fix nve/sphere <fix_nve_sphere>`
commands for details. By default, for 2d simulations, such particles
will still be modeled as 3d spheres, not 2d discs (circles), meaning
opposed to point particles. See the :doc:`atom_style sphere
<atom_style>` and :doc:`fix nve/sphere <fix_nve_sphere>` commands
for details. By default, for 2d simulations, such particles will
still be modeled as 3d spheres, not 2d discs (circles), meaning
their moment of inertia will be that of a sphere. If you wish to
model them as 2d discs, see the :doc:`set density/disc <set>` command
and the *disc* option for the :doc:`fix nve/sphere <fix_nve_sphere>`,
:doc:`fix nvt/sphere <fix_nvt_sphere>`, :doc:`fix nph/sphere <fix_nph_sphere>`, :doc:`fix npt/sphere <fix_npt_sphere>`
commands.
model them as 2d discs, see the :doc:`set density/disc <set>`
command and the *disc* option for the :doc:`fix nve/sphere
<fix_nve_sphere>`, :doc:`fix nvt/sphere <fix_nvt_sphere>`,
:doc:`fix nph/sphere <fix_nph_sphere>`, :doc:`fix npt/sphere
<fix_npt_sphere>` commands.

View File

@ -1,6 +1,10 @@
CHARMM, AMBER, COMPASS, and DREIDING force fields
=================================================
A compact summary of the concepts, definitions, and properties of
force fields with explicit bonded interactions (like the ones discussed
in this HowTo) is given in :ref:`(Gissinger) <Typelabel2>`.
A force field has 2 parts: the formulas that define it and the
coefficients used for a particular system. Here we only discuss
formulas implemented in LAMMPS that correspond to formulas commonly used
@ -11,12 +15,42 @@ commands like :doc:`pair_coeff <pair_coeff>` or :doc:`bond_coeff
<bond_coeff>` and so on. See the :doc:`Tools <Tools>` doc page for
additional tools that can use CHARMM, AMBER, or Materials Studio
generated files to assign force field coefficients and convert their
output into LAMMPS input.
output into LAMMPS input. LAMMPS input scripts can also be generated by
`charmm-gui.org <https://charmm-gui.org/>`_.
See :ref:`(MacKerell) <howto-MacKerell>` for a description of the CHARMM
force field. See :ref:`(Cornell) <howto-Cornell>` for a description of
the AMBER force field. See :ref:`(Sun) <howto-Sun>` for a description
of the COMPASS force field.
CHARMM and AMBER
----------------
The `CHARMM force field
<https://mackerell.umaryland.edu/charmm_ff.shtml>`_ :ref:`(MacKerell)
<howto-MacKerell>` and `AMBER force field
<https://ambermd.org/AmberModels.php>`_ :ref:`(Cornell) <howto-Cornell>`
have potential energy function of the form
.. math::
V & = \sum_{bonds} E_b + \sum_{angles} \!E_a + \!\overbrace{\sum_{dihedral} \!\!E_d}^{\substack{
\text{charmm} \\
\text{charmmfsw}
}} +\!\!\! \sum_{impropers} \!\!\!E_i \\[.6em]
& \quad + \!\!\!\!\!\!\!\!\!\!\underbrace{~\sum_{pairs} \left(E_{LJ}+E_{coul}\right)}_{\substack{
\text{lj/charmm/coul/charmm} \\
\text{lj/charmm/coul/charmm/implicit} \\
\text{lj/charmm/coul/long} \\
\text{lj/charmm/coul/msm} \\
\text{lj/charmmfsw/coul/charmmfsh} \\
\text{lj/charmmfsw/coul/long}
}} \!\!\!\!\!\!\!\!+ \!\!\sum_{special}\! E_s + \!\!\!\!\sum_{residues} \!\!\!{\scriptstyle\mathrm{CMAP}(\phi,\psi)}
The terms are computed by bond styles (relationship between two atoms),
angle styles (between 3 atoms) , dihedral/improper styles (between 4
atoms), pair styles (non-covalently bonded pair interactions) and
special bonds. The CMAP term (see :doc:`fix cmap <fix_cmap>` command for
details) corrects for pairs of dihedral angles ("Correction MAP") to
significantly improve the structural and dynamic properties of proteins
in crystalline and solution environments :ref:`(Brooks)
<howto-Brooks>`. The AMBER force field does not include the CMAP term.
The interaction styles listed below compute force field formulas that
are consistent with common options in CHARMM or AMBER. See each
@ -31,10 +65,81 @@ command's documentation for the formula it computes.
* :doc:`pair_style <pair_charmm>` lj/charmm/coul/charmm
* :doc:`pair_style <pair_charmm>` lj/charmm/coul/charmm/implicit
* :doc:`pair_style <pair_charmm>` lj/charmm/coul/long
* :doc:`special_bonds <special_bonds>` charmm
* :doc:`special_bonds <special_bonds>` amber
The pair styles compute Lennard Jones (LJ) and Coulombic interactions
with additional switching or shifting functions that ramp the energy
and/or force smoothly to zero between an inner :math:`(a)` and outer
:math:`(b)` cutoff. The older styles with *charmm* (not *charmmfsw* or
*charmmfsh*\ ) in their name compute the LJ and Coulombic interactions
with an energy switching function (esw) :math:`S(r)` which ramps the energy
smoothly to zero between the inner and outer cutoff. This can cause
irregularities in pairwise forces (due to the discontinuous second
derivative of energy at the boundaries of the switching region), which
in some cases can result in complications in energy minimization and
detectable artifacts in MD simulations.
.. grid:: 1 1 2 2
.. grid-item::
.. math::
LJ(r) &= 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} -
\left(\frac{\sigma}{r}\right)^6 \right]\\[.6em]
C(r) &= \frac{C q_i q_j}{ \epsilon r}\\[.6em]
S(r) &= \frac{ \left(b^2 - r^2\right)^2 \left(b^2 + 2r^2 - 3{a^2}\right)}
{ \left(b^2 - a^2\right)^3 }\\[.6em]
E_{LJ}(r) &= \begin{cases}
LJ(r), & r \leq a \\
LJ(r) S(r), & a < r \leq b \\
0, &r > b
\end{cases} \\[.6em]
E_{coul}(r) &= \begin{cases}
C(r), & r \leq a \\
C(r) S(r), & a < r \leq b \\
0, & r > b
\end{cases}
.. grid-item::
.. image:: img/howto_charmm_ELJ.png
:align: center
The newer styles with *charmmfsw* or *charmmfsh* in their name replace
energy switching with force switching (fsw) for LJ interactions and
force shifting (fsh) functions for Coulombic interactions
:ref:`(Steinbach) <howto-Steinbach>`
.. grid:: 1 1 2 2
.. grid-item::
.. math::
E_{LJ}(r) = & \begin{cases}
4 \epsilon \sigma^6 \left(\frac{\displaystyle\sigma
^6-r^6}{\displaystyle r^{12}}-\frac{\displaystyle\sigma ^6}{\displaystyle a^6
b^6}+\frac{\displaystyle 1}{\displaystyle a^3 b^3}\right) & r\leq a \\
\frac{\displaystyle 4 \epsilon \sigma^6 \left(\sigma ^6
\left(b^6-r^6\right)^2-b^3 r^6 \left(a^3+b^3\right)
\left(b^3-r^3\right)^2\right)}{\displaystyle b^6 r^{12}
\left(b^6-a^6\right)} & a<r \leq b\\
0, & r>b
\end{cases}\\[.6em]
E_{coul}(r) & = \begin{cases}
C(r) \frac{\displaystyle (b-r)^2}{\displaystyle r b^2}, & r \leq b \\
0, & r > b
\end{cases}
.. grid-item::
.. image:: img/howto_charmmfsw_ELJ.png
:align: center
These styles are used by LAMMPS input scripts generated by
https://charmm-gui.org/ :ref:`(Brooks) <howto-Brooks>`.
.. note::
For CHARMM, newer *charmmfsw* or *charmmfsh* styles were released in
@ -43,17 +148,33 @@ command's documentation for the formula it computes.
<pair_charmm>` and :doc:`dihedral charmm <dihedral_charmm>` doc
pages.
.. note::
The TIP3P water model is strongly recommended for use with the CHARMM
force field. In fact, `"using the SPC model with CHARMM parameters is
a bad idea"
<https://matsci.org/t/using-spc-water-with-charmm-ff/24715>`_ and `"to
enable TIP4P style water in CHARMM, you would have to write a new pair
style"
<https://matsci.org/t/hybrid-pair-styles-for-charmm-and-tip4p-ew/32609>`_
. LAMMPS input scripts generated by Solution Builder on https://charmm-gui.org
use TIP3P molecules for solvation. Any other water model can and
probably will lead to false conclusions.
COMPASS
-------
COMPASS is a general force field for atomistic simulation of common
organic molecules, inorganic small molecules, and polymers which was
developed using ab initio and empirical parameterization techniques.
See the :doc:`Tools <Tools>` page for the msi2lmp tool for creating
LAMMPS template input and data files from BIOVIA's Materials Studio
files. Please note that the msi2lmp tool is very old and largely
unmaintained, so it does not support all features of Materials Studio
provided force field files, especially additions during the last decade.
You should watch the output carefully and compare results, where
possible. See :ref:`(Sun) <howto-Sun>` for a description of the COMPASS force
field.
developed using ab initio and empirical parameterization techniques
:ref:`(Sun) <howto-Sun>`. See the :doc:`Tools <Tools>` page for the
msi2lmp tool for creating LAMMPS template input and data files from
BIOVIA's Materials Studio files. Please note that the msi2lmp tool is
very old and largely unmaintained, so it does not support all features
of Materials Studio provided force field files, especially additions
during the last decade. You should watch the output carefully and
compare results, where possible. See :ref:`(Sun) <howto-Sun>` for a
description of the COMPASS force field.
These interaction styles listed below compute force field formulas that
are consistent with the COMPASS force field. See each command's
@ -70,14 +191,21 @@ documentation for the formula it computes.
* :doc:`special_bonds <special_bonds>` lj/coul 0 0 1
DREIDING is a generic force field developed by the `Goddard group <http://www.wag.caltech.edu>`_ at Caltech and is useful for
predicting structures and dynamics of organic, biological and main-group
inorganic molecules. The philosophy in DREIDING is to use general force
constants and geometry parameters based on simple hybridization
considerations, rather than individual force constants and geometric
parameters that depend on the particular combinations of atoms involved
in the bond, angle, or torsion terms. DREIDING has an :doc:`explicit hydrogen bond term <pair_hbond_dreiding>` to describe interactions involving a
hydrogen atom on very electronegative atoms (N, O, F).
DREIDING
--------
DREIDING is a generic force field developed by the `Goddard group
<http://www.wag.caltech.edu>`_ at Caltech and is useful for predicting
structures and dynamics of organic, biological and main-group inorganic
molecules. The philosophy in DREIDING is to use general force constants
and geometry parameters based on simple hybridization considerations,
rather than individual force constants and geometric parameters that
depend on the particular combinations of atoms involved in the bond,
angle, or torsion terms. DREIDING has an :doc:`explicit hydrogen bond
term <pair_hbond_dreiding>` to describe interactions involving a
hydrogen atom on very electronegative atoms (N, O, F). Unlike CHARMM
or AMBER, the DREIDING force field has not been parameterized for
considering solvents (like water).
See :ref:`(Mayo) <howto-Mayo>` for a description of the DREIDING force field
@ -110,21 +238,31 @@ documentation for the formula it computes.
----------
.. _Typelabel2:
**(Gissinger)** J. R. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. S. Karls, A. Stukowski, W. Im, H. Heinz, A. Kohlmeyer, and E. B. Tadmor, J Phys Chem B, 128, 3282-3297 (2024).
.. _howto-MacKerell:
**(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
**(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al (1998). J Phys Chem, 102, 3586 . https://doi.org/10.1021/jp973084f
.. _howto-Cornell:
**(Cornell)** Cornell, Cieplak, Bayly, Gould, Merz, Ferguson,
Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
**(Cornell)** Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman (1995). JACS 117, 5179-5197. https://doi.org/10.1021/ja00124a002
.. _howto-Steinbach:
**(Steinbach)** Steinbach, Brooks (1994). J Comput Chem, 15, 667. https://doi.org/10.1002/jcc.540150702
.. _howto-Brooks:
**(Brooks)** Brooks, et al (2009). J Comput Chem, 30, 1545. https://onlinelibrary.wiley.com/doi/10.1002/jcc.21287
.. _howto-Sun:
**(Sun)** Sun, J. Phys. Chem. B, 102, 7338-7364 (1998).
**(Sun)** Sun (1998). J. Phys. Chem. B, 102, 7338-7364. https://doi.org/10.1021/jp980939v
.. _howto-Mayo:
**(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
(1990).
**(Mayo)** Mayo, Olfason, Goddard III (1990). J Phys Chem, 94, 8897-8909. https://doi.org/10.1021/j100389a010

View File

@ -102,8 +102,19 @@ particles of different styles
| :doc:`dump image <dump_image>` | output body particle attributes as an image |
+------------------------------------------------+-----------------------------------------------------+
The pair styles defined for use with specific body styles are listed
in the sections below.
The pair styles currently defined for use with specific body styles
are listed in the sections below.
Note that for all the body styles, if the data file defines a general
triclinic box, then the orientation of the body particle and its
corresponding 6 moments of inertia and other orientation-dependent
values should reflect the fact the body is defined withing a general
triclinic box with edge vectors **A**,**B**,**C**. LAMMPS will rotate
the box to convert it to a restricted triclinic box. This operation
will also rotate the orientation of the body particles. See the
:doc:`Howto triclinic <Howto_triclinic>` doc page for more details.
The sections below highlight the orientation-dependent values specific
to each body style.
----------
@ -154,12 +165,18 @@ values consistent with the current orientation of the rigid body
around its center of mass. The values are with respect to the
simulation box XYZ axes, not with respect to the principal axes of the
rigid body itself. LAMMPS performs the latter calculation internally.
The coordinates of each sub-particle are specified as its x,y,z
displacement from the center-of-mass of the body particle. The
center-of-mass position of the particle is specified by the x,y,z
values in the *Atoms* section of the data file, as is the total mass
of the body particle.
Note that if the data file defines a general triclinic simulation box,
these sub-particle displacements are orientation-dependent and, as
mentioned above, should reflect the body particle's orientation within
the general triclinic box.
The :doc:`pair_style body/nparticle <pair_body_nparticle>` command can be used
with this body style to compute body/body and body/non-body interactions.
@ -226,6 +243,7 @@ values consistent with the current orientation of the rigid body
around its center of mass. The values are with respect to the
simulation box XYZ axes, not with respect to the principal axes of the
rigid body itself. LAMMPS performs the latter calculation internally.
The coordinates of each vertex are specified as its x,y,z displacement
from the center-of-mass of the body particle. The center-of-mass
position of the particle is specified by the x,y,z values in the
@ -270,6 +288,11 @@ A disk, whose diameter is 3.0, mass 1.0, is specified as follows:
0 0 0
3.0
Note that if the data file defines a general triclinic simulation box,
these polygon vertex displacements are orientation-dependent and, as
mentioned above, should reflect the body particle's orientation within
the general triclinic box.
The :doc:`pair_style body/rounded/polygon <pair_body_rounded_polygon>`
command can be used with this body style to compute body/body
interactions. The :doc:`fix wall/body/polygon <fix_wall_body_polygon>`
@ -335,7 +358,7 @@ faces are listed, so that M = 6 + 3\*N + 1.
The integer line has three values: number of vertices (N), number of
edges (E) and number of faces (F). The floating point line(s) list 6
moments of inertia followed by the coordinates of the N vertices (x1
to zN) as 3N values, followed by 2N vertex indices corresponding to
to zN) as 3N values, followed by 2E vertex indices corresponding to
the end points of the E edges, then 4\*F vertex indices defining F
faces. The last value is the diameter value = the rounded diameter of
the sphere that surrounds each vertex. The diameter value can be
@ -366,6 +389,7 @@ values consistent with the current orientation of the rigid body
around its center of mass. The values are with respect to the
simulation box XYZ axes, not with respect to the principal axes of the
rigid body itself. LAMMPS performs the latter calculation internally.
The coordinates of each vertex are specified as its x,y,z displacement
from the center-of-mass of the body particle. The center-of-mass
position of the particle is specified by the x,y,z values in the
@ -435,6 +459,11 @@ A sphere whose diameter is 3.0 and mass 1.0, is specified as follows:
The number of edges and faces for a rod or sphere must be listed,
but is ignored.
Note that if the data file defines a general triclinic simulation box,
these polyhedron vertex displacements are orientation-dependent and,
as mentioned above, should reflect the body particle's orientation
within the general triclinic box.
The :doc:`pair_style body/rounded/polhedron
<pair_body_rounded_polyhedron>` command can be used with this body
style to compute body/body interactions. The :doc:`fix

View File

@ -15,7 +15,10 @@ orientation for rotational models. This produces a stress-free initial
state. Furthermore, bonds are allowed to break under large strains,
producing fracture. The examples/bpm directory has sample input scripts
for simulations of the fragmentation of an impacted plate and the
pouring of extended, elastic bodies.
pouring of extended, elastic bodies. See :ref:`(Clemmer) <howto-Clemmer>`
for more general information on the approach and the LAMMPS implementation.
Example movies illustrating some of these capabilities are found at
https://www.lammps.org/movies.html#bpmpackage.
----------
@ -150,3 +153,9 @@ the following are currently compatible with BPM bond styles:
interactions, one will need to switch between different *special_bonds*
settings in the input script. An example is found in
``examples/bpm/impact``.
----------
.. _howto-Clemmer:
**(Clemmer)** Clemmer, Monti, Lechman, Soft Matter, 20, 1702 (2024).

View File

@ -1,7 +1,7 @@
Use chunks to calculate system properties
=========================================
In LAMMS, "chunks" are collections of atoms, as defined by the
In LAMMPS, "chunks" are collections of atoms, as defined by the
:doc:`compute chunk/atom <compute_chunk_atom>` command, which assigns
each atom to a chunk ID (or to no chunk at all). The number of chunks
and the assignment of chunk IDs to atoms can be static or change over
@ -148,14 +148,14 @@ Example calculations with chunks
Here are examples using chunk commands to calculate various
properties:
(1) Average velocity in each of 1000 2d spatial bins:
1. Average velocity in each of 1000 2d spatial bins:
.. code-block:: LAMMPS
compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced
fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out
(2) Temperature in each spatial bin, after subtracting a flow
2. Temperature in each spatial bin, after subtracting a flow
velocity:
.. code-block:: LAMMPS
@ -164,7 +164,7 @@ velocity:
compute vbias all temp/profile 1 0 0 y 10
fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out
(3) Center of mass of each molecule:
3. Center of mass of each molecule:
.. code-block:: LAMMPS
@ -172,7 +172,7 @@ velocity:
compute myChunk all com/chunk cc1
fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector
(4) Total force on each molecule and ave/max across all molecules:
4. Total force on each molecule and ave/max across all molecules:
.. code-block:: LAMMPS
@ -183,7 +183,7 @@ velocity:
thermo 1000
thermo_style custom step temp v_xave v_xmax
(5) Histogram of cluster sizes:
5. Histogram of cluster sizes:
.. code-block:: LAMMPS
@ -192,16 +192,16 @@ velocity:
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
(6) An example for using a per-chunk value to apply per-atom forces to
6. An example for using a per-chunk value to apply per-atom forces to
compress individual polymer chains (molecules) in a mixture, is
explained on the :doc:`compute chunk/spread/atom <compute_chunk_spread_atom>` command doc page.
(7) An example for using one set of per-chunk values for molecule
7. An example for using one set of per-chunk values for molecule
chunks, to create a second set of micelle-scale chunks (clustered
molecules, due to hydrophobicity), is explained on the
:doc:`compute reduce/chunk <compute_reduce_chunk>` command doc page.
(8) An example for using one set of per-chunk values (dipole moment
8. An example for using one set of per-chunk values (dipole moment
vectors) for molecule chunks, spreading the values to each atom in
each chunk, then defining a second set of chunks as spatial bins, and
using the :doc:`fix ave/chunk <fix_ave_chunk>` command to calculate an

View File

@ -339,8 +339,6 @@ Some common LAMMPS specific variables
- build LAMMPS with OpenMP support (default: ``on`` if compiler supports OpenMP fully, else ``off``)
* - ``BUILD_TOOLS``
- compile some additional executables from the ``tools`` folder (default: ``off``)
* - ``BUILD_LAMMPS_SHELL``
- compile the LAMMPS shell from the ``tools/lammps-shell`` folder (default: ``off``)
* - ``BUILD_DOC``
- include building the HTML format documentation for packaging/installing (default: ``off``)
* - ``CMAKE_TUNE_FLAGS``
@ -349,6 +347,8 @@ Some common LAMMPS specific variables
- when set to ``name`` the LAMMPS executable and library will be called ``lmp_name`` and ``liblammps_name.a``
* - ``FFT``
- select which FFT library to use: ``FFTW3``, ``MKL``, ``KISS`` (default, unless FFTW3 is found)
* - ``FFT_KOKKOS``
- select which FFT library to use in Kokkos-enabled styles: ``FFTW3``, ``MKL``, ``HIPFFT``, ``CUFFT``, ``KISS`` (default)
* - ``FFT_SINGLE``
- select whether to use single precision FFTs (default: ``off``)
* - ``WITH_JPEG``

View File

@ -178,7 +178,7 @@ the pairs. This can be done by using the *bias* keyword of the
To maintain the correct polarizability of the core/shell pairs, the
kinetic energy of the internal motion shall remain nearly constant.
Therefore the choice of spring force and mass ratio need to ensure
much faster relative motion of the 2 atoms within the core/shell pair
much faster relative motion of the two atoms within the core/shell pair
than their center-of-mass velocity. This allows the shells to
effectively react instantaneously to the electrostatic environment and
limits energy transfer to or from the core/shell oscillators.

View File

@ -36,7 +36,7 @@ the context of your application.
steps, invoke the command, etc.
In this scenario, the other code can be called as a library, as in
1., or it could be a stand-alone code, invoked by a system() call
1., or it could be a stand-alone code, invoked by a ``system()`` call
made by the command (assuming your parallel machine allows one or
more processors to start up another program). In the latter case the
stand-alone code could communicate with LAMMPS through files that the

View File

@ -1,8 +1,8 @@
Calculate diffusion coefficients
================================
The diffusion coefficient D of a material can be measured in at least
2 ways using various options in LAMMPS. See the examples/DIFFUSE
The diffusion coefficient :math:`D` of a material can be measured in at least
2 ways using various options in LAMMPS. See the ``examples/DIFFUSE``
directory for scripts that implement the 2 methods discussed here for
a simple Lennard-Jones fluid model.
@ -12,7 +12,7 @@ of the MSD versus time is proportional to the diffusion coefficient.
The instantaneous MSD values can be accumulated in a vector via the
:doc:`fix vector <fix_vector>` command, and a line fit to the vector to
compute its slope via the :doc:`variable slope <variable>` function, and
thus extract D.
thus extract :math:`D`.
The second method is to measure the velocity auto-correlation function
(VACF) of the system, via the :doc:`compute vacf <compute_vacf>`
@ -20,4 +20,4 @@ command. The time-integral of the VACF is proportional to the
diffusion coefficient. The instantaneous VACF values can be
accumulated in a vector via the :doc:`fix vector <fix_vector>` command,
and time integrated via the :doc:`variable trap <variable>` function,
and thus extract D.
and thus extract :math:`D`.

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