Compare commits

...

4440 Commits

Author SHA1 Message Date
2a068b248a Merge pull request #4645 from akohlmey/improve-tests-for-set
Add or improve unit test programs to improve test coverage and specifically check recent additions
2025-07-16 20:13:37 -04:00
58948b71a9 add tests for run command 2025-07-16 17:50:15 -04:00
f80b015e27 output message of incorrect exceptions 2025-07-16 17:50:05 -04:00
d1d8a019f9 improve error messages for run command 2025-07-16 17:49:15 -04:00
ab6de4c384 test velocity command 2025-07-16 14:17:32 -04:00
13d3cfa2b6 more test coverage for utils::bounds() 2025-07-16 12:52:18 -04:00
3daa0c0726 add tests for utils::logical() and utils::*numeric() 2025-07-16 09:54:25 -04:00
b37ebc6b33 add tests for utils::check_packages_for_style() 2025-07-16 07:23:41 -04:00
d542651d60 consolidate redundant functionality into one function 2025-07-16 07:15:42 -04:00
a19cb93558 add test for utils::point_to_error() 2025-07-16 04:41:37 -04:00
88cb95f2ad add tests for utils::print() with/without file pointer and with/without format 2025-07-15 20:04:47 -04:00
8c564460e6 Merge branch 'develop' into improve-tests-for-set 2025-07-15 19:32:02 -04:00
351df5488f Merge pull request #4660 from akohlmey/remove-deprecation-warnings
Remove various deprecation and removal warnings for the stable release
2025-07-15 14:10:28 -04:00
2584db928d Merge pull request #4591 from VeeEM/fix-elstop-kokkos
Create kokkos version of fix electron stopping
2025-07-15 13:48:41 -04:00
d555b88cb1 Merge pull request #4573 from ndtrung81/kokkos-vector-size
Support setting threads per atom with neigh/thread on with the KOKKOS package
2025-07-15 12:21:30 -04:00
a1f21f9ea5 Update GNU Makefile build 2025-07-15 09:09:53 -06:00
41987dd20f Merge branch 'develop' of github.com:lammps/lammps into fix-elstop-kokkos 2025-07-15 09:07:22 -06:00
7335aa7046 Add error checks to prevent unexpected behavior 2025-07-15 09:03:28 -06:00
90e59e8484 Merge branch 'develop' of github.com:lammps/lammps into kokkos-vector-size 2025-07-15 08:54:12 -06:00
da148ac331 Remove various deprecation and removal warnings for the stable release 2025-07-15 07:12:42 -04:00
f79dd13c9b Merge pull request #4655 from jmgoff/mliap_indexing
updated indexing for mliap ace and other small fixes
2025-07-15 02:28:40 -04:00
4bc3edc94d Merge pull request #4601 from weinbe2/feature/batch-snap-ilp
SNAP/Kokkos work batching and instruction-level parallelism optimizations
2025-07-15 00:53:23 -04:00
e6ca347b5c Merge branch 'feature/batch-snap-ilp' of github.com:weinbe2/lammps into feature/batch-snap-ilp 2025-07-14 22:20:03 -06:00
151b713a60 whitespace 2025-07-14 22:19:55 -06:00
73eaa41af0 Merge pull request #4659 from stanmoore1/kk_update_4.6.2
Update Kokkos library in LAMMPS to v4.6.2
2025-07-14 23:46:54 -04:00
4995cd372d Merge pull request #4657 from yotamfe/bosonic-pimd-doc
Documentation for fix pimd/*/bosonic
2025-07-14 22:38:19 -04:00
8d5c50db1f Merge branch 'develop' into feature/batch-snap-ilp 2025-07-14 21:40:47 -04:00
929bc35133 Added various documentation about the *_batch values to pair_snap_kokkos.h 2025-07-14 21:34:13 -04:00
af1d4b7bf9 Added self to contributors list (a few years late) 2025-07-14 21:25:02 -04:00
65f8f8695f Added documentation on initializing ulist_wrapper in evaluate_ui_jbend 2025-07-14 21:24:17 -04:00
dcdd57c130 Merge pull request #4658 from evoyiatzis/patch-1
Improve text in compute stress/mop rst file
2025-07-14 21:15:22 -04:00
625811cc11 Clean up an intermediate comment in compute_sna_grid_kokkos.h 2025-07-14 21:09:22 -04:00
f8124ebe4c Merge pull request #4615 from akohlmey/roll-back-neighbor-swap
Roll back neighbor swap changes and flag items that need fixing
2025-07-14 20:43:13 -04:00
587be04ebc Tuning for AMD GPUs 2025-07-14 15:05:29 -07:00
a6653a2097 Update docs 2025-07-14 14:16:21 -06:00
e2a1e6459f Revert changes to Makefile 2025-07-14 14:11:40 -06:00
51383ede3d Update cmake 2025-07-14 13:59:57 -06:00
1a7fdf0ab2 Update Kokkos library in LAMMPS to v4.6.2 2025-07-14 13:53:42 -06:00
37253a21e3 Merge branch 'develop' of github.com:lammps/lammps into feature/batch-snap-ilp 2025-07-14 13:40:37 -06:00
b0ae7f8112 Fix warning by removing parentheses 2025-07-14 13:40:29 -06:00
4ff44d2a2f remove whitespace 2025-07-13 21:38:39 +02:00
4112954399 Improve text and use consistent symbols for the local stress 2025-07-13 21:33:37 +02:00
c6f788df01 missing whitespace 2025-07-13 20:37:11 +03:00
58b367dcdd trailing whitespace 2025-07-13 20:35:53 +03:00
6296d5bab6 typo 2025-07-13 19:56:28 +03:00
5382f9c645 integrate bosonic pimd documentation removed at fcb2eee686 2025-07-13 19:12:11 +03:00
919ef6d369 Merge branch 'develop' into mliap_indexing 2025-07-12 06:39:13 -04:00
88b56e0668 Remove statement without effect 2025-07-12 06:38:21 -04:00
d863b4c55f Merge branch 'develop' into roll-back-neighbor-swap 2025-07-11 21:03:03 -04:00
d34d6b79e3 Merge pull request #4653 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-07-11 21:01:40 -04:00
e58290ee08 small doc update 2025-07-11 19:43:35 -04:00
906e3fd070 port support for per-type masses over from fix neighbor/swap 2025-07-11 19:18:28 -04:00
2a87321554 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2025-07-11 18:47:53 -04:00
47a0fe90ec make Atom::set_mass() as called from pair styles compatible with per-atom masses 2025-07-11 18:47:07 -04:00
363ad54383 make fix neighbor/swap compatible with per-atom masses 2025-07-11 18:45:53 -04:00
7a739d03f6 Merge pull request #4651 from akohlmey/lammps-gui-improvements
LAMMPS-GUI Improvements
2025-07-11 17:41:12 -04:00
0e6991659f Merge branch 'develop' of github.com:lammps/lammps into feature/batch-snap-ilp 2025-07-11 13:09:16 -07:00
9d15c19387 Merge pull request #4642 from evoyiatzis/patch-1
Fix parallel execution of bonds for compute stress/mop and stress/mop/profile
2025-07-11 13:34:11 -04:00
6152906deb Revert "Handle per-atom masses"
This reverts commit 29dc28c615.
2025-07-11 13:01:08 -04:00
29dc28c615 Handle per-atom masses 2025-07-11 10:44:19 -06:00
6d335fb5a6 Fixed assignment of local i in pick_i_swap_atom. i, j should both be owned not ghost atoms on swapping procs 2025-07-11 10:26:36 -06:00
8d4615f96f Fix issues in GNU Makefile build system with KOKKOS package 2025-07-11 09:00:01 -06:00
4a1a932df6 Merge branch 'develop' into patch-1 2025-07-11 15:43:07 +02:00
9b42419446 fix logic bug 2025-07-11 07:09:28 -04:00
1b3ebcc857 account for all large memory allocations 2025-07-11 06:44:55 -04:00
3efdf22850 use memory->create() and memory->destroy() consistently
memory->smalloc() and memory->sfree() are not type-safe
2025-07-11 06:35:53 -04:00
1ff281dd3c make sure i is initialized, use comm->me instead of calling MPI_Comm_rank() 2025-07-11 06:34:47 -04:00
491f5d96b8 id_center should be of type tagint 2025-07-11 06:33:46 -04:00
bc3c85b6a4 re-add fix neighbor/swap doc page 2025-07-11 06:20:57 -04:00
efd0510873 update example outputs 2025-07-11 06:00:34 -04:00
5eb61491f0 Merge branch 'develop' into roll-back-neighbor-swap 2025-07-11 05:54:47 -04:00
192901f6d0 add sanity check to error out when the index picking fails. 2025-07-11 05:54:36 -04:00
4ed5e585c1 silence some warnings, either by changing the code or adding // NOLINT comments 2025-07-11 04:56:13 -04:00
72b5f21c57 correct implementation of restart for fix sprint/chunk 2025-07-11 04:42:38 -04:00
57d4c472a0 Updated pick_i_swap_atom for MPI_Bcast to avoid memory access leak 2025-07-11 02:39:57 -06:00
3e8807bee0 Merge branch 'develop' into collected-small-changes 2025-07-11 00:10:01 -04:00
b751add30b Merge remote-tracking branch 'github/develop' into lammps-gui-improvements 2025-07-11 00:06:52 -04:00
5fc24a8ba3 Merge pull request #4654 from akohlmey/clang-tidy-updates
Apply code modernization suggestions from clang-tidy
2025-07-11 00:06:18 -04:00
fd410779ac silence compiler warnings and apply small corrections 2025-07-11 00:02:53 -04:00
597346413e add 'make upgrade' target to doc makefile to update python packages in docenv 2025-07-10 23:00:16 -04:00
dcd073f8bd add small tweaks to the LAMMPS-GUI banner and how it is shown 2025-07-10 22:42:24 -04:00
440dae924d only restore old paths, if they exist, i.e. we are called from within LAMMPS-GUI 2025-07-10 20:26:02 -04:00
36e6469c9e fully restore original script code 2025-07-10 20:25:22 -04:00
f211c9dae0 comment and jnum variable 2025-07-10 17:48:03 -06:00
acfe419de2 updated ij indexing for mliap ace 2025-07-10 17:04:47 -06:00
74fe512c67 Merge remote-tracking branch 'github/develop' into roll-back-neighbor-swap 2025-07-10 18:29:54 -04:00
3515c5c6be try to suppres clang-tidy warnings 2025-07-10 18:29:28 -04:00
02e60884a3 disable clang-tidy on some code 2025-07-10 17:48:05 -04:00
6ced05927f use using instead of typedef 2025-07-10 17:40:05 -04:00
8807f6aafc disable clang-tidy 2025-07-10 17:32:43 -04:00
216d2b692f define lattice_t with using =, and move definition into the MEAM class scope 2025-07-10 17:25:55 -04:00
0b6444b9e5 replace #define and typedef with using = 2025-07-10 17:20:33 -04:00
8b4c6f7f98 exclude typedef struct from clang-tidy processing 2025-07-10 17:20:13 -04:00
3dba42f62e should use utils::inumeric for integer arguments 2025-07-10 17:08:34 -04:00
93efb0fcb7 disable clang-tidy checking 2025-07-10 17:03:15 -04:00
4f7777cc10 remove most standard C++ class functions, the struct is C-style. 2025-07-10 16:35:24 -04:00
445d10ae5a modernize by replacing C-style typedefs with C++ style using = 2025-07-10 15:58:45 -04:00
cde0d3dcdc another const cast to make the IBM LLVM compiler happy 2025-07-10 15:16:56 -04:00
05c044a712 whitespace 2025-07-10 13:00:45 -06:00
ff58d0319e Fix more issues with compute sna/grid/kk 2025-07-10 12:58:06 -06:00
1aabe28858 use qualified auto and using 2025-07-10 05:54:27 -04:00
90ad9e44f1 cosmetic suggestions from GitHub Copilot 2025-07-10 05:05:37 -04:00
fed5564520 add ticks to range sliders 2025-07-10 04:33:31 -04:00
d5b137c4e3 enable option to open the tutorial webpage for tutorial 8 2025-07-10 04:05:58 -04:00
1c8cf634db fix halt may only reset the timer timeout, if it trigged the timeout itself 2025-07-10 04:05:34 -04:00
61c6d32861 minor doc tweaks for readability 2025-07-10 01:01:41 -04:00
bd4c07772b update docs and screen shot 2025-07-10 00:50:19 -04:00
c70bda0cd2 add a couple horizontal separator lines 2025-07-10 00:44:05 -04:00
e517ee25d5 avoid uninitialized access to normflag 2025-07-10 00:43:39 -04:00
cfae257f8f fix typo 2025-07-10 00:12:48 -04:00
8a8a3228f3 avoid crashes when switching to a new file or a new empty document and close all windows 2025-07-10 00:10:18 -04:00
23343d5e5c add tooltips 2025-07-10 00:09:27 -04:00
2a25ce9d6e spelling a re-wrap 2025-07-10 00:09:10 -04:00
31ede566e9 intergrate the rest of simon's suggestions 2025-07-10 00:08:52 -04:00
35fcf5775c hack trying to appease macOS 2025-07-09 23:16:34 -04:00
054939bb23 Merge remote-tracking branch 'github/develop' into lammps-gui-improvements 2025-07-09 22:22:42 -04:00
a2971c5e42 Merge pull request #4650 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-07-09 22:21:58 -04:00
ecfe7046e3 add rangeslider to chart window to plot subsets of data 2025-07-09 22:17:50 -04:00
9f11057b47 Revert "add stop button to chart display"
This reverts commit 1bb746aa87.
2025-07-09 21:29:31 -04:00
1bb746aa87 add stop button to chart display 2025-07-09 21:18:40 -04:00
7a98929a67 add rangeslider custom widget 2025-07-09 21:18:27 -04:00
a0b5e8ff73 refactor chart viewer title line. Now has two rows. display units and thermo norm 2025-07-09 20:08:24 -04:00
e09a87d121 remove rubberband feature since undoing the zoom doesn't work properly 2025-07-09 16:40:05 -04:00
0c8ac043e6 Merge branch 'develop' into collected-small-changes 2025-07-09 10:43:32 -04:00
6fef2326d6 Merge pull request #4649 from akohlmey/use-qualified-auto
Use qualified auto for improved readability
2025-07-09 10:42:00 -04:00
dec1fd2b92 apply and edit some changes suggested by @simongravelle 2025-07-09 10:41:08 -04:00
8f50f4fc96 Merge pull request #4638 from stanmoore1/backport_bugfixes
Backport bugfixes from #4608
2025-07-09 09:07:51 -04:00
c5c409062c Remove unused vars 2025-07-08 17:26:28 -06:00
a9c3eb5206 whitespace 2025-07-08 16:40:50 -06:00
cfe813c963 Fix bugs in Kokkos compute sna/grid 2025-07-08 16:16:47 -06:00
7ac03b6c9e fix crash on trying to free a NULL communicator 2025-07-08 16:17:48 -04:00
0cd2dac112 set LAMMPS-GUI version number to 1.7 2025-07-08 08:42:50 -04:00
711886034a to update the time stamp on the app bundle purge it during configure 2025-07-08 08:19:01 -04:00
6387689979 redesign the General settings preference tab and add defaults for tutorial buttons 2025-07-08 06:41:11 -04:00
b500c879f5 must use recursive delete on app bundle folder 2025-07-08 04:50:25 -04:00
4d9861e6a2 automatically quit the entire application when closing the editor window
avoid crashes and segfaults when simulation is still running
2025-07-08 04:40:44 -04:00
8aaf77c271 there is not much meaning in completing capture in the destructor.
the user should have already called EndCapture() if needed.
calling it in the destructor just causes memory corruption.
2025-07-08 04:34:41 -04:00
ace1b8026c must use a platform specific copy command 2025-07-08 03:01:16 -04:00
2b8b84788b fix grammar and reformat 2025-07-08 02:09:30 -04:00
7a2c051b69 delete app bundle folder. It will be recreated by macdeplotqt. 2025-07-07 21:35:54 -04:00
5ec4a6bd2e prevent using Restart LAMMPS while running and rename to Relaunch LAMMPS 2025-07-07 21:24:32 -04:00
4b2a04aab8 document Relaunch LAMMPS Instance 2025-07-07 21:21:16 -04:00
fd98ef2a59 fix typo 2025-07-07 20:22:06 -04:00
892c969ee6 save and restore PATH and LD_LIBRARY_PATH, so that xdg-open can launch a native executable 2025-07-07 20:21:54 -04:00
fd86feae7f Merge branch 'develop' into backport_bugfixes 2025-07-07 13:45:51 -06:00
a2439038c6 Fix issue with Kokkos SNAP on GPUs 2025-07-07 12:44:01 -06:00
0502d421b0 must use error->one() since only rank 0 is active at this point 2025-07-07 12:36:01 -04:00
1dc8c2d9a2 add a timeout option to the geturl command and set a default of 5 mins
the library default is to wait forever. Also the limit for connecting
was reduced to 30 seconds from 300.
2025-07-07 11:24:14 -04:00
5a158d59b4 small tweaks to error message boxes 2025-07-07 11:00:17 -04:00
25556a1bc1 add unit tests for additional conditions for splitting strings 2025-07-07 07:10:22 -04:00
adc202bd71 simplify 2025-07-07 06:39:15 -04:00
e4f9874974 simplify 2025-07-07 06:37:55 -04:00
adead22aef align with common conventions for pages documenting multiple similar styles 2025-07-07 05:46:25 -04:00
40b510c2c2 avoid crash when splitting line with incomplete quoting into words 2025-07-07 05:45:48 -04:00
ea939f6355 update changelog 2025-07-07 05:44:23 -04:00
477c3524b9 must clear variables before starting a new run since "clear" does not delete them 2025-07-07 05:38:57 -04:00
806000c9ee avoid crash from out-of-range access to string for partially quoted text 2025-07-07 05:18:01 -04:00
ddfc3f2d0b fix typo 2025-07-07 03:50:47 -04:00
9f0551104a display new LAMMPS-GUI banner image in docs and empty editor windows 2025-07-07 03:38:19 -04:00
a239e2b900 make sure these variables are always initialized 2025-07-06 14:03:50 -04:00
916655e382 use using 2025-07-06 13:57:28 -04:00
8ba1b9b122 use bool literals instead of integer constants 2025-07-06 13:57:19 -04:00
eaa3159c7f reorder initializer 2025-07-06 13:57:04 -04:00
fbf8856978 Mention LAMMPS-GUI as an example application for liblammpsplugin.h/.c 2025-07-06 13:41:16 -04:00
8e75c387ec modernize 2025-07-06 13:40:33 -04:00
72d73c4c45 remove unused class member and dead code 2025-07-06 13:05:36 -04:00
cdded2d51c improve error message 2025-07-06 05:25:03 -04:00
0d973d5a80 remove dead code and apply changes for clean compilation w/o OpenMP 2025-07-06 05:18:40 -04:00
449c59cf49 implement suggestion from GitHub CoPilot to make code consistent and simpler 2025-07-06 04:51:18 -04:00
1bf8f51664 add missing screenshot 2025-07-06 03:57:24 -04:00
50d15cded3 make precedence explicit 2025-07-06 03:18:46 -04:00
6722e55d5e should include C-math header since we use round() 2025-07-06 03:12:05 -04:00
44922cea16 show warning dialog at end of run, if I/O buffer usage was very high 2025-07-06 03:07:35 -04:00
da8ce40ffd track buffer usage and add API to query the maximum buffer use ratio 2025-07-06 03:05:46 -04:00
64080dce3e reduce overhead and avoid stalling by increasing the pipe buffer from 1k to the maximum of 64k 2025-07-06 01:25:08 -04:00
2d9f244c6c update LAMMPS-GUI documentation for most recent changes 2025-07-06 00:01:42 -04:00
01aa952968 update help index 2025-07-05 23:13:17 -04:00
7a74cad978 Merge remote-tracking branch 'github/develop' into lammps-gui-improvements 2025-07-05 23:11:32 -04:00
dd484cbde5 small improvements suggested by GitHub Copilot 2025-07-05 23:10:43 -04:00
1d377a1f26 add a CPU usage percentage indicator to the status bar 2025-07-05 19:49:32 -04:00
38d4c58115 support setting intel precision and gpu neigh and pair/only from preferences 2025-07-05 18:42:45 -04:00
ddc10064a2 set LAMMPS-GUI version to 1.6.15 2025-07-05 18:41:18 -04:00
e40d9c0eb2 resolve hotkey conflict for selecting GPU accelerator package 2025-07-05 14:08:42 -04:00
7863df8a76 update nthreads text field when accelerator is selected
the text is reset to 1 and editing disabled for None and Opt
2025-07-05 13:25:46 -04:00
2d8f3aaede document short-circuiting for ternary() variable function 2025-07-05 12:27:09 -04:00
b3eaf7e7f4 cache spcpu and tpcpu values so these thermo keywords can be used multiple times 2025-07-05 11:57:59 -04:00
7505ae3628 make handling of threads and accelerator selection more consistent, also buffer length 2025-07-05 10:49:22 -04:00
cbfedda573 only reset cached thermo data if first run or thermo style changed
this preserves last data from previous run for properties that are zero on the first step
2025-07-05 08:32:56 -04:00
8fbaf43319 make sphinx happy 2025-07-04 19:50:01 -04:00
1bf9fac5bb Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-07-04 19:49:10 -04:00
276a6dcaa3 Merge remote-tracking branch 'github/develop' into patch-1 2025-07-04 19:44:25 -04:00
d20ef0d734 modify processing of ternary() so that only the first and one of the other arguments are evaluated 2025-07-04 19:09:52 -04:00
a85906236c fix typo 2025-07-04 18:14:08 -04:00
7ce7990bf9 Merge remote-tracking branch 'github/develop' into roll-back-neighbor-swap 2025-07-04 18:11:34 -04:00
b11c549dbd remove "fixed" comments, small stype updates 2025-07-04 18:09:57 -04:00
3dc92f8cc4 update handling of threads. make nthreads and LammpsGui class member 2025-07-04 17:46:51 -04:00
80b41eea9d Fixed cleanup TODO and tested functionality. MPI memory leak remains. 2025-07-04 15:39:22 -06:00
6795a2a066 Merge pull request #4019 from draneyj/develop
add hybrid monte carlo fix
2025-07-04 17:27:19 -04:00
70ba11e6bc small performance optimization by using std::move() 2025-07-04 17:12:48 -04:00
5fa2b88011 fix unlikely memory leaks 2025-07-04 17:12:27 -04:00
d34fc34e7b small optimization by using std::move() 2025-07-04 17:05:10 -04:00
553f2e0507 use move semantics 2025-07-04 17:00:28 -04:00
3218ad7c2a try to optimize by using emplace back 2025-07-04 17:00:18 -04:00
da0de5b81c guarantee that class members are not accessed uninitialized 2025-07-04 16:59:50 -04:00
a96d1f6363 tweak message to remain compatible with derived classes calling the same function 2025-07-04 16:30:13 -04:00
459bce40ad move constants from header to implementation, replace defines, and remove unused ones 2025-07-04 16:29:54 -04:00
602dd3b81b improve errors. add warning if non-nve time integration is used w/o rigid 2025-07-04 16:17:22 -04:00
479f7b9c1e spelling and add missing reference declarations to citations 2025-07-04 16:12:59 -04:00
d01478b2b1 remove one too many static added 2025-07-04 11:36:07 -04:00
d587e49403 add further guidance to documentation 2025-07-04 10:16:23 -04:00
3b6dbe6344 use qualified auto 2025-07-04 07:09:51 -04:00
ff3159cc76 use qualified auto 2025-07-04 07:02:07 -04:00
0ac62fdb28 flag statements and sections of code that we don't want to modernize 2025-07-04 06:58:37 -04:00
1462165b36 using macro instead of c++ function for nested min() 2025-07-04 06:46:05 -04:00
9b90b68e35 use using instead of typedef 2025-07-04 06:44:56 -04:00
fc6a643e53 make local functions static so their symbols are not exported 2025-07-04 06:26:12 -04:00
437e19c968 remove unused "using" statements 2025-07-04 06:08:25 -04:00
b0757e71ef Merge branch 'lammps:develop' into patch-1 2025-07-04 11:21:29 +02:00
03345a5999 improve errors 2025-07-04 05:10:45 -04:00
9a7c08c7e9 delete is safe for null pointers 2025-07-04 05:10:30 -04:00
c6c7131088 make constexpr and static 2025-07-04 05:09:44 -04:00
0e03822d59 hide global variables in anonymous namespace 2025-07-04 05:09:25 -04:00
68c2085f7a improve errors 2025-07-04 05:09:00 -04:00
281483bb25 don't truncate bigint to int 2025-07-04 05:08:44 -04:00
86731f99f6 new thermo keyword cpuuse for %CPU utilization 2025-07-04 04:40:28 -04:00
fedf0949db make some thermo settings accessible 2025-07-04 04:12:26 -04:00
d93002af6c improve error messages 2025-07-03 19:47:29 -04:00
31f1438a04 whitespace 2025-07-03 18:08:16 -04:00
d5f15d9151 Merge branch 'develop' into draneyj/develop 2025-07-03 18:07:18 -04:00
eb2600e05d clarify documentation 2025-07-03 17:23:24 -04:00
49bac65477 Merge branch 'develop' into improve-tests-for-set 2025-07-03 17:01:31 -04:00
78809d8f16 Merge pull request #4646 from akohlmey/lammps-gui-avoid-plot-slowdown
Reduce Impact of LAMMPS-GUI ChartViewer Performance Regression and Apply clang-tidy Fixes
2025-07-03 16:56:56 -04:00
acb2cbaaee update example log files 2025-07-03 14:38:46 -06:00
c69d95fd31 Merge branch 'develop' into patch-1 2025-07-03 23:07:12 +03:00
4bf7191833 whitespace 2025-07-03 15:48:01 -04:00
2cc7e0d1a4 fix handling cases with flags enabled but no potentials defined 2025-07-03 22:46:11 +03:00
df20f1f3fd update and relax epsilon ARM64 2025-07-03 15:45:04 -04:00
7ccaa18543 Merge branch 'develop' into lammps-gui-avoid-plot-slowdown 2025-07-03 15:40:28 -04:00
65f822ce72 plug memory leaks 2025-07-03 15:25:37 -04:00
a4e536e584 Merge pull request #4637 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-07-03 15:12:38 -04:00
ac182284dd memory management matching comm classes 2025-07-03 14:09:07 -04:00
07567a6cc6 change defaults 2025-07-03 10:46:21 -04:00
9fd39a0657 add OpenMP parallelization to smoothing loop 2025-07-03 10:29:37 -04:00
466ffd82a3 add missing weblink 2025-07-03 09:17:39 -04:00
2c8c2bf278 rewrite based on suggestions from @simongravelle 2025-07-03 09:17:24 -04:00
04b5f042d2 Merge branch 'develop' into improve-tests-for-set 2025-07-03 05:42:23 -04:00
e999aaf4f3 Merge remote-tracking branch 'github/develop' into lammps-gui-avoid-plot-slowdown 2025-07-03 05:40:14 -04:00
c5e153ae29 update help index for recently added commands 2025-07-03 05:30:14 -04:00
c1f505f15f apply fixes suggested by GitHub Copilot 2025-07-03 05:24:02 -04:00
5118e38418 update changelog 2025-07-03 04:42:35 -04:00
6c709043b2 fix a couple bugs in processing special bonds JSON data for molecules 2025-07-03 04:27:44 -04:00
5ccbedb3c9 recover compilation when loading LAMMPS library dynamically 2025-07-03 03:46:17 -04:00
b45b6a74d1 improve and modernize using clang-tidy 2025-07-03 03:38:48 -04:00
436af21334 use qualified auto 2025-07-02 23:19:30 -04:00
b19e84541a update change log 2025-07-02 23:00:00 -04:00
4316267cc8 modernize calc_sgsmooth() and related functions and classes 2025-07-02 22:57:39 -04:00
705fc2aaf7 improve formatting of "about" text when LAMMPS is running. 2025-07-02 22:42:36 -04:00
98fd8e5f56 small performance tweak and make compatible with QT 5.12.x on Ubuntu 20.04LTS 2025-07-02 22:36:27 -04:00
a17aeca1ee discuss slowdown of simulations with too frequent thermo output and enabled smoothing 2025-07-02 22:11:24 -04:00
dfdac70dc6 speed up smoothed data series updates by avoiding append. 2025-07-02 22:10:47 -04:00
9994608532 we get better multi-thread performance without processor affinity 2025-07-02 22:05:58 -04:00
3334267265 fix example 2025-07-02 20:47:19 -04:00
875ac608a6 Only plot raw data in chartviewer by default.
Smoothing can slow down simulations with frequent thermo output or long runs.
One can always switch to smoothed or both outputs after the run (and back).
2025-07-02 20:27:48 -04:00
87a5898696 add domain calls 2025-07-02 19:54:05 -04:00
76d6117c6f add tests for fix set to tests for changing types and charges 2025-07-02 18:38:37 -04:00
f0620006f0 add explicit comm exchange 2025-07-02 18:03:02 -04:00
ba5d1b80d7 fix valgrind complaints 2025-07-02 17:51:38 -04:00
9741952ad5 ensure that flags are initialized across classes. use more C++ style variable declarations 2025-07-02 17:22:22 -04:00
a49c747519 simplify and make compatible with larger systems. 2025-07-02 17:09:05 -04:00
2f5d51e7cd cosmetic tweaks and generate log files 2025-07-02 15:02:32 -06:00
d9d5a4d8ec must use Error::one() when only on one MPI rank 2025-07-02 07:33:35 -04:00
e7a124206a add example command line for using install.py manually 2025-07-02 07:32:26 -04:00
3f92bad7f5 update description of using install.py to be more specific. mention -w flag 2025-07-01 09:29:07 -04:00
a1261a54c3 randomize solvent velocities as well when fix rigid enabled 2025-07-01 09:28:33 -04:00
74ed5134b3 no longer need to check for tags 2025-07-01 09:27:52 -04:00
004267c6ec fixed documentation 2025-07-01 09:26:52 -04:00
f7b911181e fix for parallel angle and dihedral stress calculation 2025-07-01 14:13:30 +02:00
acbdceb087 replace typedef with using 2025-06-30 23:32:58 -04:00
42e7b801d4 update code for default destructors 2025-06-30 23:32:32 -04:00
a79b945128 add explicit scope when calling virtual functions inside constructor or destructor
virtual dispatch is not available in those cases
2025-06-30 22:55:22 -04:00
b972821896 Merge branch 'develop' of github.com:lammps/lammps into backport_bugfixes 2025-06-30 20:51:38 -06:00
cb52abd965 no need for std::move on a const reference. used auto 2025-06-30 22:36:22 -04:00
d4eb800739 remove redundant static qualifiers 2025-06-30 22:32:21 -04:00
60b9fdf897 improve error messages 2025-06-30 22:17:51 -04:00
a2054657c7 determine argument offset value to be used with error pointers 2025-06-30 22:14:24 -04:00
3cf9b018a7 make certain that variables are initialized before used 2025-06-30 21:06:36 -04:00
f5c31f9df2 remove erroneous comm_forward = 12 2025-06-30 18:24:54 -04:00
5143423e92 remove old log files 2025-06-30 18:17:57 -04:00
97653e2626 fix examples 2025-06-30 18:16:30 -04:00
57fda06ecd ensure fix_rigid images are correct after false exchange 2025-06-30 17:09:34 -04:00
fff0b62aad track KE when momenta aren't resampled 2025-06-30 17:06:06 -04:00
de41dd53b2 make enum use consistent by moving it to the header 2025-06-30 16:31:53 -04:00
de97c8acdd correct function names 2025-06-30 16:09:34 -04:00
f547ddd2e9 fix a couple more cut-n-paste bugs 2025-06-30 15:55:56 -04:00
e6673ca64d remove redundant comparison 2025-06-30 15:37:19 -04:00
3e7f52ea91 fix bug detected by static code analysis 2025-06-30 15:27:33 -04:00
792d0e4d84 use anonymous namespace 2025-06-30 15:20:17 -04:00
e5374ce8e5 refactor/modernize handling of internal fixes in pair styles srp and srp/react 2025-06-30 14:42:08 -04:00
58a911c6a0 update use of const for known keywords 2025-06-30 10:07:27 -04:00
e74aeafbfb remove whitespace from compute_stress_mop_profile.cpp 2025-06-30 16:01:32 +02:00
1d3030023f use qualified auto and improve errors 2025-06-30 09:52:11 -04:00
f1215e904a replace typedef with using 2025-06-30 09:46:22 -04:00
85f1eebd73 modernize by using anonymous namespace 2025-06-30 09:45:15 -04:00
0f5d18917c Fix bond contributions to compute stress/mop/profile 2025-06-30 15:35:03 +02:00
23f941e0bb Fix parallel execution of bonds for compute stress/mop 2025-06-30 15:27:15 +02:00
22ec573638 avoid uninitialized access, remove commented out code 2025-06-30 09:00:06 -04:00
7c35e8407c avoid uninitialized access 2025-06-29 23:14:55 -04:00
4680fa669c relax epsilon to pass tests on macOS 2025-06-29 22:40:52 -04:00
3ae21e0bfb Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-06-29 22:32:43 -04:00
63fcdb6e52 Merge pull request #4634 from akohlmey/static-analysis-updates
Updates for LAMMPS from static code analysis
2025-06-29 22:25:15 -04:00
cd44539429 modernize by using anonymous namespace 2025-06-29 19:56:42 -04:00
47332f8e46 no need to make member const 2025-06-29 19:28:00 -04:00
fee96bc777 make double to bool/int/tagint conversions explicit 2025-06-29 19:10:29 -04:00
b279ba9a40 follow one definition rule by moving functions into class definition 2025-06-29 18:47:40 -04:00
087b9a3b6e bugfix for improper style class2/kk taken from PR 4593
passes unit test for Kokkos/OpenMP
2025-06-29 18:18:24 -04:00
5a468fc05c Merge branch 'develop' into backport_bugfixes 2025-06-29 18:11:13 -04:00
9b378fadf4 Merge branch 'develop' into collected-small-changes 2025-06-29 02:41:19 -04:00
ed712e053f recognize a couple more Windows build numbers 2025-06-28 09:55:20 -04:00
0c68c4d493 Merge pull request #4636 from wapisani/fix_bond_create_inter_intra
Add support for inter-/intra-molecular bonding to fix bond/create
2025-06-28 09:43:54 -04:00
3e12c3f773 flag move constructor and swap operator as noexcept for performance 2025-06-28 05:21:25 -04:00
7bc86899b3 type fixes and error message updates 2025-06-28 05:20:49 -04:00
ac7013432b don't use double as boolean, use qualified auto 2025-06-28 04:48:47 -04:00
039fb94faa improve errors and apply clang-format 2025-06-28 04:45:02 -04:00
8c64b2090f process tilt parameters correctly and consistent with FixNH class 2025-06-28 04:38:10 -04:00
77417e2223 use correct type 2025-06-28 04:37:24 -04:00
2e4f29c900 use correct type and converions function 2025-06-28 04:24:46 -04:00
8dae514e03 use correct types 2025-06-28 04:06:36 -04:00
22a42446d3 tap_flag is integer and thus we should use utils::inumeric() 2025-06-28 03:58:27 -04:00
2968bfa8d9 nsvector_total should be an int 2025-06-28 03:53:34 -04:00
669f60b692 use qualified auto and avoid redundant types 2025-06-28 03:51:09 -04:00
1bdf30103f used correct type parser and make conversions explicit 2025-06-28 03:50:51 -04:00
4992caed95 more modernization of DIFFRACTION package 2025-06-28 03:37:42 -04:00
f425f2ab26 modernize 2025-06-28 03:30:10 -04:00
309e374867 use utils::inumeric() for parsing integers, using qualified auto 2025-06-28 03:19:17 -04:00
d5a344a5c8 modernize 2025-06-28 03:18:52 -04:00
481749dc35 modernize argument processing and error messages 2025-06-28 03:07:17 -04:00
14b1241db2 use utils::inumeric() for reading integer arguments 2025-06-28 03:05:03 -04:00
4d26bd5fd5 ndouble is an int 2025-06-28 03:04:44 -04:00
5fe4c9149f use qualified auto 2025-06-28 03:04:33 -04:00
a24aeb3fc6 icut, jcut should be doubles 2025-06-28 03:04:23 -04:00
0cd4ea4d04 don't use doubles as boolean 2025-06-28 02:34:58 -04:00
8726deb9b6 newton_bond is int not double 2025-06-28 02:34:39 -04:00
46561f57bd use utils::inumeric() to parse integers 2025-06-28 02:34:22 -04:00
aacc30c4d7 no benefit from declaring _tid const 2025-06-28 02:33:55 -04:00
2833b7adbd make cast to double explicit 2025-06-28 02:33:38 -04:00
11c4a8b49c use math.h function without std:: prefix 2025-06-28 02:22:25 -04:00
c28869124b don't truncate cuberoot to single precision 2025-06-28 02:22:09 -04:00
bd98354691 make cast to double precision explicit 2025-06-28 02:17:25 -04:00
109aec74ea remove one more implicit truncation of precision. update unit test again. 2025-06-28 02:06:49 -04:00
588ed11e85 avoid comparison with different signedness 2025-06-28 02:01:48 -04:00
be5602c44f apply clang-format 2025-06-28 02:01:32 -04:00
e78d85725b convert to internal linkage with anonymous namespace 2025-06-28 02:01:23 -04:00
1b36451f6a modernize. turn static inline into just inline 2025-06-27 23:58:11 -04:00
d168de00db silence compiler warnings 2025-06-27 23:57:37 -04:00
0c6ce8f23c fix typo 2025-06-27 23:27:44 -04:00
3ffe858a8b remove dead code and protect from neighbor list with special neighbors
this addresses most of issue #4639
2025-06-27 23:25:15 -04:00
c279d194dc be paranoid about invalid molecule templates 2025-06-27 22:47:50 -04:00
6b58058bca memory is accumulated in doubles not ints 2025-06-27 22:38:48 -04:00
0b73966a23 avoid unneeded copies by using const references where allowed 2025-06-27 22:36:23 -04:00
5cecfb5c4d use explicit type cast 2025-06-27 22:20:41 -04:00
d2d613c8b4 bugfix: incorrect application of abs() to doubles
@jtclemm this looks like a real bug.
Can you please check how much of an impact this change has?
2025-06-27 22:20:32 -04:00
8ddd474145 use qualified auto, make implicit type casts explicit 2025-06-27 22:13:44 -04:00
a8fe7e9252 modernize 2025-06-27 22:13:16 -04:00
3dd0971aeb update unit test reference 2025-06-27 22:06:09 -04:00
888543ce6d improve loopup accuracy 2025-06-27 22:05:40 -04:00
58e67e95f8 Merge remote-tracking branch 'github/develop' into static-analysis-updates 2025-06-27 21:48:40 -04:00
e41fb67903 update unit tests for changes to tabulated coulomb 2025-06-27 21:48:03 -04:00
a8d4666233 more accurate processing of coulomb tables through explicit type casts 2025-06-27 21:47:53 -04:00
4397a62be9 Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-06-27 18:59:45 -04:00
575411c92c Merge pull request #4580 from stanmoore1/kk_update_4.6.1
Update Kokkos library in LAMMPS to v4.6.1
2025-06-27 15:05:16 -04:00
e139d935ab missed one conversion to general fix style 2025-06-27 14:26:16 -04:00
786f113d3e whitespace 2025-06-27 14:24:11 -04:00
6052744175 modernize error messages 2025-06-27 14:21:42 -04:00
d1ea7fa678 Small tweak from @cjknight for Aurora performance 2025-06-27 10:11:09 -06:00
bfb26e7ee0 Merge branch 'develop' of github.com:lammps/lammps into feature/batch-snap-ilp 2025-06-27 10:06:28 -06:00
bfd027e806 Fix compile error 2025-06-27 10:01:23 -06:00
f1d19c96cb Merge branch 'develop' of github.com:lammps/lammps into kk_update_4.6.1 2025-06-27 09:50:48 -06:00
afb427a94d Fix GPU/CPU data transfer issues 2025-06-27 09:37:31 -06:00
f090a63536 Fix more data issues 2025-06-27 09:31:18 -06:00
339c570b3e Fix Kokkos MLIAP data transfer issues on GPUs 2025-06-27 09:30:03 -06:00
07eeb6c5f9 add note about compile failure 2025-06-27 09:41:46 -04:00
a02eff6e40 document removal of Error::message() 2025-06-26 18:47:39 -04:00
77ea2b3af0 update unit tests for missing error->message() 2025-06-26 18:37:44 -04:00
7d7327e706 recommend to install the release version of gcovr 2025-06-26 18:29:17 -04:00
2bf03dbcdf apply clang-format 2025-06-26 18:28:59 -04:00
82c2bfe47c remove message() from Error class as it is superseded by utils::logmesg()
Also fix the few remaining cases to used utils::logmesg()
2025-06-26 18:27:09 -04:00
7b79382fa7 Update fix_bond_create.rst with inter/intra-molecular bonding info 2025-06-26 15:24:31 -05:00
a4121d44a2 Added molecule_keyword
Associated with the inter/intra-molecular bonding change
2025-06-26 15:12:10 -05:00
d5e938f949 Added support for inter/intra-molecular bonding
Copy over inter/intra-molecular bonding from fix bond/react
2025-06-26 15:10:19 -05:00
8095b9eec0 use qualified auto 2025-06-26 14:49:56 -04:00
bf1ad04555 don't use floating point as boolean 2025-06-26 14:49:47 -04:00
4a58be05fa simplify 2025-06-26 14:42:13 -04:00
f763420c53 use qualified auto 2025-06-26 01:06:27 -04:00
fe7bdf5941 make destructor virtual 2025-06-26 01:06:16 -04:00
ed279cb9f9 fix up more cases where floating point numbers were used as boolean 2025-06-26 00:59:02 -04:00
5ad24fc733 restore old version and add comment why it cannot be modernized 2025-06-26 00:22:59 -04:00
4309666fa2 remove exception qualifier 2025-06-26 00:11:29 -04:00
3c13eebcb2 must use override instead of virtual 2025-06-25 23:56:25 -04:00
e24b329e1b avoid unnecessary string copies as parameters 2025-06-25 23:51:22 -04:00
3e9560190c don't use floating point numbers as booleans 2025-06-25 23:48:06 -04:00
7597a227f4 modernize: replace typedef with using, use = default for default members 2025-06-25 23:39:38 -04:00
2a3afae3ff modernize: use range based loop and .data() of containers 2025-06-25 23:39:03 -04:00
ad8d722c68 use C++11 style initializer 2025-06-25 23:19:08 -04:00
1906444a1d use utils::inumeric() for integers and use qualified auto 2025-06-25 23:16:17 -04:00
de46b3b8bf modernize in colvars package 2025-06-25 23:11:26 -04:00
e9b5e55f18 used .data() to access underlying raw data of container 2025-06-25 20:22:30 -04:00
96d1704b8e need another epsilon relaxation 2025-06-25 20:21:23 -04:00
9cc2638c91 modernize code 2025-06-25 20:02:41 -04:00
b093094d5e avoid copying vectors as arguments and pass a const reference instead 2025-06-25 19:57:05 -04:00
7d86d7f89a use 'const int' instead of 'int const' to be consistent with the rest of LAMMPS 2025-06-25 19:56:59 -04:00
202aeaf1a5 remove redundant return statements at the end of functions returning void 2025-06-25 19:46:46 -04:00
fce4006fda address minor memory management issues 2025-06-25 19:46:15 -04:00
6934a31878 relax epsilon again to pass test on macOS 2025-06-25 19:30:19 -04:00
cb9b0cdaf2 update unit test and its epsilon due to removal of single precision math in pair style 2025-06-25 19:01:18 -04:00
c1665cd378 convert to double directly 2025-06-25 18:50:08 -04:00
03067d0059 promote constants to double to avoid float/double conversions 2025-06-25 18:47:23 -04:00
f6befb18ae follow LAMMPS programming style more closely 2025-06-25 18:41:26 -04:00
5711acc9ef avoid float/double conversions but convert directly to double 2025-06-25 18:41:08 -04:00
dcd521e9c6 fix static code analysis issues in Info class 2025-06-25 12:43:05 -04:00
80758cef2d make Param args const 2025-06-25 12:12:53 -04:00
4bd0258bfd add more casts to double for table lookup 2025-06-25 12:12:07 -04:00
5d3a080db7 Merge remote-tracking branch 'github/develop' into static-analysis-updates 2025-06-25 11:20:44 -04:00
b7be53f3fc Merge pull request #4633 from jtclemm/rheo
Fixes to RHEO package
2025-06-25 11:18:27 -04:00
7e3c61b831 use explicit typecase in coulomb table lookup in a few more cases 2025-06-25 07:28:05 -04:00
4e28af6219 move typecast to the proper position to avoid implicit type conversion 2025-06-25 07:14:46 -04:00
dba24555d1 fully unroll loop 2025-06-25 06:58:15 -04:00
fdc3f50298 correct API leading to undesired int/double conversions, remove dead code 2025-06-25 06:54:13 -04:00
af81f944d7 must revert changes due to broken GCC in Rocky/CentOS/RHEL 8.x 2025-06-25 06:48:16 -04:00
5b10e2f653 make exception settings consistent 2025-06-25 06:27:49 -04:00
a03d2a66c9 recover compilation of INTEL package 2025-06-25 01:00:35 -04:00
9fbb49f401 use qualified auto 2025-06-25 00:46:11 -04:00
d4ba431117 use nullptr instead of NULL 2025-06-25 00:31:44 -04:00
b0dd929b6d add missing overrides 2025-06-25 00:31:33 -04:00
3b1f639ddf add default constructor and default virtual destructor 2025-06-25 00:17:52 -04:00
a92fa56a3e formatting 2025-06-25 00:17:30 -04:00
8ca9aafff2 remove prototype of non-existing member function 2025-06-25 00:17:18 -04:00
e84c6743d9 must use utils::inumeric() for integers 2025-06-25 00:16:55 -04:00
8a04b9c498 remove redundant typecast 2025-06-25 00:16:14 -04:00
7edf4e567f remove redundant void function argument 2025-06-24 23:53:23 -04:00
656ea3569e use qualified auto 2025-06-24 23:53:09 -04:00
b672c30428 add missing overrides and format them consistently 2025-06-24 23:52:59 -04:00
337fca1305 use using instead of typedef 2025-06-24 23:51:59 -04:00
29651c4bb1 we're parsing an integer here 2025-06-24 23:29:19 -04:00
54eed8af02 .c_str() is not needed here 2025-06-24 23:28:53 -04:00
92ccbd13a5 correctly apply override 2025-06-24 23:28:32 -04:00
766a07c5d4 use explicit cast to double when promoting float lookup value from coulomb table 2025-06-24 23:24:32 -04:00
278cc0a039 replace implicit bool on floating point number with explicit comparison
also re-indent for consistency
2025-06-24 23:20:49 -04:00
33cc2117c6 use qualified auto 2025-06-24 23:19:57 -04:00
57ec008a66 use qualified auto 2025-06-24 22:52:29 -04:00
230121c2c7 make use of override consistent 2025-06-24 22:48:44 -04:00
f5d54a825f use qualified auto 2025-06-24 22:48:31 -04:00
61bfc38961 use explicit scope since virtual tables are not active yet 2025-06-24 22:48:01 -04:00
0cd6c5c3ec remove dead code 2025-06-24 22:36:51 -04:00
c242294227 use auto for redundant type specification 2025-06-24 22:36:39 -04:00
bf90e9b03e must used override 2025-06-24 22:35:43 -04:00
af9a3d933b make consistent for both branches 2025-06-24 22:15:04 -04:00
687e1ddb53 consolidate procs2grid2d implementation and initialization before call 2025-06-24 22:02:52 -04:00
03611c95ae improve error messages 2025-06-24 20:38:29 -04:00
db244166ca Merge branch 'develop' into rheo 2025-06-24 20:29:18 -04:00
8dad9a0f68 Merge pull request #4630 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-06-24 20:17:41 -04:00
08d81a5ac2 Correcting simple variable type mistake 2025-06-24 12:08:54 -06:00
938f7fa0ef remove clang-tidy support from CMake since we now run this automatically 2025-06-24 07:49:57 -04:00
63c9987ec8 make scope explicit since virtual tables are not set up in constructor 2025-06-24 06:13:13 -04:00
d0c460e7f7 flag move constructor and swap function as noexcept for improved performance 2025-06-24 06:12:49 -04:00
e8780449d8 remove redundant part from logical expressions 2025-06-24 05:47:36 -04:00
df04fc943d make implicit boolean conversions explicit 2025-06-24 05:47:05 -04:00
264750e47c no need to run sphinx-build twice after updating sphinxfortran extension from upstream 2025-06-24 00:41:10 -04:00
b61410bde0 some additional explanations for neighbor boost single error 2025-06-24 00:16:00 -04:00
80fbdceff2 reformate for improved readability and make some updates due to changes in the code 2025-06-24 00:09:46 -04:00
24b15f7e46 add false positives 2025-06-24 00:09:18 -04:00
e45299f620 must load numpy into docenv to correctly process python numpy wrapper docs 2025-06-24 00:09:09 -04:00
179cce90bc use C++11 style of disabling constructors 2025-06-23 23:20:26 -04:00
8c12ab5db0 update a few more rounding cases with std::lround() 2025-06-23 23:17:14 -04:00
f7f5a3e3e4 replace static_cast<int>(val + 0.5) with C++11's std::lround() 2025-06-23 23:07:13 -04:00
7e3d6026d4 Restoring rheo options to set 2025-06-23 20:53:51 -06:00
d5d8887eb9 improve error messages 2025-06-23 22:49:17 -04:00
56f839f2e1 replace custom nint() function with C++11's std::lround() 2025-06-23 22:49:06 -04:00
a7b7be26dc improve errors 2025-06-23 22:42:48 -04:00
50ba0e577e cast to double before printing 2025-06-23 22:37:27 -04:00
727c0b251a Clarifying exception in fix deform doc 2025-06-23 20:35:53 -06:00
b94c41c05a Fixing some static code analysis issues in RHEO 2025-06-23 20:35:36 -06:00
e9a578a212 t status
Merge branch 'develop' into rheo
2025-06-23 19:50:29 -06:00
750e663be8 try to suppress false positive from static code analysis (natom is always > 0) 2025-06-23 19:21:00 -04:00
8305c97b69 address some issues flagged by static code analysis 2025-06-23 19:20:32 -04:00
8cf24edc21 improve error messages and suppress static code analysis warnings 2025-06-23 19:20:00 -04:00
249c6d6de9 add emacs local variable tweaks and add some missing docstrings 2025-06-23 16:51:33 -04:00
bfa19f678d future-proof iarray() and darray() conversions and document them 2025-06-23 16:29:12 -04:00
8401b6aee8 use utils::inumeric() instead of utils::numeric() for integers 2025-06-23 06:57:51 -04:00
9d6758f269 merge two if statements with the same condition following each other 2025-06-23 06:43:59 -04:00
70d36b1b4c when finalizing from the fortran module we should also free the external fix storage 2025-06-22 21:48:57 -04:00
4a9fa1ba87 restore compilation without -DNDEBUG 2025-06-22 18:40:58 -04:00
b3c403f464 run KOKKOS force style unit tests with serial when OpenMP is not available 2025-06-22 18:29:45 -04:00
12dcaa2d03 eliminate compiler warnings 2025-06-22 18:12:20 -04:00
1e6eeda958 remove dead code and address warnings from static code analysis 2025-06-22 17:49:47 -04:00
c6478e245a fix up emitterutils source file in bundled yaml-cpp in ML-PACE for GCC 15+ 2025-06-22 17:22:41 -04:00
cfe87f928d update email address 2025-06-22 16:36:50 -04:00
469846e73c correct broken doc line 2025-06-22 07:22:36 -04:00
9b382dac41 apply more pylint recommendations 2025-06-21 23:22:34 -04:00
679806206d detect header keywords and section titles from data files and print suitable error 2025-06-21 17:59:54 -04:00
c118af34e0 small doc update 2025-06-21 17:58:49 -04:00
46fc4b21a5 make fix deposit and fix pour compatible with body particles from molecule templates 2025-06-21 17:17:39 -04:00
2b3af7b371 silence compiler warnings 2025-06-21 17:05:36 -04:00
aecc85e3d5 avoid out-of-bounds memory access when registering fix external callbacks 2025-06-21 16:42:39 -04:00
e3b1d27e0a whitespace 2025-06-21 14:34:01 -04:00
06d47f7279 didn't count if atom-id was used 2025-06-21 14:32:18 -04:00
fc9efa1586 update documentation for the recently added sections in JSON format molecule files 2025-06-21 13:48:11 -04:00
0310959053 use consistent formatting of error messages and comments 2025-06-21 12:59:40 -04:00
9360038013 implement the processing for special bonds in JSON 2025-06-21 12:59:15 -04:00
0caaca8a05 honor atom-ids in Special Bonds section 2025-06-21 12:36:31 -04:00
9d38652033 consistently quote JSON fields with double quotes 2025-06-21 12:34:17 -04:00
c08ee92801 correctly honor atom-id in Special Bond Counts section 2025-06-20 23:05:58 -04:00
95fb6c75d2 support special:counts section for JSON data, only special:bonds missing 2025-06-20 23:05:38 -04:00
67582ebf14 some error hint updates based on recent discussions on MatSci.org 2025-06-20 17:45:37 -04:00
8dff25296b restore pylammps.py 2025-06-20 14:42:52 -04:00
b036c911e7 fix copy-n-paste bug 2025-06-20 14:23:22 -04:00
6f72a56b4c stricter matching of header items and skip comments right away 2025-06-20 14:12:25 -04:00
fb088cdc57 require .json extension for JSON format molecule files 2025-06-20 14:12:00 -04:00
c98ebb669e trigger warning on the correct fix style name 2025-06-20 10:08:14 -04:00
bb0bd289b7 update unit tests 2025-06-20 08:38:09 -04:00
b909a782b6 revert double adding of body info in create_atoms 2025-06-20 08:07:17 -04:00
6fff591c0d more checks 2025-06-20 07:51:58 -04:00
c6057f3780 support creating body particles from molecule templates in create_atoms 2025-06-20 07:31:58 -04:00
765b3ad487 need fewer checks with JSON data 2025-06-20 07:30:59 -04:00
9615cb466c support processing "bodies" sections from JSON data 2025-06-20 07:30:43 -04:00
500373d72b correct error message 2025-06-20 07:24:35 -04:00
25fecf7b7d update format 2025-06-20 07:24:21 -04:00
18455d07fe list possible pair styles with SPC Howto. Add comment about cutof vs. long-range coulomb 2025-06-20 04:24:13 -04:00
c8ce2a0390 minor tweaks and modernizations, apply clang-format 2025-06-18 20:09:44 -04:00
7601a217b7 modernize and improve error messages 2025-06-18 20:02:47 -04:00
af3b1c5423 store fix rigid/small id and check if it still exists during init() 2025-06-18 20:02:24 -04:00
fc3d971119 replace outdated inputs with new versions 2025-06-18 20:00:51 -04:00
b864116719 spelling edits 2025-06-18 15:46:58 -06:00
d022f1cf48 whitespace changes 2025-06-18 15:26:34 -06:00
4fa97ee0dd changes to doc page and cosmetic changes to src files 2025-06-18 14:47:01 -06:00
97d7e9e4a1 correct cut-n-paste errors 2025-06-18 10:16:19 -04:00
8c0894fa84 fix issues causing failed tests 2025-06-18 07:49:15 -04:00
004816a4ba update tests for changed argument names 2025-06-18 07:09:03 -04:00
6934932383 document function 2025-06-18 06:55:30 -04:00
3f6dfa27bd apply pylint and refactor accordingly 2025-06-18 06:51:17 -04:00
40d88e9bda revert incorrect additions 2025-06-18 03:35:28 -04:00
210fdb8b98 process "shake:atoms" and "shake:types" sections in JSON data 2025-06-18 00:08:28 -04:00
ad722310b1 reformatted code and doc page 2025-06-17 15:28:21 -06:00
e01640c4f5 fix out-of-bounds initialization for cvatom array 2025-06-17 17:02:00 -04:00
07c91f396e fix out-of-bounds access bug reported in issue #4632 2025-06-17 16:43:07 -04:00
c5628e5ccd Merge branch 'develop' into hmc 2025-06-17 14:27:03 -06:00
ec2ef5b14c fix more issues with reading Shake sections in native file format 2025-06-17 13:55:16 -04:00
03a418809d implement general shake flags checking and partial JSON processing 2025-06-17 10:32:36 -04:00
2f088749ad add shake entries to schema 2025-06-17 10:31:49 -04:00
635719a2ec Correct implementation to actually follow the documentation. 2025-06-17 10:31:17 -04:00
72ea12b0f9 fixed compilation error due to a typo 2025-06-17 08:42:22 -05:00
632bc8f20d Removed line apparently copied from compute displace/atom 2025-06-17 14:56:43 +02:00
9a81c95104 document unchanging group size restriction in compute msd 2025-06-17 06:02:43 -04:00
624c7a5ab8 improve errors in compute msd 2025-06-17 05:57:24 -04:00
eeaca93974 the number of atoms in the compute msd group must not change 2025-06-17 05:51:03 -04:00
515ccac51c avoid copies of C++ strings 2025-06-16 20:19:53 -04:00
53fec5563c Merge pull request #4543 from d-immel/apip
adaptive-precision interatomic potentials (APIP)
2025-06-16 15:56:12 -04:00
47fae6b786 Merge pull request #4628 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-06-16 13:41:25 -04:00
0538518dbd add missing entries to .gitignore 2025-06-16 12:43:12 -04:00
a5e4123606 Merge branch 'develop' into feature/batch-snap-ilp 2025-06-16 12:31:50 -04:00
0a1ade0bce Merge branch 'develop' into roll-back-neighbor-swap 2025-06-15 17:45:13 -04:00
8f31b62e15 make flow of control more obvious 2025-06-15 17:39:06 -04:00
d640543185 fix whitespace 2025-06-15 15:29:35 -05:00
b5809aff67 updated the doc page for the new parameters 2025-06-15 15:20:56 -05:00
b3423e9b7a allow nbor build and bond block sizes to be specified from the command line 2025-06-15 15:04:42 -05:00
d38f97e465 remove dead code 2025-06-15 05:40:39 -04:00
bb1b854b47 check for empty molecule to avoid division by zero 2025-06-15 05:40:16 -04:00
d95d97db28 remove dead code, avoid uninitialized access 2025-06-15 05:25:19 -04:00
a6b30c35ac use more obvious flow of control that does not confuse static code analysis 2025-06-15 05:24:37 -04:00
7fb930daed start adding tests for JSON format molecule files 2025-06-15 00:00:59 -04:00
72538fbb84 warn about inconsistent units only during the first pass reading the file 2025-06-14 23:36:20 -04:00
d775aa1566 Update MC.cmake
add missing `set_property()` call
2025-06-14 19:23:36 -04:00
1fc6d4d3b6 Update MC.cmake
add missing `endif()`
2025-06-14 19:22:14 -04:00
97d09c2ec4 update changelog 2025-06-14 19:14:01 -04:00
4bc5bc3d18 update label only when needed 2025-06-14 19:09:53 -04:00
c5c1f47c20 move redundant code to find pointer to main widget to helper function 2025-06-14 19:04:43 -04:00
fdc199e7cc Merge branch 'develop' into develop 2025-06-14 18:15:12 -04:00
0ea4ba28bf Merge remote-tracking branch 'github/develop' into apip 2025-06-14 18:00:41 -04:00
6004a58ab4 fix spelling issues 2025-06-14 17:59:01 -04:00
90df96b16f fix bugs detected by GitHub Copilot 2025-06-14 17:33:06 -04:00
7dc4e17e0c fix compilation with MPI STUBS 2025-06-14 12:59:07 -04:00
2d5f02a398 add lammps_add_molecule API to the C-library interface and python/fortran module 2025-06-14 12:46:36 -04:00
faa1dbc19d add missing type check and setting of ntypes for json data molecules 2025-06-14 11:48:11 -04:00
ea23af48d3 only perform size check if section is present 2025-06-14 11:47:24 -04:00
e2cd2a1a17 make error handling for checking the handle and its state more consistent 2025-06-14 11:18:12 -04:00
88f5ad160a use "const std::string &" instead of "const char *" it will be converted anyway 2025-06-14 11:16:06 -04:00
81bfcb80e7 add missing prototype 2025-06-14 11:15:05 -04:00
df1d70bf99 move up re-initialization one level to avoid uninitialized access 2025-06-14 09:05:29 -04:00
ced0d350f0 handling parsing exceptions and check for error creating a backup 2025-06-14 09:02:00 -04:00
4b32e58f90 make sure that all molecule members are initialized 2025-06-14 08:48:25 -04:00
1475111f7f use different ccache storage keys for gcc and clang 2025-06-14 06:10:47 -04:00
848ef74459 download sphinx_toolbox extension and enable "collaps" directive 2025-06-14 06:04:54 -04:00
5013b80434 Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-06-14 05:20:05 -04:00
08d2856558 Merge pull request #4627 from Saric-Group/bugfix/bond-react-peratom-mass
Fix segfault when masses are missing in post-reaction template in per-atom systems
2025-06-14 05:18:47 -04:00
2c9dac5505 Merge branch 'develop' into bugfix/bond-react-peratom-mass 2025-06-13 16:39:44 +02:00
4d6a085361 make include guard consistent with file name 2025-06-13 08:58:48 -04:00
88f777226e restore example 2025-06-13 08:57:37 -04:00
22082854ad restore documentation files 2025-06-13 08:55:10 -04:00
ca6558fea4 Merge branch 'develop' into roll-back-neighbor-swap 2025-06-13 08:48:50 -04:00
1ba1b7111d Merge branch 'develop' into apip 2025-06-13 08:42:29 -04:00
ee165e72de minor changes of APIP doc page 2025-06-13 12:15:03 +02:00
3a628ce4b1 simplify by returning new variable index in creator function and avoid calling finder 2025-06-13 04:37:09 -04:00
c5920eeb8d stop installing components from the downloaded pace library 2025-06-13 03:30:33 -04:00
5b8c505c2d only strip debug info 2025-06-13 02:19:01 -04:00
c79a1a6bed flag as development version 2025-06-13 02:18:35 -04:00
0d2f47ddd4 Merge pull request #4613 from akohlmey/next_release
Set version date for next feature release
2025-06-13 02:08:04 -04:00
336bb4622d add a few missing version tags 2025-06-13 00:08:05 -04:00
380ad17cf3 Merge branch 'develop' into next_release 2025-06-13 00:01:50 -04:00
949bac6b4a Merge pull request #4614 from akohlmey/collected-small-fixes
Collected small changes and fixes
2025-06-12 23:59:06 -04:00
4865235998 small doc tweaks and update for the simplified installation 2025-06-12 22:49:38 -04:00
dcf604875c cosmetic 2025-06-12 22:34:56 -04:00
3052bc7f4c make added comments consistent and consistently formatted 2025-06-12 22:31:33 -04:00
6df845a8d8 Merge remote-tracking branch 'github/develop' into apip 2025-06-12 22:27:03 -04:00
fa59b1c6f2 correct and simplify install script for legacy build system 2025-06-12 22:25:55 -04:00
66684deb9f Merge pull request #4600 from akohlmey/molecule-refactor-for-json
Refactor Molecule class to add support for JSON format molecule files
2025-06-12 22:22:39 -04:00
550048f458 Merge branch 'develop' into molecule-refactor-for-json 2025-06-12 21:21:38 -04:00
37b02a27fa improve error messages 2025-06-12 21:21:14 -04:00
f389b6676b make inconsistent units an error; special case: "real" and "metal" are compatible 2025-06-12 21:20:52 -04:00
f9de296ed1 make "coords" optional and infer natoms from "types" instead 2025-06-12 21:19:32 -04:00
a9c5d095e4 Merge pull request #4621 from akohlmey/plugin-add-run-min-style
Add support for run and minimize style plugins and refactor plugin handling to become global
2025-06-12 20:35:15 -04:00
2d10754930 Merge pull request #4624 from ethan-puyaubreau/cuda-preset-fix
Fix GPU architecture in CUDA preset for Kokkos
2025-06-12 19:41:21 -04:00
97b85d34f2 Fix GPU architecture in CUDA preset for Kokkos 2025-06-12 16:02:38 -04:00
f84bbf9326 Update logs of APIP examples. 2025-06-12 20:30:45 +02:00
9b195d2109 Merge branch 'develop' into molecule-refactor-for-json 2025-06-12 14:23:32 -04:00
db835d1ec5 add false positive 2025-06-12 14:23:25 -04:00
285fffa98e Merge pull request #4619 from lammps/python-wrapper-doc
clarify python and variable doc pages
2025-06-12 13:29:31 -04:00
00ffebc929 Remove not required variable from PairLambdaZoneAPIP. 2025-06-12 19:24:43 +02:00
ed1d49cc16 Merge branch 'python-wrapper-doc' of github.com:lammps/lammps into python-wrapper-doc 2025-06-12 11:48:45 -04:00
db22bdc7b9 rewrap doc source 2025-06-12 11:48:37 -04:00
349def92d2 remove superfluous test 2025-06-12 11:26:08 -04:00
674500781f add minimal documentation for the JSON molecule file format 2025-06-12 11:20:02 -04:00
4097733b52 small tweaks 2025-06-12 11:19:42 -04:00
dd30b5a258 add tool to regularize/reformat/reindent JSON files 2025-06-12 11:19:16 -04:00
2eed658d85 Corrected what I think is a typo
There is no way to evaluate a variable with iv_ prefix.
2025-06-12 15:57:59 +02:00
1db87d827d documentation updates for JSON format in general and molecule files in particular 2025-06-12 07:49:20 -04:00
766ef241d9 update date 2025-06-12 07:48:31 -04:00
b21ce964e1 more meaningful error message if a file is in JSON format but has a parse error 2025-06-12 07:48:02 -04:00
b15f4e5d63 add updated example using json molecule files 2025-06-12 00:34:01 -04:00
125389bf23 safer memory management for checking format 2025-06-12 00:32:53 -04:00
5868aa095d add dihedrals and impropers 2025-06-11 23:31:37 -04:00
d4be195d81 make code more consistent by always using "item" for topology data entry 2025-06-11 23:31:21 -04:00
5e948b1450 add support for bonds and angles 2025-06-11 22:32:23 -04:00
72533c8276 check that dipole z-component is zero for 2d systems 2025-06-11 22:32:06 -04:00
cac7606470 use explicit type when clearning memory 2025-06-11 22:31:29 -04:00
b0694e4e73 add support for dipoles section 2025-06-11 18:09:40 -04:00
3d7f7af8c7 parse charges, diameters, and masses 2025-06-11 17:54:41 -04:00
9df30404db try alternate initialized for Windows 2025-06-11 17:05:05 -04:00
e7cf0701a8 add support for molecule and fragments sections 2025-06-11 16:45:40 -04:00
d3691dce98 better checking 2025-06-11 16:44:17 -04:00
d7cd2795c5 add error to CreateAtoms for per-atom systems 2025-06-11 17:28:42 +02:00
768d5bb9c1 address small PDF formatting issue 2025-06-11 10:56:04 -04:00
e44e2e27cc reuse variable 2025-06-11 10:31:30 -04:00
dad1f02716 process "coords" and "types" sections in JSON format 2025-06-11 10:17:32 -04:00
c4e062f2d8 Merge branch 'develop' into molecule-refactor-for-json 2025-06-11 08:40:48 -04:00
2d8ef50e49 address output issue reported by GitHub Copilot (but properly and in both locations) 2025-06-11 04:33:25 -04:00
6ccb1b745c remove debug code, move to toplevel dir and document kspace style zero 2025-06-11 04:24:35 -04:00
75c341543a add missing comment 2025-06-11 04:05:41 -04:00
67128a00b9 Merge branch 'kspace_zero' into plugin-add-run-min-style 2025-06-11 04:05:32 -04:00
0fd7a40d92 update documentation for writing plugins 2025-06-11 03:40:33 -04:00
30cc2570ad Merge branch 'develop' into plugin-add-run-min-style 2025-06-11 03:24:04 -04:00
df08818fef refactor handling of plugin loading to make plugin a global property 2025-06-11 02:52:28 -04:00
3ab3663659 updated the doc page for the pair/team/size and nbin/atoms/per/bin keywords 2025-06-10 23:37:34 -05:00
464b9f4b03 add support for loading run and min styles 2025-06-11 00:33:44 -04:00
8d11f16e16 Insert pre-titlepage text asking about removal of PDF version. 2025-06-10 19:27:01 -04:00
91896bc444 initialized atoms_per_bin 2025-06-10 17:32:56 -05:00
8ae5b16d66 use consistent markup 2025-06-10 18:18:50 -04:00
f77be0a373 Merge branch 'python-wrapper-doc' of github.com:lammps/lammps into python-wrapper-doc 2025-06-10 15:25:22 -06:00
c8cd692bbd more doc page tweaks 2025-06-10 15:25:15 -06:00
c309d6e99e allow atoms_per_bin used for neighbor builds to be specified from the command line 2025-06-10 15:21:54 -05:00
a45561ab41 Bufix for memory leak fix from Stan. Forgot to clear the new per-atom storage 2025-06-10 15:19:50 -04:00
319037caf6 fix typo 2025-06-09 20:37:30 -04:00
1f57be8255 another tweak 2025-06-09 16:50:43 -06:00
7a7ec8083f edits of 2 doc pages 2025-06-09 16:38:42 -06:00
e9146a6467 using teamsize_max if specified from the command line 2025-06-09 11:51:05 -05:00
c7fd0817e2 Merge branch 'develop' into collected-small-fixes 2025-06-09 00:14:23 -04:00
2567a3d802 Merge pull request #4581 from lammps/atom-style-var-with-python
Enable equal- and atom-style variables to invoke Python functions more directly with args
2025-06-09 00:13:39 -04:00
962f791700 Merge pull request #4616 from jrgissing/another_reaction_count_fix
bond/react: another reaction-count bug fix
2025-06-08 23:43:15 -04:00
72080d78a7 hide repetitive code use a macro 2025-06-08 08:52:45 -04:00
1e59400ef3 update help table for new commands 2025-06-07 21:41:17 -04:00
e41d485377 record changes to LAMMPS-GUI for flatpak build 2025-06-07 21:36:41 -04:00
43dbb0c089 add special case for setting locale on macOS based on suggestion from OVITO developers 2025-06-07 21:13:21 -04:00
8305e27835 allow to set pair team size with neigh/thread on from -pk kokkos 2025-06-07 16:07:36 -05:00
3f685e9a44 fix several spelling and formatting issues in added/modified documentation 2025-06-06 12:13:02 -04:00
23b185a625 add overload to utils::print() so it can be used without FILE pointer 2025-06-06 11:29:12 -04:00
ccc078f036 Add apip to documentation of read_dump and compute property/atom. 2025-06-06 14:41:52 +02:00
9a65ab2c4d Merge branch 'develop' into apip_devel and solve merge conflict in set. 2025-06-06 13:32:00 +02:00
84f20fe516 must initialize pyindex[ivar] in equalstyle check 2025-06-06 05:59:03 -04:00
4cb936c3c6 no need to allocate since we use the space of the python style variable, which is required 2025-06-06 02:17:39 -04:00
65debaf191 resolve NOTES and add option to print return value to log with python invoke 2025-06-06 02:02:04 -04:00
001fa6a024 corrections from GitHub copilot 2025-06-06 00:28:18 -04:00
f69d28fbab Merge branch 'develop' into atom-style-var-with-python 2025-06-06 00:20:06 -04:00
1b12f3b47e improve error messages for python command 2025-06-06 00:19:56 -04:00
e1aa3cf7ec move throwing Python variable errors to PythonImpl class and change API accordingly. 2025-06-06 00:19:33 -04:00
f6f3eb1c31 bug-fix bug fix 2025-06-06 00:15:30 -04:00
1e7dc5126e Flag code that needs improving with TODO comments 2025-06-05 23:06:55 -04:00
654cd0fe00 improve argument parsing and error messages 2025-06-05 22:52:40 -04:00
e5f0e23a11 clang-format apip package. 2025-06-05 20:46:32 +02:00
6c798f1847 Update APIP naming in documentation. 2025-06-05 20:05:37 +02:00
20f123ddd1 Update notation in APIP examples. 2025-06-05 17:22:19 +02:00
bc93311309 Fix typos. 2025-06-05 17:21:03 +02:00
19a108bd21 Add apip suffix in pair_styles lambda/input and lambda/input/csp. 2025-06-05 15:38:38 +02:00
4fcbdbe3a1 pair_style lambda/zone -> pair_style lambda/zone/apip 2025-06-05 15:15:06 +02:00
1086db672c Capitalise apip in PACE class names. 2025-06-05 15:01:51 +02:00
f34284fca0 Capitalise apip in EAM class names. 2025-06-05 14:40:21 +02:00
94d39239b5 fix lambda -> fix lambda/apip 2025-06-05 14:29:43 +02:00
dd4afb16ad fix lambda_thermostat -> fix lambda_thermostat/apip 2025-06-05 14:06:17 +02:00
1d5efd05bd fix apip_atom_weight -> fix atom_weight/apip 2025-06-05 13:22:13 +02:00
964605f25a remove commented out code 2025-06-05 06:50:28 -04:00
74e8ed7a49 follow LAMMPS' conventions for initializing class members more closely 2025-06-05 06:46:43 -04:00
b6a57c2480 Add apip prefix to internal variable names. 2025-06-05 12:44:01 +02:00
21d3f68939 modernize looking up voronoi compute and check for it in init(), too 2025-06-05 06:42:08 -04:00
78e538c9fc store inv_r_0 instead of r_0 to replace division by faster multiplication 2025-06-05 06:32:50 -04:00
e31f864620 correct offset for parsing optional arguments 2025-06-05 06:25:27 -04:00
3f1944cace more accurate detection of known keywords 2025-06-05 06:23:58 -04:00
cf79cf8e72 simplify use of MathSpecial::square() 2025-06-05 06:18:29 -04:00
4b56fd4cd2 replace redundant get_distance() with sqrt(MathExtra::distsqr())
Also avoid repetitive computation of distance.
2025-06-05 06:15:48 -04:00
8abd42ed2f complete embedded citation handling 2025-06-05 06:02:03 -04:00
467cbbc188 Revert "refactor fix neighbor/swap"
This reverts commit 594953ed0b.
2025-06-05 05:54:13 -04:00
9d37f28a86 Revert "Cleaned options reading index error"
This reverts commit ef6cdbf00e.
2025-06-05 05:54:10 -04:00
7bf5d5899f Revert "update error message"
This reverts commit df3467a114.
2025-06-05 05:54:04 -04:00
61f9cb66e2 Revert "remove dead code and redundant implementation."
This reverts commit 3dadcab047.
2025-06-05 05:54:02 -04:00
99e8085cda Revert "make fix neighbor/swap valgrind clean"
This reverts commit 6a2e796538.
2025-06-05 05:53:56 -04:00
41bd3437f6 Revert "make attempt_swap valgrind clean. now fails in pair->compute()."
This reverts commit deef742897.
2025-06-05 05:53:46 -04:00
bf97cc470f Temporarily remove fix neighbor/swap until implementation issues are fixed 2025-06-05 05:19:35 -04:00
bd26d7a742 Add apip names in read_dump. 2025-06-05 11:09:35 +02:00
d3f00eeff4 Add apip names in set. 2025-06-05 10:59:32 +02:00
67d668cb62 Add apip names in compute property/atom. 2025-06-05 10:54:06 +02:00
9d4aad2588 Remove APIP from dump_custom, fix store/state and variable. 2025-06-05 10:45:36 +02:00
f5b64118cc accept denormal floating point numbers in tokenizer class and utils::numeric() 2025-06-04 21:07:18 -04:00
acf8a51b01 Merge branch 'develop' into molecule-refactor-for-json 2025-06-04 19:42:03 -04:00
b3f160c118 Merge pull request #4567 from lammps/fix-set-command
New fix set command
2025-06-04 19:40:29 -04:00
ece4939708 Merge branch 'develop' into fix-set-command 2025-06-04 16:22:45 -04:00
0fb02af020 Merge pull request #4599 from akohlmey/collected-small-fixes
Collected small fixes and updates
2025-06-04 14:42:06 -04:00
3f58927829 one more correction 2025-06-04 12:22:43 -04:00
b73f78ea88 update libvoro++ patch 2025-06-04 12:20:29 -04:00
ba8dd4d380 only build the voro++ library when downloading 2025-06-04 12:10:58 -04:00
45ba47e0d0 Set version date for next feature release 2025-06-04 10:14:07 -04:00
ddb6bb2cfb adjust to include new build of gcc/musl cross-compiler 2025-06-04 09:57:14 -04:00
b509c53003 small improvement 2025-06-04 09:56:53 -04:00
9941d9132c reformulate 2025-06-04 00:30:10 -04:00
11bf72c4aa Merge branch 'develop' into molecule-refactor-for-json 2025-06-03 22:02:48 -04:00
ba093790fc remove tabs 2025-06-03 21:57:41 -04:00
5386dce0cf Update molecule.rst 2025-06-03 20:45:02 -04:00
4da7fad87e Merge branch 'develop' into feature/batch-snap-ilp 2025-06-03 11:17:55 -04:00
87cf0f964e use common container for Linux release tasks 2025-06-03 02:35:23 -04:00
f9003e6a16 revert to single defition of LAMMPS integer sizes to be applied to GPU library 2025-06-02 23:47:08 -04:00
deef742897 make attempt_swap valgrind clean. now fails in pair->compute(). 2025-06-02 22:19:09 -04:00
6a2e796538 make fix neighbor/swap valgrind clean 2025-06-02 21:30:56 -04:00
3086e6e0ec Merge branch 'develop' into collected-small-fixes 2025-06-02 20:50:45 -04:00
117a451b15 Merge pull request #4597 from akohlmey/cmake-adjustments
Small CMake  updates
2025-06-02 20:47:40 -04:00
8a8fc2f1d8 apply -DLAMMPS_${LAMMPS_SIZES} consistently across all platforms 2025-06-02 20:29:00 -04:00
688800038a force skip MPI for C++ setting into cache 2025-06-02 20:14:11 -04:00
07f650a982 try to work around compilation issues 2025-06-02 17:02:38 -04:00
60c33bfb95 correct typos 2025-06-02 16:37:21 -04:00
23694ee4f5 Merge branch 'develop' into cmake-adjustments 2025-06-02 16:06:53 -04:00
1fc8e05642 roll back changes switching from MPI::MPI_CXX to MPI::MPI_C 2025-06-02 15:48:40 -04:00
1fae7e3f98 remove support for obsolete MPICH library binaries for Windows 2025-06-02 15:47:35 -04:00
f7ae20358c improve error message 2025-06-01 11:42:19 -04:00
07acf912c9 Merge branch 'develop' into molecule-refactor-for-json 2025-06-01 11:42:03 -04:00
52f8d1d5a1 Merge branch 'develop' into collected-small-fixes 2025-06-01 11:41:11 -04:00
b5cf8eb9ed Merge pull request #4610 from akohlmey/minimum_image_flerr
Improve minimum image error messages
2025-06-01 11:38:34 -04:00
7aac770631 consolidate checking and determining sizes. use macro to reduce redundancy 2025-06-01 03:43:34 -04:00
17ed72f99b show use of Domain::minimum_image_big() in second example block 2025-05-31 23:36:36 -04:00
ed535e5301 fix minimum image bug detected by GitHub Copilot 2025-05-31 23:34:41 -04:00
04c642905f make "format" and "data" required object sections 2025-05-31 22:28:54 -04:00
7780309fae Merge branch 'develop' into molecule-refactor-for-json 2025-05-31 22:03:07 -04:00
c663a5ac1c undo substitution in comment 2025-05-31 17:06:14 -04:00
5ea7bec083 update ATC library for minimum image API change 2025-05-31 03:18:42 -04:00
b05f5f8e3a add info about updating old source packages for minimum image API change 2025-05-31 02:56:25 -04:00
2599f9ddb0 spelling 2025-05-31 02:55:46 -04:00
2cc7c71ebc add info about updating old source packages for minimum image API change 2025-05-31 02:54:42 -04:00
d7cee3e71d remove undesired "generated" tag 2025-05-31 02:31:25 -04:00
9d81246761 add FLERR as first argument to Domain::minimum_image() and Domain::minimum_image_big() 2025-05-31 02:28:53 -04:00
290f409cf8 improve / modernize more error messages in the read_data command 2025-05-30 16:44:33 -04:00
7bed09c25a Bugfix from Trung for running EAM on GPUs with OpenCL. 2025-05-30 16:41:44 -04:00
68ce9c8a6f modify C++23 compilation workflow to test both GCC and Clang 2025-05-30 06:12:12 -04:00
e43acf24ea small optimization 2025-05-30 01:20:32 -04:00
765701b924 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-05-30 01:15:48 -04:00
5b65c4938f avoid problems with consteval 2025-05-29 23:43:02 -04:00
8f56874d07 Merge pull request #4527 from martok/fix-gauss
Add fix ave/moments
2025-05-29 15:22:10 -04:00
06af3b8c4a Fix typo in doc/src/fix_ave_moments.rst
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-29 14:39:39 -04:00
a6d7f015a2 synchronize units checking with data file and native format molecule file 2025-05-29 09:37:04 -04:00
5e9f00f1eb fix typo 2025-05-29 09:36:25 -04:00
66c2e4f324 improve documentation of moment corrections 2025-05-29 14:27:16 +02:00
8f9806ec72 remove / comment-out unused parameters 2025-05-29 06:36:03 -04:00
13304707aa add missing override 2025-05-29 06:30:24 -04:00
cea8d22a87 remove undocumented and unused define and related unused array 2025-05-29 06:30:15 -04:00
f839532cf6 silence compiler warnings 2025-05-29 05:37:01 -04:00
f12d1d3c5b we only need the MPI C library support for loading liblammps.so dynamically 2025-05-29 05:34:51 -04:00
0af41a211d add false positive 2025-05-29 05:27:41 -04:00
26def4a3cf we only need the MPI C library support for loading liblammps.so dynamically 2025-05-29 05:25:40 -04:00
f584d7219a correct incorrect reference to command 2025-05-29 05:24:00 -04:00
129a3a83e5 Merge branch 'develop' into fix-set-command 2025-05-29 05:21:46 -04:00
3dadcab047 remove dead code and redundant implementation. 2025-05-29 05:04:20 -04:00
f5cc752648 update magic file and point to origin 2025-05-28 23:18:16 -04:00
a246619ecf whitespace 2025-05-28 21:54:17 -04:00
de98aa0fb1 Merge branch 'develop' into atom-style-var-with-python 2025-05-28 21:54:03 -04:00
be59eb6a70 fix up two more inconsistent definitions 2025-05-28 21:38:14 -04:00
8f07b44dce Merge branch 'cmake-adjustments' of github.com:akohlmey/lammps into cmake-adjustments 2025-05-28 21:35:42 -04:00
3552847957 consistent use of definitions to avoid CMake adding spurious '-D' prefixes 2025-05-28 21:35:33 -04:00
ce074d475f additional small changes to doc page and code comment 2025-05-29 01:03:28 +02:00
8254107095 remove unused variable "quoteflag" 2025-05-28 17:43:06 -04:00
1ddc64b885 eliminate warning (doesn't change results since we don't compute pair forces) 2025-05-28 16:47:55 -04:00
46b0e48ef3 clarify use of pair-wise additive pair style requirement as go-between for many-body potentials. 2025-05-28 11:22:39 -04:00
1668bcffcf fix 2 bugs caught in review 2025-05-28 08:53:55 -06:00
747ed4244f documentation updates based on review 2025-05-28 13:04:27 +02:00
ce44faddcf correct discuss FFT benchmark timing for PPPM 2025-05-27 23:40:52 -04:00
5ff0f05933 more details in serial performance summary 2025-05-27 18:07:48 -04:00
6843424dad add version tag, rewrap, minor tweaks to doc page. 2025-05-27 10:38:41 -04:00
d59f7d3381 Merge branch 'develop' into fix-gauss 2025-05-27 10:34:07 -04:00
d6a0d3bacf small update 2025-05-27 07:37:42 -04:00
df3467a114 update error message 2025-05-27 07:36:14 -04:00
f5c51af9bc demonstrate how serial and parallel performance can change 2025-05-27 01:15:18 -04:00
6a5ed2af4b add renieigbor option to fix set 2025-05-26 16:22:52 -06:00
06b06fd991 only use prototype for PIMPL struct in KOKKOS classes 2025-05-26 17:57:15 -04:00
6ea16aead1 we only need the MPI C library support for loading liblammps.so dynamically 2025-05-26 17:56:26 -04:00
2e775034f9 clarify and improve formatting 2025-05-26 03:03:37 -04:00
1f758bcf8e more discussion of items that affect LAMMPS serial and parallel performance 2025-05-26 02:35:30 -04:00
f8665fdf4e add a more explicit warning about using hybrid for many-body potentials
this summarizes advice that has to be given recurringly in the LAMMPS forum
2025-05-26 01:49:01 -04:00
8181224bca discuss in more details factors that affect performance (WIP) 2025-05-25 05:04:59 -04:00
2436bd4411 provide some more talking points for comparison of KOKKOS and GPU package 2025-05-25 05:04:37 -04:00
94f44e3644 add new header, json_fwd.h with forward declarations for using headers 2025-05-24 22:17:34 -04:00
730cf8bcf5 add false positive 2025-05-24 02:42:27 -04:00
8d09e440c5 start documentation for JSON format 2025-05-24 02:36:46 -04:00
1d8d8b6445 add title and version info to JSON schema file 2025-05-23 23:31:14 -04:00
442e50bb17 simplify 2025-05-23 23:12:07 -04:00
018342afc8 update schema with stricter checks. no need to bond-ids, angle-ids etc. 2025-05-23 23:00:50 -04:00
61d3759d6b fix typo 2025-05-23 22:59:44 -04:00
0975207ba4 Add more fields to molecule schema
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-23 22:01:31 -04:00
534373bef3 flag required properties 2025-05-23 22:00:05 -04:00
f979d503d9 fix minor issues 2025-05-23 21:59:33 -04:00
cf7011bf64 nvc++ compiler workaround 2025-05-23 13:48:42 -07:00
ae8542a020 Fixed up whitespace 2025-05-23 10:57:38 -07:00
76ef41a901 overload Atom::add_molecule() with function accepting a JSON object 2025-05-23 00:08:58 -04:00
2fe88a1e9e further refactor molecule class
- make constructor only do basis init, processing of command args to function
- add function to process json object (either directly or from command processing)
- distribute json object across processes as binary serialization
2025-05-22 23:27:10 -04:00
30b555d7dc add units keyword 2025-05-22 23:23:22 -04:00
0df77ef7ca start a tools/json folder with molecule schema and README 2025-05-22 21:42:33 -04:00
446630e3ba Added compile-time support for running the legacy codepaths on the GPU; misc cleanup and fixes 2025-05-22 14:14:13 -07:00
8c314c7bda Reduced template parameters, improved code reuse between ComputeFusedDeidrj paths 2025-05-22 14:06:26 -07:00
13500710ce Added register tiling to ComputeBi 2025-05-22 13:57:09 -07:00
c787ce60a7 Added directional fusion to ComputeFusedDeidrj 2025-05-22 13:50:41 -07:00
103c44e3c1 Added register tiling to ComputeUi 2025-05-22 13:28:33 -07:00
c1fe6c9109 Added register tiling to ComputeYi/Zi/YiWithZlist 2025-05-22 13:14:44 -07:00
c03e19d2dd Added support for extra padding to data structures to simplify extra vectorization 2025-05-22 13:01:35 -07:00
e9dc43c2da move and rename example folder for fix neighbor/swap. update inputs. add logs. 2025-05-22 14:27:37 -04:00
d70409181c Examples for accelerated diffusion using KMC-MD method 2025-05-22 14:27:23 -04:00
ef6cdbf00e Cleaned options reading index error 2025-05-22 11:49:15 -04:00
7b5b6f19b7 continued refactoring of Molecule class to include support for JSON 2025-05-21 16:24:41 -04:00
a46d32e4d4 improve error messages 2025-05-21 12:20:00 -04:00
7328dedb7b add JSON file detection by trying to parse it and catch exception
this also stores the file title and checks for compatible
application, format, and revision entries
2025-05-21 12:14:16 -04:00
30010a8929 small updates 2025-05-21 12:12:34 -04:00
6800e8bb39 step LAMMPS-GUI version number 2025-05-21 08:01:28 -04:00
594953ed0b refactor fix neighbor/swap
- plug memory leak
- modernize access to computes
- tighten checks
- modernize and improve error messages
- better check for known keywords when processing atom types
- support for typelabels
2025-05-21 07:29:34 -04:00
b92414349d update expand_args() unit tester with new error message 2025-05-20 21:49:28 -04:00
bc07696ce9 small correction for wildcard expansion 2025-05-20 21:18:07 -04:00
21394574ed stop with error, if trying to use wildcard for vector-style variable without upper bound 2025-05-20 18:11:28 -04:00
a443e6ea5e properly forward file and line number for grid ID parsing 2025-05-20 18:10:40 -04:00
37a344a2ad add example for Python with vector-style variable 2025-05-20 13:33:36 -06:00
271bdc1af7 alternate way to specify defines for MPI tests 2025-05-20 13:56:36 -04:00
2351418c94 made collapse_tree() method work correctly in Variable class for Python function wrappers, also added support for vector-style variables to use Python function wrappers 2025-05-19 21:42:08 -06:00
adce5bef84 explicitly skip MPI C++ in GPU package library 2025-05-19 22:20:50 -04:00
380c878e5f Merge remote-tracking branch 'github/develop' into cmake-adjustments 2025-05-19 22:15:51 -04:00
2744647c75 Merge pull request #4594 from akohlmey/collected-small-changes
Collected small changes
2025-05-19 22:13:37 -04:00
2cc1356384 skip MPI C++ support also for libraries 2025-05-19 22:09:38 -04:00
510563f5f3 explicitly skip MPI C++ interface in colvars 2025-05-19 21:51:53 -04:00
70e1bb50f1 add skip C++ defines for LAMMPS library instead 2025-05-19 21:40:44 -04:00
186a6431f7 directly disable C++ support when compiling main.cpp 2025-05-19 21:27:57 -04:00
09b174d129 turn off C++ support 2025-05-19 21:15:00 -04:00
5a8da735f2 explicitly use the MPI::C imported target on the main executable 2025-05-19 21:14:33 -04:00
ad63eb8bf7 Merge branch 'develop' into cmake-adjustments 2025-05-19 21:03:07 -04:00
b3402eaae8 Merge pull request #4424 from jtavenner-dev/kmc
add fix neighbor/swap
2025-05-19 20:57:00 -04:00
8fa4c0974c remove blank line 2025-05-19 16:41:00 -06:00
ac059a15b0 added a NOTE 2025-05-19 14:39:30 -06:00
c3b25c8c27 updated doc pages and code 2025-05-19 14:34:22 -06:00
b9b59bd23c small clarifications and corrections. Sync with current state of affairs 2025-05-19 11:31:42 -04:00
a821654ef5 correct error message 2025-05-19 11:30:51 -04:00
2968a62937 continue refactoring for bio force field and water moldel discussions 2025-05-17 23:30:18 -04:00
e393b9803b add information about the OPC model to the TIP4P howto 2025-05-17 22:41:42 -04:00
63ee449dc1 reformulate description of force components 2025-05-17 21:15:48 -04:00
031fab210f update unittest for change in compute pair/local 2025-05-15 23:28:46 -04:00
629ec2eabe update for consistency with docs 2025-05-15 23:16:31 -04:00
5fd4d6bb87 remove directionCorrection and update docs for compute pair/local and compute bond/local 2025-05-15 23:15:59 -04:00
ebfb94a717 fix whitespace 2025-05-15 17:04:18 -06:00
06616c5ff3 change how internal vars are defined by various commands, enable Python class to return a numeric value directly (for speed) 2025-05-15 16:37:41 -06:00
c3c0180649 correctly check for 32bit integer overflow 2025-05-15 08:15:35 -04:00
19cfd08eb8 correctly enable GPU package and make fix imd wait in background for bucky+cnt example 2025-05-15 08:15:01 -04:00
fd8fb74a88 cannot use Kokkos-OpenMP with recent hipcc 2025-05-15 07:47:19 -04:00
35f08232ba update for Fedora 41/42 2025-05-15 07:46:48 -04:00
2b7c05c057 properly select linker for modern clang compilers 2025-05-15 04:02:44 -04:00
179d4f0148 work around C++ error 2025-05-15 02:53:51 -04:00
32588f075e remove assignments of variables to themselves 2025-05-15 02:53:12 -04:00
9abb171d05 more CMake scripting updates to use C style MPI libraries not C++ 2025-05-15 02:49:02 -04:00
b3e7121535 modernize project() command and create project version string with dots 2025-05-15 02:14:35 -04:00
85f0853910 Merge branch 'develop' into cmake-adjustments 2025-05-14 20:11:01 -04:00
01bde55e9a match all argument types for powint() 2025-05-13 12:53:03 -04:00
68d2414b59 Merge branch 'fix-kokkos-log2' of https://github.com/Luthaf/lammps into collected-small-changes 2025-05-13 12:52:15 -04:00
9ba50df9d8 Select one overload of log2 for the kokkos build 2025-05-13 16:09:13 +02:00
83fa2cbc93 enable PotentialFileReader class to change line buffer size 2025-05-13 06:02:10 -04:00
fdd91e597e add a few more tests for extracted global properties 2025-05-13 02:44:05 -04:00
75907ccf91 add support to extract eflag/vflag_atom/global as global properties 2025-05-13 02:32:27 -04:00
2bcac9efba fix spelling issue 2025-05-12 12:13:05 -04:00
24149fc793 Create kokkos version of fix electron stopping 2025-05-11 09:25:15 +03:00
ef89edc4c6 Additional edits 2025-05-09 14:53:27 -06:00
bb62f46404 Merge branch 'kmc' of https://github.com/jtavenner-dev/lammps into kmc 2025-05-09 14:27:05 -06:00
17da04f07b Cleaned up language errors 2025-05-09 14:25:08 -06:00
6436cc87b7 Corrected inconsistent voro-ID compute references and examples 2025-05-09 14:23:03 -06:00
3215141d9e Merge pull request #4584 from navlalli/update-docs
Update fix qtpie/reaxff and fix qeq/rel/reaxff docs
2025-05-08 01:59:10 -04:00
3be9a40bf8 Merge branch 'develop' into update-docs 2025-05-08 01:09:17 -04:00
b69e8fff1f Merge pull request #4587 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-05-08 01:07:29 -04:00
458c0844a8 fix typo 2025-05-07 17:44:38 -04:00
acd53ebd7c update flag to accommodate changes in clang 2025-05-07 17:13:36 -04:00
ac556104c1 link to MPI C interface instead of C++ 2025-05-07 17:12:57 -04:00
22cddeee78 fix spelling in comments 2025-05-07 16:49:43 -04:00
60fe08c328 clarify and rewrap 2025-05-07 15:47:35 -04:00
38dffe2283 Properly processing >1 fix set force 2025-05-07 15:42:57 -04:00
45944c4dc9 Fixing passed arg from type to index 2025-05-07 15:42:40 -04:00
6c2f11ce75 Merge branch 'develop' into update-docs 2025-05-07 13:21:39 -06:00
011f05f9ff Update docs 2025-05-07 13:06:07 -06:00
955d5da09c Update CMake 2025-05-07 12:58:33 -06:00
b5cac76937 Restore default value 2025-05-07 12:55:54 -06:00
9f0c87cf81 Merge branch 'develop' of github.com:lammps/lammps into kk_update_4.6.1 2025-05-07 12:42:07 -06:00
9c8e03c4f4 Port changes from Kokkos develop branch to Makefile.kokkos 2025-05-07 12:41:53 -06:00
7c2c9ea286 add missing versionadded tag 2025-05-07 02:00:40 -04:00
3751fe6be7 Merge branch 'atom-style-var-with-python' of github.com:lammps/lammps into atom-style-var-with-python 2025-05-06 16:28:20 -06:00
1f85dd4093 update comment in variable.cpp 2025-05-06 16:28:10 -06:00
615dd589dd replace slow pow() function with faster and more accurate alternatives 2025-05-06 15:21:06 -04:00
c0a41bd638 Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-05-06 15:06:43 -04:00
c1e9adbd80 Merge pull request #4574 from talinke/develop
New Fix for GJF Langevin Dynamics
2025-05-06 13:24:06 -04:00
48df0448df spelling 2025-05-06 12:05:12 -04:00
2d22092078 additional info for pair style lj/smooth from Aidan 2025-05-06 12:00:55 -04:00
afcb97aaf2 address spelling issues 2025-05-05 20:22:00 -04:00
fbfe1e6a7c Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-05-05 20:13:42 -04:00
a528b88d8a Merge branch 'update-docs' of github.com:navlalli/lammps-qtpie into collected-small-changes 2025-05-05 20:13:23 -04:00
750cfbedd3 Merge pull request #4579 from gsalkuin/bpm-fix-rigid
Update atom->quat in rigid fixes for bpm/rotational compatibility
2025-05-05 20:09:53 -04:00
a1cd18e4cf Merge pull request #4522 from willzunker/mdr-dev
MDR contact model updates: radius update and damping
2025-05-05 20:07:36 -04:00
3b17ea5363 Merge pull request #4556 from Colvars/colvars-update
Update Colvars library to version 2025-04-18
2025-05-05 20:03:27 -04:00
dc07a1471e Properly processing >1 fix set force 2025-05-05 12:45:35 -06:00
7c30111fa0 Fixing passed arg from type to index 2025-05-05 11:50:59 -06:00
0d7e07b9be export bond topology related per-atom data via library interface 2025-05-05 06:25:22 -04:00
7ec7745640 make neighbor list settings, status, and bond/angle/dihedral/improper lists available to library interface 2025-05-05 05:21:18 -04:00
8d38ec4f18 Merge branch 'mliap-torch-load-fix' of https://github.com/fglines-nv/lammps into collected-small-changes 2025-05-03 21:22:53 -04:00
228cf1e871 Correct leftover references to vector inputs in docs 2025-05-03 19:07:01 +02:00
6c8e758e2b Fix subscript range checking typo 2025-05-03 19:00:53 +02:00
f3adda8d3e clean-up code and doc page 2025-05-02 16:21:41 -06:00
af840176e7 doc page tweak 2025-05-02 16:14:55 -06:00
79f6867d7e new doc page for fix set command with example 2025-05-02 16:13:01 -06:00
3fafec9cba do not try to suppress nvcc warning with LLVM based compilers. those fail when configuring MPI. 2025-05-02 16:02:42 -04:00
10077b057c Update fix_ave_moments.rst
Emphasized the difference in behavior between this fix and other fix ave/* commands with regards to Nevery, Nrepeat and Nfreq.
2025-05-02 21:42:33 +02:00
37221c080b Add self-citation 2025-05-02 13:52:17 +01:00
55a13efad0 small update 2025-05-02 00:30:22 -04:00
a388bd38ee add LAMMPS-GUI screenshot image 2025-05-02 00:21:41 -04:00
edb060ccf5 Add examples and expected output for ave/moments 2025-05-02 01:20:37 +02:00
565e7b2c2b Add documentation for ave/moments 2025-05-02 01:20:36 +02:00
b2001e999c Implement moments calculation fix ave/moments 2025-05-02 01:20:36 +02:00
f8a0ff011b Skeleton implementation of fix ave/moments 2025-05-02 01:20:36 +02:00
1f5b64bca4 torch.load fix for torch>=2.6 in ML-IAP 2025-05-01 15:22:05 -07:00
e474bfeece Merge remote-tracking branch 'github/develop' into atom-style-var-with-python 2025-05-01 16:03:27 -04:00
9b36c58eb2 fix spelling and docbuild issues 2025-05-01 16:03:11 -04:00
1fc13c491c change PYFUNCTION to PYWRAPPER in code 2025-05-01 13:16:50 -06:00
a2a2c541b5 tweaks to code and doc page 2025-05-01 12:57:27 -06:00
76d0ead245 doc pages for new Python function wrappers 2025-05-01 12:41:48 -06:00
165f34bc12 Merge pull request #4571 from akohlmey/collected-small-fixes
Collected small fixes
2025-05-01 11:43:50 -04:00
19d25a3654 initial implementation of python functions in variable formulas, including for atom-style vars 2025-05-01 07:59:41 -06:00
597a841f40 Update Kokkos library in LAMMPS to v4.6.1 2025-04-30 17:21:22 -06:00
2ab7eda64a improve warning and explanation about too short communication cutoff 2025-04-30 16:46:22 -04:00
cba479bf6e Update Colvars library to version 2025-04-18
The following is a list of pull requests relevant to LAMMPS in the Colvars repository since 2024-08-06:

- 752 New tool poisson_integrator_conv
  https://github.com/Colvars/colvars/pull/752 (@jhenin)

- 733 Custom grids for all biases
  https://github.com/Colvars/colvars/pull/733 (@giacomofiorin, @jhenin)

- 776 Avoid error in acos and asin with fast-math
  https://github.com/Colvars/colvars/pull/776 (@jhenin)

- 773 fix: fix the clang build test failure of OPES
  https://github.com/Colvars/colvars/pull/773 (@HanatoK)

- 768 fix: clamp the input values of asin and acos in case of fast math on aarch64
  https://github.com/Colvars/colvars/pull/768 (@HanatoK)

- 761 Add debug code for the Jacobi failure
  https://github.com/Colvars/colvars/pull/761 (@HanatoK)

- 759 min_image fix; Saves long runs from crashes;
  https://github.com/Colvars/colvars/pull/759 (@PolyachenkoYA)

- 757 Fix MSVC OpenMP issue
  https://github.com/Colvars/colvars/pull/757 (@HanatoK)

- 755 Fix indentation of 'Init CVC' message in standard output
  https://github.com/Colvars/colvars/pull/755 (@jhenin)

- 750 Optimize and simplify the calculation of dihedral gradients
  https://github.com/Colvars/colvars/pull/750 (@HanatoK)

- 749 Add references to new Colvars paper
  https://github.com/Colvars/colvars/pull/749 (@jhenin, @giacomofiorin)

- 740 Report the specific C++ standard at init time, stop warning about C++97/03
  https://github.com/Colvars/colvars/pull/740 (@giacomofiorin)

- 731 Improve detection of hard/mathematical boundaries
  https://github.com/Colvars/colvars/pull/731 (@giacomofiorin)

- 729 Optimize the fit gradients
  https://github.com/Colvars/colvars/pull/729 (@HanatoK, @jhenin)

- 728 Fix undefined behavior when getting the current working directory from std::filesystem
  https://github.com/Colvars/colvars/pull/728 (@giacomofiorin)

- 727 Add patchversion scripting command
  https://github.com/Colvars/colvars/pull/727 (@giacomofiorin)

- 724 Fix gradients and metric functions of distanceDir
  https://github.com/Colvars/colvars/pull/724 (@giacomofiorin)

- 715 Add missing rotation in orientation component
  https://github.com/Colvars/colvars/pull/715 (@giacomofiorin)

- 713 fix: try to solve #87 for non-scala components
  https://github.com/Colvars/colvars/pull/713 (@HanatoK)

- 709 Implementation of OPES in Colvars
  https://github.com/Colvars/colvars/pull/709 (@HanatoK, @giacomofiorin, @jhenin)

- 706 BUGFIX for Segmentation fault in colvarbias_meta::calc_energy() with useGrids off
  https://github.com/Colvars/colvars/pull/706 (@alphataubio)

- 570 enable use of CVs defined by PyTorch neural network models
  https://github.com/Colvars/colvars/pull/570 (@zwpku, @giacomofiorin, @HanatoK, @jhenin)

Authors: @alphataubio, @EzryStIago, @giacomofiorin, @HanatoK, @jhenin, @PolyachenkoYA, @zwpku
2025-04-30 15:32:30 -04:00
f9ba063c4a add citation reminder 2025-04-30 12:17:31 -04:00
def38bf0f3 Updated fix langevin algorithm citation 2025-04-29 15:03:49 -07:00
2fa9cc7ae1 correct 2025-04-29 17:52:48 -04:00
0ce5d68455 Merge branch 'develop' into talinke/develop 2025-04-29 17:20:15 -04:00
1062a8fb3a add deprecation warning to fix langevin and document it 2025-04-29 17:20:04 -04:00
332006923d Name change: langevin/gjf to gjf 2025-04-29 12:00:06 -07:00
169f8ffd73 Merge branch 'lammps:develop' into bpm-fix-rigid 2025-04-29 13:23:36 -04:00
f9a55c0f49 update reference data in test which was updated in KIM database 2025-04-29 08:40:47 -04:00
053792ed47 fix typo detected by copilot 2025-04-28 23:14:54 -04:00
2fc7d287d4 Merge branch 'develop' into collected-small-fixes 2025-04-28 22:27:32 -04:00
440e24c60e Merge pull request #4559 from lammps/gcmc-eatom
Added atomic energy option for energy change calculation in fix sgcmc
2025-04-28 22:26:15 -04:00
d4867ab55e add false positives 2025-04-28 22:22:47 -04:00
2927b08792 correct reference 2025-04-28 22:20:57 -04:00
4a3c08576f small formal updates 2025-04-28 22:19:14 -04:00
c886fff624 Merge branch 'develop' into gcmc-eatom 2025-04-28 17:55:48 -06:00
e5854ced41 backward compatibility not needed here 2025-04-28 18:56:32 -04:00
0768aac1fd update Qt platform version for flatpak build to latest 5.15 branch 2025-04-28 18:45:57 -04:00
75d3d79fca open available error URLs with double click or from context menu 2025-04-28 18:25:40 -04:00
fc0788f61c Styling 2025-04-28 13:18:33 -07:00
b5f3660101 Merge branch 'lammps:develop' into develop 2025-04-28 13:16:24 -07:00
11f6b3483b Updated documentation, updated log files 2025-04-28 13:02:47 -07:00
db3d93210d highlight error URLs in logwindow 2025-04-28 10:56:37 -04:00
e62f45b2b5 fixed whitespace 2025-04-28 09:21:14 -05:00
7151f261a0 address sphinx formatting issue due to added paragraph 2025-04-27 10:04:41 -04:00
31b18ad24e update help index table 2025-04-27 10:03:35 -04:00
f7e53b06e4 updated doc page for threads/per/atom 2025-04-27 08:56:53 -05:00
bef695f70b fix copy-n-paste error 2025-04-27 07:39:58 -04:00
c74e7292c0 allow to set vectorsize (threads per atom) with neigh/thread from -pk kokkos 2025-04-26 17:44:24 -05:00
5169a633e5 make sure cut_respa is initialized 2025-04-26 17:04:14 -04:00
2c27ea3706 Fix spelling in comment
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-26 13:32:21 -04:00
f8bf6d1ad6 correct a few more issues with unit tests 2025-04-26 02:42:09 -04:00
d89ae3d15d fix 64-bit integer compilation issue 2025-04-26 02:28:43 -04:00
6030c68ba3 correct reference 2025-04-26 02:18:57 -04:00
9442218b36 spelling 2025-04-26 02:18:45 -04:00
1a1f4b1a82 correct reference 2025-04-26 02:17:54 -04:00
3221c53b14 whitespace 2025-04-26 02:14:42 -04:00
161776b2c7 recover AtomStyle and SetProperty unit tests 2025-04-26 02:14:10 -04:00
78c5e9c00b reformat according to revised programming style and partial clang-format 2025-04-26 01:33:17 -04:00
36ad6ebe52 apply clang-format 2025-04-26 01:24:23 -04:00
85bac7665a add missing override attribute 2025-04-26 01:24:06 -04:00
12c72593f7 more fixes to recover compilation 2025-04-26 01:17:45 -04:00
ad6b674798 Merge branch 'develop' into fix-set-command 2025-04-26 01:13:58 -04:00
3b2f794398 fix issue breaking compilation 2025-04-26 01:03:46 -04:00
092df8ed8f add copyright header 2025-04-26 00:56:47 -04:00
4897fbb210 Merge branch 'develop' into collected-small-fixes 2025-04-26 00:50:58 -04:00
40d8e1b95f Merge pull request #4535 from Bibobu/plot_forces_tool
Adding python tool to plot tabulated forces
2025-04-26 00:50:32 -04:00
4b2163666c Merge pull request #4545 from jtclemm/rheo
Small patches to various packages
2025-04-26 00:46:49 -04:00
7102cc2588 use bold font for column titles 2025-04-25 20:31:16 -04:00
f1edc7f222 whitespace 2025-04-25 20:15:36 -04:00
706aa19710 Use type/ratio instead of type/fraction to select charged types 2025-04-25 20:05:09 -04:00
67c6dc492b update to ScaFaCoS version 1.0.4 2025-04-25 20:03:06 -04:00
d406289a7a propagate changes from library.cpp/library.h to swig and plugin interface 2025-04-25 17:04:32 -04:00
1969c28e0c delete unused variables 2025-04-25 16:35:54 -04:00
f577dcb28b Merge pull request #4570 from akohlmey/collected-small-changes
More small changes to recover builds of "develop"
2025-04-25 16:30:16 -04:00
d416202b71 restore missing blank 2025-04-25 16:16:15 -04:00
46f4f5a3c0 move JSON class back to try recover legacy builds 2025-04-25 16:11:11 -04:00
9b258d4c82 try another variant 2025-04-25 15:51:39 -04:00
1597019419 another small tweak 2025-04-25 15:44:52 -04:00
c8b841b08e small tweak 2025-04-25 15:31:32 -04:00
3b9ddf7a1f spelling 2025-04-25 14:59:42 -04:00
cab78b2c0d correct docs related to adding explicit Coulomb interactions 2025-04-25 14:15:01 -04:00
734bc915e2 must include third_party folder with legacy build 2025-04-25 14:14:20 -04:00
3c5e85a7c0 Merge pull request #4550 from akohlmey/collected-small-fixes
Collected small changes and fixes
2025-04-25 13:46:59 -04:00
9e26d8b569 Missing derivative for RK0 2025-04-25 10:19:28 -06:00
43fcf6eccc use ioffset variable. 2025-04-25 11:44:03 -04:00
d25d0cbc7e Merge pull request #4562 from mateors6/lj/pirani
Add pair style lj/pirani
2025-04-25 11:27:58 -04:00
8e07d48518 GitHub has stopped support for subversion in 2024. Remove note from 2016. 2025-04-24 18:42:19 -04:00
d4ba5d1fe6 Fixing bug in minimum density 2025-04-24 10:53:17 -06:00
a1fc036e25 Fix typo in src/timer.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-24 07:53:05 -04:00
ad086f26a5 Update version added 2025-04-24 10:42:42 +01:00
20d3d47fe3 Update pair_lj_pirani.rst 2025-04-24 09:18:41 +02:00
2d70947044 two more workarounds for compilation with -DFMT_STATIC_THOUSANDS_SEPARATOR 2025-04-23 21:00:40 -04:00
130033ec75 first working version of fix set with refactored set command 2025-04-23 13:04:54 -06:00
4126c9ed75 implement workaround for compilers that require -DFMT_STATIC_THOUSANDS_SEPARATOR 2025-04-23 14:20:10 -04:00
2e8b95f0c1 Update pair_lj_pirani.rst
Documentation update
2025-04-23 19:34:06 +02:00
f9dc879033 add comment to indicate that setting the pointer to null has no effect in sfree.
You need Memory::destroy() but that can't be applied to all use cases.
2025-04-23 08:41:56 -04:00
b1159dc528 fix up to Copilot suggested code change 2025-04-23 05:58:10 -04:00
1352257cf4 Use modern C++ code pattern to build c-style argument list
This was suggested by GitHub Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-23 05:51:53 -04:00
6629ecff2d implement function to add request for single occasional neighbor list 2025-04-22 21:44:45 -04:00
648cd3f0c6 Temperature bias capability 2025-04-22 17:43:21 -07:00
946e885209 Merge branch 'develop' into fix-set-command 2025-04-22 14:21:02 -06:00
9e9caf7d14 dummy implementation of single neighbor list build 2025-04-22 16:02:51 -04:00
290ca2a095 Update pair_lj_pirani.rst
Corrections
2025-04-22 21:13:22 +02:00
73fe2f7915 Update extract(), document, and test 2025-04-22 11:28:17 -04:00
d10e5dded2 Add OPENMP package version of pair style lj/pirani 2025-04-22 11:27:41 -04:00
bbc025632d apply clang-format 2025-04-22 10:50:24 -04:00
dbe98e2cfb update embedded JSON class to version 3.12.0 2025-04-22 10:37:29 -04:00
25307b049c Update and rename mol-pair-lj_improved_cut.yaml to mol-pair-lj_pirani.yaml
New name
2025-04-22 14:55:38 +02:00
da903e6d44 Update and rename pair_lj_improved_cut.h to pair_lj_pirani.h
New name
2025-04-22 14:53:15 +02:00
f9ba8caf4a Update and rename pair_lj_improved_cut.cpp to pair_lj_pirani.cpp
New name
2025-04-22 14:51:27 +02:00
7221e3993a Update .gitignore
New name
2025-04-22 14:48:11 +02:00
0673ac6acf Update pair_style.rst
New name
2025-04-22 14:47:24 +02:00
fcc4092e83 Update and rename pair_lj_improved_cut.rst to pair_lj_pirani.rst
New name
2025-04-22 14:45:52 +02:00
26ab7cd20d Update Commands_pair.rst
New name
2025-04-22 14:44:05 +02:00
385f350918 Removed debug code from unrelated files in MANYBODY and MC 2025-04-21 15:50:14 -06:00
04732e2efd Removed debug code from unrelated files in MANYBODY and MC 2025-04-21 10:08:27 -06:00
7bfc15ff2c Address akohlmey comments 2025-04-21 10:06:50 -06:00
d5c4f9c158 Fixed whitespace 2025-04-20 11:01:38 -06:00
0ff17967b0 Merge branch 'fix_omp_detection' of github.com:rbberger/lammps into collected-small-fixes 2025-04-20 10:37:04 -04:00
4e69046e54 cmake: fix omp.h detection
CMAKE_REQUIRED_LINK_OPTIONS needs to be a ;-separated list.
See https://cmake.org/cmake/help/latest/module/CheckIncludeFileCXX.html.
Fixes OpenMP detection with AppleClang when libomp is manually provided.
2025-04-20 00:40:24 -06:00
75d620c0a7 Fixed doc page 2025-04-19 18:21:39 -06:00
fc0a41fb71 Added atomic/energy keyword, EAM support, correct for examples/MC/in.sgcmc.eam in serial 2025-04-19 18:15:43 -06:00
6988c2f13e Typo in rheo doc 2025-04-19 10:55:19 -06:00
c088ce2f51 fix typo 2025-04-19 11:05:52 -04:00
699e5bee07 Merge branch 'fix_cmake_list' of github.com:alinelena/lammps into collected-small-fixes 2025-04-19 11:02:45 -04:00
bd427ecf7a do not make CMAKE_CXX_FLAGS a list of springs, ends up adding ; to the flags breaking compilation 2025-04-19 08:57:54 +01:00
8adc2d3391 Update pair_lj_improved_cut.cpp
Corrected energy calculation for r-RESPA
2025-04-18 13:48:10 +02:00
95a0c0a69a add another small optimization 2025-04-18 07:31:39 -04:00
f385633f97 Update pair_lj_improved_cut.cpp 2025-04-18 12:32:57 +02:00
a59a2e4dba address multiple issues with formatting, references, non-ASCII characters, spelling 2025-04-18 00:48:28 -04:00
0895b77a93 replace slow pow(x,2.0) with square(x) and cache repeatedly used pow() calls 2025-04-18 00:36:24 -04:00
71da769b11 add force style test 2025-04-18 00:35:01 -04:00
9a08f7b23b add test for indented output 2025-04-17 16:26:03 -04:00
bd34c5f315 Update .gitignore 2025-04-17 22:14:38 +02:00
18dca0eeb1 Update pair_lj_improved_cut.rst 2025-04-17 21:58:50 +02:00
942e77d976 Update and rename pair_ilj_cut.rst to pair_lj_improved_cut.rst 2025-04-17 21:57:18 +02:00
25fd039457 Add files via upload 2025-04-17 21:52:52 +02:00
96f7dc79cc Delete src/EXTRA-PAIR/pair_ilj_cut.h 2025-04-17 21:51:48 +02:00
8ef9759856 Delete src/EXTRA-PAIR/pair_ilj_cut.cpp 2025-04-17 21:51:33 +02:00
e1e87cc9ef Fixing indexing error in fix rheo arg parsing 2025-04-17 13:49:36 -06:00
e7a8cc6646 Update .gitignore 2025-04-17 21:29:30 +02:00
80361d0bd6 Merge branch 'lammps:develop' into lj/improved/cut 2025-04-17 21:25:20 +02:00
7806244713 Update pair_style.rst 2025-04-17 21:09:43 +02:00
e15e7f699e Update Commands_pair.rst 2025-04-17 21:05:58 +02:00
6e2d7f48d7 alternate approach to include header from thirdparty dir 2025-04-17 14:10:03 -04:00
51aa87d4ce Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-04-17 13:58:14 -04:00
7ca493917a Merge pull request #4542 from akohlmey/add-json-lib
Integrate header-only JSON library
2025-04-17 13:56:16 -04:00
5938dee2d9 Delete doc/pair_ilj_cut.html 2025-04-17 18:44:31 +02:00
854e9c7a19 Merge branch 'develop' into ILJ/CUT 2025-04-17 18:31:59 +02:00
a7760e82e1 Merge pull request #4536 from akohlmey/remove-cmake-tune-flags
Remove CMAKE_TUNE_FLAGS
2025-04-17 11:02:04 -04:00
0f80a5c93d Add files via upload 2025-04-17 14:06:57 +02:00
82bb366126 Delete doc/pair_ilj_cut.rst 2025-04-17 14:06:14 +02:00
ab75943e39 Add files via upload 2025-04-17 14:02:32 +02:00
ae19abdd7a Add files via upload 2025-04-17 14:01:14 +02:00
27d8e103eb move json.hpp class to thirdparty folder and add wrapper for use with LAMMPS 2025-04-16 15:54:59 -04:00
a9fe42bea4 fix bug reported in issue #4551 2025-04-16 06:21:11 -04:00
5d9a7d154d address spelling and formatting issues 2025-04-15 22:48:25 -04:00
4553108035 add minimal unit test for JSON class 2025-04-15 22:11:44 -04:00
c4c76dd96c catch JSON library exceptions 2025-04-15 21:31:03 -04:00
b131659a43 modify include guard and namespace to avoid clashes with the original version 2025-04-15 21:31:03 -04:00
d2d7248e3a import original version 3.11.3 files 2025-04-15 21:31:03 -04:00
49d5e02c11 Variable name change, fixing some spacing/typos 2025-04-15 17:34:46 -06:00
0c29a0a0c9 changed damp_type to be a mdr damping coefficent 2025-04-15 13:55:38 -04:00
4bfdd3eb34 Remove trailing whitespace 2025-04-14 16:22:11 -06:00
51de62ce05 Reconcile version changes to documentation and polish 2025-04-14 15:58:19 -06:00
703750f4c8 Merge branch 'kmc' of https://github.com/jtavenner-dev/lammps into kmc 2025-04-14 15:57:16 -06:00
a3bc1a6c0b Merge branch 'lammps:develop' into kmc 2025-04-14 15:52:23 -06:00
ca246a50f1 Merge branch 'develop' of https://www.github.com/lammps/lammps into kmc 2025-04-14 15:37:47 -06:00
3a6ea0808d Merged changes to documentation for further user clarity 2025-04-14 15:36:33 -06:00
e4c3b0c05e New example and log files 2025-04-14 11:33:02 -07:00
689b542da6 make minimize work with KOKKOS package without -suffix or suffix command 2025-04-14 10:59:54 -04:00
b081d289c1 Merge pull request #4546 from akohlmey/lammps-gui-enhancements
LAMMPS-GUI enhancements
2025-04-14 10:49:54 -04:00
0b0383bc64 Merge pull request #4548 from jrgissing/bond/react-create+rate_limit_bugfix
bond/react: refactor reaction counting
2025-04-14 09:38:10 -04:00
7be6e95647 Rephrasing suggested by @simongravelle 2025-04-14 06:28:29 -04:00
31df721767 update documentation 2025-04-13 20:01:06 -04:00
0bab80a26e not much use for editing x axis label. better give more space to other options 2025-04-13 19:33:07 -04:00
f181ca6aec support setting graph colors in preferences 2025-04-13 16:56:21 -04:00
1eb61936ab refactor reaction counting
previously, the rate_limit keyword did not work when also creating atoms
2025-04-13 12:56:01 -04:00
00673999af Merge remote-tracking branch 'github/develop' into lammps-gui-enhancements 2025-04-13 05:41:26 -04:00
994b7b4937 Merge pull request #4540 from evoyiatzis/fix-adapt-dihedral
extend fix adapt to treat dihedrals
2025-04-13 05:39:58 -04:00
bb09088731 add new tab to preferences for charts window settings 2025-04-12 11:49:41 -04:00
1ad2df84d8 add checkbox to automatically open tutorial website, if available 2025-04-12 06:49:44 -04:00
d0c3564216 update TODO list 2025-04-12 00:53:45 -04:00
2dd53c440e Add mini ToC for HowTo only and reorganize the introduction 2025-04-12 00:47:35 -04:00
ed1f4cc381 add functionality to edit the plot title and x- and y-axis labels 2025-04-11 23:25:56 -04:00
09d3ac0a1b Updated GJ-VII, GJ-VIII 2025-04-11 20:07:25 -07:00
3aa3d45a9f Merge pull request #4532 from akohlmey/collected-small-fixes
Collected small fixes and changes
2025-04-11 21:02:02 -04:00
a30daec348 Addition of GJ-VII 2025-04-11 13:40:35 -07:00
2ca9e188c0 Prevent BPM bonds breaking during setup 2025-04-11 12:53:51 -06:00
b8e14cd0c9 correct and rephrase one more time 2025-04-11 14:04:33 -04:00
3810be6c8b correct / clarify embedded docs 2025-04-11 14:04:27 -04:00
7a40e78c7a Merge conflict 2025-04-11 11:21:56 -06:00
e79171c1de Merge branch 'develop' into rheo 2025-04-11 11:18:53 -06:00
f786707699 Cleaning up granular restitution example 2025-04-11 11:14:34 -06:00
02c627db82 Merge branch 'collected-small-fixes' of github.com:akohlmey/lammps into collected-small-fixes 2025-04-11 12:34:45 -04:00
190ecd2666 clarify 2025-04-11 12:34:31 -04:00
a5b83224e4 rephrase to be less ambiguous and provide a couple more details 2025-04-11 12:29:03 -04:00
7c0fd42ab4 Move atom_vec_apip to src/APIP. 2025-04-11 10:21:18 +02:00
2bb9454190 Correct style 2025-04-10 13:15:30 -07:00
43a7b14b7c New example structure 2025-04-10 12:01:02 -07:00
4dd8c66390 Updated documentation 2025-04-10 10:33:08 -07:00
90797c7b62 document that also molecules from the molecule command can be visualized 2025-04-10 11:51:13 -04:00
83c785740b improve phrasing 2025-04-10 10:49:27 -04:00
8c1aada9cb Support constant lambda in APIP. 2025-04-10 16:05:16 +02:00
dfc10e5b59 small improvements of molecule visualization. 2025-04-10 08:56:57 -04:00
bc031bdd7a initial attempt to allow viewing molecules. 2025-04-10 08:23:04 -04:00
f2bf0d0a8b add optional create_atoms group keyword to add new atoms to a custom group 2025-04-10 05:36:26 -04:00
980bf70310 improve error messages 2025-04-10 05:00:41 -04:00
227b4ed12d remove unused class members and plug memory leaks 2025-04-10 04:39:56 -04:00
32592e6660 add feature idea for LAMMPS-GUI 2025-04-10 01:13:44 -04:00
2f861b83d7 correct embedded documentation 2025-04-10 00:01:40 -04:00
d1f452fcb6 fix whitespace issues 2025-04-09 17:45:54 -04:00
6e7cbbeb9c add errorurl(36) message to all "boost neigh_modify one" errors 2025-04-09 17:35:42 -04:00
e9695df0e8 Provide some additional explanations for the "boost neigh_modify one" error 2025-04-09 17:29:34 -04:00
8fd1bf23c9 only compute special neighbors of a template if it has bonds 2025-04-09 16:41:46 -04:00
f16f65c8dc add missing entries 2025-04-09 10:45:51 -04:00
bd6bb3ce10 Updated integrator, streamlined variables 2025-04-08 17:35:09 -07:00
585565edb9 corrected initialization of damp_type, error checks, doc changes, example script updates 2025-04-08 20:33:28 -04:00
210cddd94e working on adding damping types to mdr damping 2025-04-08 18:32:45 -04:00
d6e9a6a44a Update atom->quat in fix_rigid_small.cpp 2025-04-08 10:03:36 -04:00
139ecd0e90 Merge branch 'lammps:develop' into develop_ap 2025-04-08 16:03:25 +02:00
813e65026e fixing whitespaces 2025-04-08 15:53:45 +02:00
535d08895a Add APIP package. 2025-04-08 15:26:45 +02:00
586d24f5ef whitespace 2025-04-07 23:02:00 -04:00
7643c901eb cleaned mdr damping and updated velocity damping for mdr use 2025-04-07 22:57:29 -04:00
a237bdc753 Merge remote-tracking branch 'github/develop' into remove-cmake-tune-flags 2025-04-07 22:50:50 -04:00
af718e8162 remove one more use to CMAKE_TUNE_FLAGS 2025-04-07 22:50:38 -04:00
c9f25a69e5 remove rarely working hack 2025-04-07 22:48:44 -04:00
b6dae216d3 no need to set build type specific flags 2025-04-07 22:48:18 -04:00
3d13227287 convert compiler workaround from augmenting compiler flags to target_compile_definition() 2025-04-07 22:17:08 -04:00
647bc7538d programming style fix 2025-04-07 21:46:09 -04:00
fc3d295560 add missing entry to OpenMP reduction clause. 2025-04-07 21:29:53 -04:00
641d496d4b Refined keyword options 2025-04-07 17:36:48 -07:00
319e14c8e3 Update atom->quat in fix_rigid.cpp 2025-04-07 18:28:33 -04:00
dcb04032fb avoid memory leak on element names 2025-04-07 18:18:16 -04:00
99b484a0cc add Kokkos/OpenMP version of mliap unified test 2025-04-07 18:06:31 -04:00
c505bfbdfe make sure OpenMP has a sufficient number of threads allocated 2025-04-07 18:06:07 -04:00
8ea6c5c395 avoid memory leak for element names 2025-04-07 18:05:35 -04:00
6c337ba655 manage cutghost array for KOKKOS, if requested by pair style command 2025-04-07 18:00:56 -04:00
52ce35adbc make sure cutghost is initialized 2025-04-07 17:59:45 -04:00
bfd496bee7 plug memory leaks in pyx files 2025-04-07 17:59:12 -04:00
9a06ac9585 Merge branch 'develop' into fix-adapt-dihedral 2025-04-07 23:15:52 +02:00
499192a1b2 restore option to request neighbor lists with neighbors of ghosts 2025-04-07 16:27:16 -04:00
809d5b5b93 Fix typo in dihedral_charmm.cpp 2025-04-07 21:08:35 +02:00
7b0c5f3e04 Fix typo indihedral_charmmfsw.cpp 2025-04-07 21:07:52 +02:00
d012d13c19 fix typo in dihedral_quadratic.cpp 2025-04-07 20:52:55 +02:00
fe9915f307 disable support for neighbors of ghosts. see also bff980b56f 2025-04-07 14:37:35 -04:00
fdbae98345 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-04-07 14:05:27 -04:00
6372178caa Merge pull request #4538 from bathmatt/mliap-coefs-bug
Fixed invalid ref of coeffs in pair style mliap/kk
2025-04-07 13:58:55 -04:00
4ce473a649 Merge branch 'lammps:develop' into fix-adapt-dihedral 2025-04-07 19:54:18 +02:00
ef875b5973 fixed whitespace 2025-04-07 14:16:49 +02:00
239eb64cbb modifications in fix adapt.cpp 2025-04-07 11:58:24 +02:00
2b38b6d1c0 extract() implementation for dihedral class2 2025-04-07 11:35:20 +02:00
e93709d34e extract() implementation for dihedral helix 2025-04-07 11:20:53 +02:00
7655a4cb84 extract() implementation for dihedral multi/harmonic 2025-04-07 09:30:44 +02:00
e956e5ccda extract() implementation for dihedral charmm and charmmfsw 2025-04-07 09:24:44 +02:00
55964c1233 extract() implementation for dihedral cosine squared restricted 2025-04-07 09:11:42 +02:00
27ac8c0ea1 extract() implementation for dihedral opls 2025-04-07 09:05:42 +02:00
477f78b28c Fixed invalid ref 2025-04-07 08:42:57 +02:00
7034e930fd update date 2025-04-06 15:03:39 -04:00
6267389801 must force OMP_NUM_THREADS=1 for all tests to pass 2025-04-06 11:30:41 -04:00
911b3eb811 cleanup format 2025-04-06 11:16:58 -04:00
2a1fb835ad must not allocate eatom and vatom when called from KOKKOS version (which sets copymode to 1) 2025-04-06 10:33:05 -04:00
d4bcd3b7eb plug memory leak in SO3 descriptor for pair style mliap/kk 2025-04-06 10:25:56 -04:00
cf3ffb9dfc simplify fingerprint to match more suppression cases 2025-04-06 10:25:31 -04:00
c6d2812d2d Revert "match documentation to return 0 when checking for size of columns on 1d arrays"
This reverts commit 6272acd9c6.
Which isn't needed
2025-04-06 07:51:52 -04:00
ac76176dd5 must set lj cutoff to avoid uninitialized data access 2025-04-06 07:29:35 -04:00
cdea2737c7 remove CMAKE_TUNE_FLAGS 2025-04-06 07:06:20 -04:00
da2bc03ae6 do explicit loop over nlocal to avoid out-of-bounds access with implicit loop 2025-04-06 06:21:39 -04:00
6272acd9c6 match documentation to return 0 when checking for size of columns on 1d arrays 2025-04-06 06:19:34 -04:00
6ab7d7d818 Made plot_forces executable 2025-04-06 10:37:54 +02:00
ece0df7f7e Small modification of Tools.rst to include plot_forces + typo 2025-04-06 10:37:23 +02:00
94e6022210 Changed --recompute option of plot_forces to -d for consistency 2025-04-06 10:34:28 +02:00
b357540e92 Added plot_forces description to README.md 2025-04-06 10:33:30 +02:00
f8757abe92 Moved plot_forces to the tools/tabulate/ folder 2025-04-06 10:31:29 +02:00
2eaf1e52f0 add even more suppressions and generalize some 2025-04-06 03:49:11 -04:00
860a3cbbd3 add suppressions for dlopen() and friends 2025-04-06 03:02:34 -04:00
8d5459393f Added the plot_forces file from previous PR 2025-04-05 23:32:36 +02:00
2939e7d509 Merge branch 'develop' of github.com:lammps/lammps into plot_forces_tool 2025-04-05 23:28:52 +02:00
0cc6fb8e18 fix acks2/reaxff/kk should use post_constructor() like base class for order of operations 2025-04-05 16:36:20 -04:00
3fc0868db9 enable and apply clang-format 2025-04-05 15:48:10 -04:00
0bfa5b210b plug memory leak 2025-04-05 15:42:04 -04:00
25f1dac9b6 more suppressions for MPICH and Kokkos 2025-04-05 01:42:44 -04:00
7c2ca8c8e5 must not call plain ev_init() from KOKKOS without setting alloc to 0 to avoid memory leak 2025-04-05 01:42:18 -04:00
c60bff2b97 reformat source 2025-04-05 00:53:28 -04:00
e0847f2195 fix memory leak in test 2025-04-05 00:26:20 -04:00
ea76dc99e9 Adding damp coeff back in 2025-04-04 15:20:55 -06:00
b9228a854e no need to call allocate() of the base class 2025-04-04 17:17:40 -04:00
be6acff029 must not allocate eatom and vatom in base class to avoid big memory leak 2025-04-04 17:17:08 -04:00
bff980b56f cutghost is not used anyware; remove to plug memory leaks 2025-04-04 17:15:56 -04:00
3d4b57d7fd Removing old variable 2025-04-04 14:40:01 -06:00
a970f946a7 some more MPICH suppressions 2025-04-04 12:05:58 -04:00
0c71daabbe Merge pull request #4530 from akohlmey/collected-small-fixes
Collected small fixes and changes.
2025-04-04 12:04:46 -04:00
30bbbafd9d Cleaning up MDR files 2025-04-04 09:57:43 -06:00
d1dd05bf4e update unit test for quadratic dihedral 2025-04-04 17:19:54 +02:00
996faf7a94 update documentation 2025-04-04 17:11:30 +02:00
3182dc26da extract() implementation for dihedral quadratic 2025-04-04 17:06:29 +02:00
0879548737 change fix adapt header file 2025-04-04 17:03:58 +02:00
54d7f46151 modifications in dihedral & dihedral_hybrid 2025-04-04 17:00:52 +02:00
ccd6eeb8af unit test 2025-04-04 16:53:57 +02:00
5086c639e2 improve docs and use dtype as parameter name to avoid confusion with type 2025-04-04 10:41:35 -04:00
f4f0a22ee1 improve valgind suppression information and format 2025-04-04 10:19:38 -04:00
66fbc40944 add valgrind suppression for Kokkos 2025-04-04 10:09:33 -04:00
af31dd3a6b update suppressions so they work with both the library interface and the standalone executable 2025-04-04 09:16:23 -04:00
5d32a1e61a don't mix malloc() and delete 2025-04-04 06:53:12 -04:00
50f42f203d make consistent, remove ghost member map 2025-04-04 06:52:02 -04:00
e3016072ad Merge branch 'develop' of github.com:lammps/lammps into develop 2025-04-04 10:22:41 +02:00
d06bfbf180 add missing index 2025-04-04 03:41:22 -04:00
a3de234873 update valgrind suppressions for Fedora 41 2025-04-04 03:40:25 -04:00
fdf5f8dd22 avoid division by zero 2025-04-04 03:39:56 -04:00
cadac64ab6 plug memory leak detected by coverity scan 2025-04-04 03:39:39 -04:00
9d61ff4bba add support for compiling fully static LAMMPS executable with libcurl 2025-04-04 00:45:19 -04:00
daf58e72dc update for recent changes 2025-04-03 22:45:37 -04:00
91283d98cc allow to set https_proxy via preferences if not set via environment variable 2025-04-03 22:27:57 -04:00
1892189eaa looking for libcurl components fails for some installations 2025-04-03 18:46:16 -04:00
f447a0476c discuss using a proxy with geturl, e.g. on a cluster compute node 2025-04-03 18:45:14 -04:00
65992f7ba2 mention LAMMPS tutorial files download support 2025-04-03 18:44:40 -04:00
999e6d95d4 list post_constructor methods and modernize description 2025-04-03 13:47:53 -04:00
384d7f446b updated damping in mdr example sims 2025-04-03 11:56:16 -04:00
609b60c211 set LAMMPS-GUI version 2025-04-03 08:56:05 -04:00
216b9218cb flag development version 2025-04-03 08:52:54 -04:00
75e12e2004 add missing overrides 2025-04-02 17:11:17 -04:00
7b4c33630d Merge pull request #4524 from akohlmey/next_release
Step version strings for next feature release
2025-04-02 16:04:25 -04:00
0a7f55688b Merge pull request #4463 from bathmatt/lammps-kokkos-mliap-comms
Added code which provides callbacks from external ML-IAP functions to…
2025-04-02 14:28:24 -04:00
91e4cbb564 update a couple more pending version tags 2025-04-02 14:20:57 -04:00
0043bca33d Merge branch 'develop' into next_release 2025-04-02 14:11:45 -04:00
9cfcb971b9 whitespace 2025-04-02 12:04:18 -06:00
cb8550465e Merge pull request #4507 from navlalli/qeqr
Add fix qeq/rel/reaxff
2025-04-02 13:19:55 -04:00
8df9f3404b Merge pull request #4467 from evoyiatzis/patch-2
extend fix adapt to treat improper angles
2025-04-02 12:18:40 -04:00
92321f4cad Merge pull request #4521 from stanmoore1/kk_update_4.6.0
Update Kokkos library in LAMMPS to v4.6.0
2025-04-02 11:30:17 -04:00
9f7653dd37 Merge pull request #4519 from fxcoudert/extxyz2
Add extended XYZ dump style extxyz
2025-04-02 10:59:18 -04:00
38df714672 Merge branch 'develop' into lammps-kokkos-mliap-comms 2025-04-02 08:32:44 +02:00
8defe0e798 Merge pull request #4482 from rbberger/dihedral_multi_harmonic_kokkos
add dihedral multi/harmonic/kk
2025-04-01 21:37:51 -04:00
d51017c878 Set pending version tags to 2Apr2025 2025-04-01 21:30:53 -04:00
5bd3218372 update version strings 2025-04-01 21:29:59 -04:00
5933eca83f Merge pull request #4515 from akohlmey/collected-small-fixes
Collected small fixes and updates
2025-04-01 21:16:16 -04:00
5371aa8670 Merge pull request #4335 from jrgissing/bond/react-molmap_option
Bond/react: molmap option
2025-04-01 21:14:19 -04:00
144637c0a1 Merge pull request #4523 from evoyiatzis/patch-7
enable lj96/cut, lj/cubic and lj/gromacs with fix adapt
2025-04-01 21:12:09 -04:00
618c92aeee fix typos 2025-04-01 19:25:48 -04:00
b0ca9ed0d4 enable lj/cubic for fix adapt 2025-04-01 16:19:37 +02:00
76e3900128 add line in the end of pair_lj_gromacs.cpp 2025-04-01 15:38:50 +02:00
db8dae3300 enable lj/gromacs for fix adapt 2025-04-01 15:36:44 +02:00
fd77c935ab Precompute terms in overlap integral 2025-04-01 12:47:55 +01:00
c99ae613de enable lj96 for fix adapt 2025-04-01 11:34:11 +02:00
6964156b6f fix syntax error 2025-04-01 00:00:22 -04:00
e577528099 switch CWD to home if default is "/" or contains "AppData" 2025-03-31 23:47:45 -04:00
b8aaa8d60f modified doc to include mdr damping model 2025-03-31 22:55:42 -04:00
3c1ed34753 removed csv_writer.h 2025-03-31 22:16:09 -04:00
eeaf0694ad white space and comment removal 2025-03-31 22:13:29 -04:00
8ee8cb1aa3 code clean-up 2025-03-31 20:13:24 -04:00
3aafe2831b added MDR damping method 2025-03-31 20:13:24 -04:00
9d01ac2caf Stablized radius update, added WFM, added outputs 2025-03-31 20:13:24 -04:00
bba860f959 Update docs for KOKKOS update 2025-03-31 12:36:40 -06:00
a4f7c7e4c5 Update CMake for KOKKOS package 2025-03-31 12:29:08 -06:00
3b69cf6011 Merge branch 'develop' of github.com:lammps/lammps into kk_update_4.6.0 2025-03-31 11:46:30 -06:00
084ba674a5 Remove atomics units and distance function 2025-03-31 17:44:17 +01:00
9d2b5302b9 modernize some error messages 2025-03-31 01:28:25 -04:00
1c609ef3e4 cosmetic, more LAMMPS style 2025-03-30 23:37:11 -04:00
677e8dd681 documentation fixes 2025-03-30 23:35:45 -04:00
6e395424bc better align with LAMMPS' programming conventions 2025-03-30 23:30:15 -04:00
935e323d08 Merge branch 'develop' into bond/react-molmap_option 2025-03-30 23:27:50 -04:00
578b1cf936 fix typo
Co-authored-by: Shern Tee <shernren@gmail.com>
2025-03-30 01:32:02 -04:00
2da463a773 missed renames 2025-03-29 18:55:13 -04:00
367dd4635b Merge remote-tracking branch 'github/develop' into qeqr 2025-03-29 18:41:36 -04:00
fc9d7bc181 rename fix qeqr/reaxff to fix qeq/rel/reaxff 2025-03-29 18:40:47 -04:00
2396668965 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-03-29 16:31:17 -04:00
285baf27b5 Merge pull request #4518 from akohlmey/file-formats
Add a general description of common file formats in LAMMPS
2025-03-29 16:30:31 -04:00
7ff9ee51e5 small tweaks 2025-03-29 15:56:34 -04:00
990007c87b whitespace, rewrap, and comments 2025-03-28 23:55:38 -04:00
4dbf18e2c9 small suggested changes 2025-03-28 23:15:33 -04:00
1172a8c6c8 Merge pull request #4506 from fxcoudert/mac
Update macOS info
2025-03-28 18:50:45 -04:00
aeed7a425f we only need to worry about Python3 now 2025-03-28 18:25:42 -04:00
b7b9a4a599 Update Kokkos library in LAMMPS to v4.6.0 2025-03-28 15:29:14 -06:00
9661c21052 comment out possible additional sections 2025-03-28 09:56:06 -04:00
c0321b5f00 More doc 2025-03-28 10:58:54 +01:00
9a55856758 forgot handling addstep_compute in setup() 2025-03-28 00:32:28 -04:00
09242c0b12 forgot handling addstep_compute in setup() 2025-03-28 00:31:01 -04:00
a17ec2a8d3 fix bug with addstep_compute skipping on first step 2025-03-28 00:18:32 -04:00
0263774595 must use addstep_compute() on next time based or variable step dump output 2025-03-28 00:17:59 -04:00
9ac09e839f trigger computes only if next variable step or time based dump present 2025-03-28 00:05:14 -04:00
963083b2d5 must use addstep_compute() on next variable dump output 2025-03-27 23:50:37 -04:00
8949a6262d Use "Contact the LAMMPS developers" consistently and add an errorurl() to such errors 2025-03-27 19:04:32 -04:00
c3309bc0b3 error message and programming style updates 2025-03-27 18:35:40 -04:00
c9be07df9c fix bug with addstep_compute skipping on first step 2025-03-27 18:28:06 -04:00
fc78806bc7 apply clang-format 2025-03-27 17:14:35 -04:00
f652687a3a add support for outputting the same temperature, pressure, and potential energy as the thermo output 2025-03-27 17:14:06 -04:00
738fb4a502 add info about restart files 2025-03-27 16:29:13 -04:00
d12f4b076b Dump pe, temp, press 2025-03-27 21:05:38 +01:00
032c1c39b0 Handle mass better 2025-03-27 20:14:29 +01:00
fce3246439 detect misformatted Sphinx directives 2025-03-27 13:37:13 -04:00
c9d557a9f2 add test for version related tags missing a colon 2025-03-27 13:20:08 -04:00
8eceb2b944 small updates and clarifications 2025-03-27 12:52:48 -04:00
dcb844b01b Safer printf 2025-03-27 17:27:08 +01:00
0c7c21925f Update .github/CODEOWNERS
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2025-03-27 16:55:35 +01:00
b0a8391413 Update CODEOWNERS 2025-03-27 16:23:58 +01:00
bb6470eb1a More flexibility: forces, vel, mass 2025-03-27 15:59:42 +01:00
855737cf04 implement derived extxyz dump style 2025-03-27 14:38:33 +01:00
2ad0cc1820 document extxyz dump style 2025-03-27 14:38:08 +01:00
f5dbf30965 improve error messages 2025-03-27 14:37:27 +01:00
f0b3b20653 add a write permission check before opening a pipe for compressed writes 2025-03-26 23:09:39 -04:00
dd313465e1 add support for writing one file per timestep with '*' wildcard 2025-03-26 22:44:35 -04:00
9661d020c1 Merge branch 'develop' into collected-small-fixes 2025-03-26 20:10:20 -04:00
c45558b640 some tweaks for local table of contents 2025-03-26 20:09:54 -04:00
2542b989ee small tweak 2025-03-26 19:59:52 -04:00
7f0b71f7c0 spelling 2025-03-26 17:36:27 -04:00
637b572600 Merge remote-tracking branch 'github/develop' into file-formats 2025-03-26 17:33:00 -04:00
465171d58f Merge pull request #4514 from akohlmey/library-handle-argument-errors
Improve handling argument errors with library interface functions
2025-03-26 14:35:30 -04:00
dcbc3c9dbc whitespace 2025-03-26 09:52:19 -04:00
194b3408f7 add section about molecule files 2025-03-26 09:51:09 -04:00
bc1b22a2f8 finish (for now) the summary of the data file format 2025-03-26 09:01:07 -04:00
8a373ab5d8 spelling 2025-03-26 09:00:25 -04:00
cf5d74b315 add pair style pedone to list of pair styles compatible with fix adapt 2025-03-26 05:54:21 -04:00
d515af2e2b Merge branch 'develop' into library-handle-argument-errors 2025-03-26 05:13:10 -04:00
811f79abc6 error out or ignore on displacements in z-direction with 2d system 2025-03-26 04:57:01 -04:00
c22716f5c0 error out on non-existing groups and improve error messages 2025-03-26 04:45:13 -04:00
a9f2bdf326 remove misplaced excess error call 2025-03-26 04:17:36 -04:00
c95d43f647 plug memory leaks 2025-03-26 04:16:54 -04:00
24389a55dc remove argument expansion since it would take only the first expanded argument only.
this is better made explicit.
2025-03-26 04:11:51 -04:00
16f836bef5 Merge branch 'develop' into lammps-kokkos-mliap-comms 2025-03-26 07:21:53 +01:00
d658c589f7 update formulations some more 2025-03-25 21:47:04 -04:00
a98a743f2e Fix tabs->spaces in last commit 2025-03-25 15:13:11 -07:00
bc791da69e Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-03-25 17:53:23 -04:00
faa6e806bf Merge remote-tracking branch 'github/develop' into file-formats 2025-03-25 17:53:02 -04:00
7878ec170c Merge pull request #4501 from lammps/errors-more-cleanup
[Community Project] More Error and Warning Messages Cleanup
2025-03-25 17:52:08 -04:00
3c055fe93b Clean up cupy vs. torch in exchanges 2025-03-25 15:39:20 -06:00
bb788cb1a2 Merge remote-tracking branch 'github/develop' into file-formats 2025-03-25 17:36:55 -04:00
0b43649e74 Merge pull request #4513 from akohlmey/howto-bulk-to-slab
Add a Howto showing how to convert a bulk system to a slab
2025-03-25 16:54:38 -04:00
227b7840e7 add disclaimer and improve some formulations 2025-03-25 15:42:11 -04:00
2d0c1af656 Merge remote-tracking branch 'github/develop' into howto-bulk-to-slab 2025-03-25 15:40:55 -04:00
fecd93783b spelling 2025-03-25 15:40:40 -04:00
d850d93dad Make Pytorch optional 2025-03-25 13:01:56 -06:00
678e90f669 make spellchecker happy 2025-03-25 14:55:30 -04:00
bafd2a8d6b Merge remote-tracking branch 'github/develop' into file-formats 2025-03-25 14:22:55 -04:00
2ea5cf1206 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-03-25 14:16:04 -04:00
9e241df062 Merge pull request #4182 from akohlmey/group-bitmap-accessor
Refactor code to use group bitmap accessor
2025-03-25 14:12:27 -04:00
32e4a0d36b Merge branch 'develop' into lammps-kokkos-mliap-comms 2025-03-25 18:44:52 +01:00
5dbeacb1e8 Merge pull request #4508 from jewettaij/master
Fixed the Moltemplate HowTo docs
2025-03-25 13:02:31 -04:00
bdf1b541b1 Merge branch 'mac' of https://github.com/fxcoudert/lammps into collected-small-fixes 2025-03-25 11:38:54 -04:00
66d5fbd4bd Merge pull request #4516 from Eddy-Barraud/dpd_charged
wrong qi*qj in the cuda code
2025-03-25 11:28:21 -04:00
183486d813 implement suggestions from @ndtrung81 2025-03-25 11:27:19 -04:00
e9ac9e77db add option to return an entire column, row, or array as flat array with lammps_extract_fix() 2025-03-25 11:20:15 -04:00
3efddff01a Changed use of varient on LHS 2025-03-25 09:59:41 +01:00
3872fa16d4 small update to internal command documentation 2025-03-25 04:37:15 -04:00
7fba02f865 fix logic bug when writing coeffs to data file 2025-03-25 03:02:17 -04:00
5a62d0a129 correct data in data file and pair_coeff changes are no longer needed
also re-create reference log files
2025-03-25 03:01:38 -04:00
3ed03c4044 add post_constructor() method to computes for symmetry with fixes 2025-03-24 22:59:36 -04:00
15026cfa56 cosmetic 2025-03-24 22:59:05 -04:00
b4ff184a0a complete refactoring of handle check and error handling 2025-03-24 17:19:31 -04:00
d830412228 added boolean
the read_data is not reading slater boolean of pair_coeff
2025-03-24 16:04:40 +01:00
bbd057891a wrong qi*qj cuda code
correction of cutsq[mtype].z instead of extra[j].x !
2025-03-24 15:35:34 +01:00
b45c811fbb more argument error improvements 2025-03-24 09:15:19 -04:00
7b5c281596 when calling Error we must wrap the code in BEGIN/END capture 2025-03-24 05:52:47 -04:00
350fa4ddec more library interface argument checking and error handling 2025-03-24 05:25:11 -04:00
e0322b96ec sync new library interface function across all interfaced derived packages 2025-03-24 04:33:27 -04:00
15cdba0bf0 have Error::set_show_error() return the previous setting 2025-03-24 04:13:24 -04:00
e79fcfb4ef implement improved version of go-to-top button with javascript requiring only one click 2025-03-24 00:14:50 -04:00
3a18ca5197 updates, recover failed tests with -DLAMMPS_BIGBIG 2025-03-23 23:17:53 -04:00
9577343429 use a global constant for a common string buffer size 2025-03-23 22:21:05 -04:00
2b718d3b86 add interface to lammps_set_show_error() 2025-03-23 22:20:34 -04:00
aabfef6d0b update packaging to conform with suggested packaging changes 2025-03-23 22:20:02 -04:00
b4e4ea1069 we don't need lammps_throw_error. just call lmp->error->xxx 2025-03-23 21:23:24 -04:00
ccbf47c66d forgot exceptions in two cases 2025-03-23 19:02:10 -04:00
6fca985d5d add method that allows suppressing printing error messages immediately 2025-03-23 19:01:25 -04:00
a26ea958c6 throw suitable exception when trying to extract unknown or incompatible compute or fix data 2025-03-23 18:07:08 -04:00
a64863caa6 fix sphinx directive error in embedded docs 2025-03-23 16:37:20 -04:00
824b1b0b66 relax epsilon to pass tests on macos-arm64 2025-03-23 16:36:16 -04:00
3d5430bfe4 Merge branch 'develop' into errors-more-cleanup 2025-03-23 16:01:00 -04:00
adaa313990 Merge pull request #4502 from akohlmey/collected-small-fixes
Collected small changes and fixes
2025-03-23 15:59:38 -04:00
88cecbd11d alternate implementation of jump to top by @rbberger 2025-03-22 18:54:49 -04:00
c65c8819e3 cosmetic changes and re-wrap paragraphs 2025-03-22 16:06:17 -04:00
f4b92a23ae small clarification cherry-picked from PR #4502 2025-03-22 15:47:52 -04:00
6f24e1edd5 remove leftover pieces of obsolete warning 2025-03-22 15:42:51 -04:00
12cc12b4f4 Typos and alternate wording suggestions 2025-03-22 12:57:28 -06:00
cb5e45ff1f small tweaks 2025-03-22 11:24:53 -04:00
8a0900f0ab revert broken change to print angstrom character 2025-03-22 11:20:37 -04:00
9d0c25fbab improve wording 2025-03-22 11:15:26 -04:00
c289ad9471 forgot to include upward arrow image 2025-03-22 06:08:48 -04:00
725b34a70a add snapshot images to show the initial and final geometry and box 2025-03-22 06:08:16 -04:00
410d3e84b0 add a Howto demonstrating how to convert a bulk molecular system to a slab 2025-03-22 04:41:34 -04:00
1b58a4695b add explanations for "before/after simulation box is defined" errors 2025-03-21 20:30:47 -04:00
649fd86e11 add errorurl(11) with explanation to "Energy/Stess was not tallied by pair style" 2025-03-21 19:57:57 -04:00
3834169c92 first attempt to implement a "jump to top" anchor in the sidebar 2025-03-21 19:30:28 -04:00
3ab91e4e1a fix up uses of errorurl(21) 2025-03-20 23:12:21 -04:00
c037ec07a2 make utils::errorurl() point to generic page with error code 0 2025-03-20 22:45:41 -04:00
e9bc334a14 add some more missing errorurl() calls and error pointers 2025-03-20 22:45:01 -04:00
3b61bcf890 more error reporting updates 2025-03-20 12:31:08 -04:00
bbed85a410 Remove dead code 2025-03-20 15:08:02 +01:00
829a0868e8 fixed whitespace 2025-03-20 15:08:02 +01:00
f85a19d0b1 Added code which provides callbacks from external ML-IAP functions to exchange data
This is designed for message passing ML models.  Currently FP32/64 values can be communicated
but these are passed via doubles in MPI,
Work completed by
Forrest Glines <fglines@nvidia.com>
Matt Bettencourt <mattb@nvidia.com>
2025-03-20 15:08:01 +01:00
2e98ae9de9 Improve qtpie/reaxff docs and add qeqr/reaxff docs 2025-03-20 13:19:50 +00:00
e11245d0fd Add examples for fix qeqr/reaxff 2025-03-20 10:42:12 +00:00
e4c96459e5 flag some more compatible time and out-of-bounds errors with errorurl()s 2025-03-20 06:16:59 -04:00
ca575e395e fix spelling and duplicate references issues 2025-03-19 20:39:06 -04:00
643afe6eff fix segfault issue for optional arguments 2025-03-19 20:28:42 -04:00
04bb57f8e2 update a bunch more error messages 2025-03-19 17:17:47 -04:00
37248a011e deleted trailing whitespace in the Howto_moltemplate.rst file (for PR #4508) 2025-03-19 15:30:06 -04:00
63b8e86a4b tried to minimize the differences between my version and the existing version 2025-03-19 13:58:46 -04:00
6700a3bed1 Fixed the Moltemplate HowTo docs. (I also added a very simple polymer example.) This needed to be done because the file names and @atom types in the old version of this HowTo are no longer accurate. OPLSAA has changed. Now this HowTo is compatible with the latest version of OPLSAA. More importantly, after this update, the HowTo documentation should never need to be updated again because OPLSAA force field files are named according to the OPLSAA version/date. For example, the "oplsaa.lt" file has been renamed to "oplsaa2024.lt". Future OPLSAA updates will go in other files with different names. So the @atom types in this HowTo example should never need to be updated in the future, regardless what happens with OPLSAA. 2025-03-19 13:36:09 -04:00
db8abdb592 Update macOS info 2025-03-19 13:57:49 +01:00
bb8b6590d5 Remove unused header files and add affiliation 2025-03-19 11:22:04 +00:00
5bcfc35cd1 Reimplement warning through fix qtpie/reaxff 2025-03-19 10:23:22 +00:00
ee78e3e201 add -f option to install.py to install into externally-managed environments 2025-03-19 03:14:34 -04:00
b936673935 consolidate calls to utils::errorurl() with corresponding error class calls. 2025-03-19 02:23:10 -04:00
8a04dc036d Merge remote-tracking branch 'github/develop' into errors-more-cleanup 2025-03-19 01:39:22 -04:00
4cd3fa1e38 spelling 2025-03-18 20:24:04 -04:00
90cd786c2d document how to address "externally managed environment" errors with install-python 2025-03-18 20:20:56 -04:00
d02e26d3ba document DOWNLOAD_POTENTIALS with CMake 2025-03-18 19:49:04 -04:00
056733fb1f Add warning if fix efield is not in use
fix qeqr/reaxff leads to the same charges as fix qeq/reaxff when an
electric field is not applied, but at a slightly increased computational
cost. Therefore, fix qeq/reaxff should be used instead of fix
qeqr/reaxff when fix efield is not in use.
2025-03-18 18:14:37 +00:00
78bfa5b59b Create fix qeqr/reaxff 2025-03-18 17:51:30 +00:00
69881baa0c add false positives 2025-03-17 23:33:47 -04:00
4aece11628 add note about need to run ldconfig on Linux system after make install 2025-03-17 23:33:39 -04:00
7d6c19f51b adjust for macos_arm64 arch 2025-03-17 18:12:33 -04:00
f0b988904d add some notes about releasing a stable release update 2025-03-17 17:59:32 -04:00
e502d40491 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-03-17 17:40:29 -04:00
6f0a59372c Merge pull request #4500 from akohlmey/remove-smallsmall
Remove support for -DLAMMPS_SMALLSMALL
2025-03-17 17:16:54 -04:00
b329d01e5e small clarification 2025-03-17 12:25:06 -04:00
aee02c7ed4 remove entries that are now covered by Errors_details.rst 2025-03-17 12:20:30 -04:00
afaf440895 expand/clarify some discussions 2025-03-17 12:20:07 -04:00
68c92f3267 add new explanation for warning about multiple time integrations 2025-03-17 12:18:32 -04:00
d42330edbd consolidate errors #6 and #7 plus handle non-numeric box. add missing entries. 2025-03-17 11:40:36 -04:00
9e8b9e55be Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-03-17 11:01:42 -04:00
0a7b528d39 don't silence format errors 2025-03-17 11:01:16 -04:00
368e0a22a0 adding WHAM dialog is postponed 2025-03-16 19:21:08 -04:00
d65b0ce666 update to WHAM version 2.1.0 2025-03-16 17:28:57 -04:00
afbae53a0a convert remaining errors to print coeff status 2025-03-16 06:03:23 -04:00
035aefcc26 address issues flagged by coverity scan 2025-03-15 21:38:18 -04:00
73585e1dcc revert broken change to print angstrom character 2025-03-15 21:17:00 -04:00
111817ce32 also print pair coeff setflag status when not all pair coeffs are set 2025-03-15 21:16:07 -04:00
b34b6b80e4 refactor info code so coeffs status can be appended to error 2025-03-15 20:11:33 -04:00
7b915b2983 error message does not exist anymore 2025-03-15 20:10:37 -04:00
96f135c294 some more small tweaks of explanation and spelling fixes 2025-03-15 16:38:12 -04:00
bca920a021 Merge remote-tracking branch 'github/develop' into errors-more-cleanup 2025-03-15 16:21:03 -04:00
589c026465 Tweaked the description of numbering order 2025-03-15 14:09:38 -06:00
2240430d5e Merge pull request #4495 from lammps/use-pandoc-for-fasthtml
Use pandoc for make fasthtml
2025-03-15 15:55:00 -04:00
6dacf5d52c Update fix_neighbor_swap.rst
I fixed some typos and shortened the text a bit.
2025-03-15 11:36:20 -06:00
067f998eac Update Build_manual.rst 2025-03-15 10:57:28 -06:00
546ea917c7 fix a few more .rst formatting issues flagged by pandoc 2025-03-15 12:35:12 -04:00
b9218528cf CSS style tweaks to make pandoc output more similar to sphinx output 2025-03-15 12:34:48 -04:00
54be0adfb8 resolve some issues in .rst files detected by pandoc 2025-03-15 12:00:53 -04:00
5b5b700318 copy image files to fasthtml folder 2025-03-15 12:00:16 -04:00
48570e01ba Merge branch 'develop' into use-pandoc-for-fasthtml 2025-03-15 11:05:12 -04:00
2c3824bdd0 update remaining places that used to support -DLAMMPS_SMALLSMALL 2025-03-15 02:11:50 -04:00
07c0c435ef Merge branch 'develop' into remove-smallsmall 2025-03-15 02:11:02 -04:00
ee930935f5 remove "self-explanatory" explanations. 2025-03-14 21:23:07 -04:00
aafdac1917 update intros to three pages with errors and warnings and cross-reference them 2025-03-14 21:06:23 -04:00
81ab0b7504 Merge pull request #4456 from akohlmey/add-error-explanations
Add short explanations and URL to them for common errors and warnings
2025-03-14 20:18:34 -04:00
3aba21f6e2 Merge pull request #4481 from akohlmey/collected-small-fixes
Collected small fixes and changes
2025-03-14 18:10:14 -04:00
361914f3f1 remove references to SMALLSMALL from GPU library 2025-03-14 16:31:30 -04:00
557d279774 remove references to SMALLSMALL from examples 2025-03-14 16:31:09 -04:00
55eeaca69c Merge pull request #4498 from evoyiatzis/patch-4
implement extract() in pair_style yukawa
2025-03-14 13:27:44 -04:00
4e0d37ecc2 ensure that df[] array is always initialized 2025-03-14 12:19:00 -04:00
4c3260a0dc fix bug missing a read_int() when reading general triclinic rotation matrix 2025-03-14 12:18:42 -04:00
cea31e463d remove references to -DLAMMPS_SMALLSMALL and trigger error when used 2025-03-14 10:20:31 -04:00
a0d1deea44 small clarification. add version tag for universe keyword 2025-03-14 09:54:55 -04:00
fcb2eee686 corrections for documentation of bosonic PIMD fix styles 2025-03-14 09:54:26 -04:00
e97807b92e clarify. mention using timer command to re-enable regular runs 2025-03-14 07:00:30 -04:00
29558a1141 key word -> keyword 2025-03-14 06:59:33 -04:00
5ab442f10b Include yukawa in the list of supported pair styles in fix_adapt.rst 2025-03-14 09:32:10 +01:00
7374d38b44 Update mol-pair-yukawa.yaml 2025-03-14 09:27:32 +01:00
419b18bd16 implement extract() in pair_yukawa.cpp 2025-03-14 09:25:28 +01:00
b11672a99f define extract() in pair_yukawa.h 2025-03-14 09:16:57 +01:00
d784706a68 small changes to appease coverity scan 2025-03-14 02:47:14 -04:00
e3de43f2b0 modernize use of \it and \sf 2025-03-13 22:25:14 -04:00
8ff5855e40 modernize boldface font selection in LaTeX sections 2025-03-13 22:14:07 -04:00
9da8a7f73a improve error pointers and out-of-range message for dump custom 2025-03-13 22:05:44 -04:00
bf1a5e05fd correctly flag out-of-range access for thermo data, where possible 2025-03-13 18:11:18 -04:00
03f71259c1 Merge pull request #4494 from lammps/example-input-fixes
fixed issues with several input scripts, added reference log files
2025-03-13 14:34:44 -04:00
34b3dd9ebd Proofreading errors doc page 2025-03-13 11:34:09 -06:00
889f91763f explain image flag related errors and warnings 2025-03-13 09:36:58 -04:00
bfdfd322df make compatible with C++20 and later 2025-03-13 05:41:32 -04:00
9d70c8b8ae provide error information for two more cases 2025-03-13 05:31:41 -04:00
0f10741f71 update tests for variable commands 2025-03-13 04:38:58 -04:00
f6394b2a61 remove obsolete line 2025-03-13 04:21:20 -04:00
c449bed814 apply clang-format 2025-03-13 04:15:49 -04:00
b53449ff10 free communicator only if not NULL 2025-03-13 04:15:41 -04:00
a1c0d93953 limit to 1 processor per partition 2025-03-13 04:15:16 -04:00
8c9e1fe6a2 update pimd/*/bosonic examples 2025-03-13 04:00:54 -04:00
009a7b1916 print detailed version string also for multi-replica runs 2025-03-13 03:58:51 -04:00
0812d3c772 must use delete[] on array allocated with new 2025-03-13 03:58:33 -04:00
71c8c2aaa2 improve error messages 2025-03-13 03:58:12 -04:00
933f618eb4 update .gitignore 2025-03-13 03:57:41 -04:00
0a4a2f6deb Merge branch 'develop' into collected-small-fixes 2025-03-13 03:06:14 -04:00
bdb661451d revert unintended commit 2025-03-13 03:00:24 -04:00
a892495575 revert unintended commit 2025-03-13 02:59:43 -04:00
24444f2f7c use minimal CSS file and explicit template 2025-03-12 23:45:48 -04:00
fd06c20a6a fix copy-n-paste error 2025-03-12 22:58:33 -04:00
f158b5195e add explanation for "did not assign all atoms" 2025-03-12 22:51:29 -04:00
33ac6c8836 address several issues related to variables and improve error messages 2025-03-12 22:33:07 -04:00
16ed78f435 Merge remote-tracking branch 'github/develop' into add-error-explanations 2025-03-12 20:36:18 -04:00
6d6fce7866 provide explanation for "variable evaluated before simulation box is defined" 2025-03-12 20:36:01 -04:00
084bdb2da6 Merge pull request #4496 from gplummer317/ctip
CTIP citation update
2025-03-12 19:59:17 -04:00
c3976a444c Merge branch 'develop' into use-pandoc-for-fasthtml 2025-03-12 19:54:58 -04:00
377c423e42 Update pair_coul.rst
Updated CTIP citation
2025-03-12 15:17:31 -07:00
063d595233 Update pair_coul.rst
Updated CTIP citation
2025-03-12 15:16:59 -07:00
9c4181e42e Update fix_qeq.rst
Updated CTIP citation
2025-03-12 15:15:35 -07:00
bd7420e496 Merge remote-tracking branch 'github/develop' into add-error-explanations 2025-03-12 18:08:53 -04:00
130b898e26 update documentation for new "make fasthtml" 2025-03-12 17:50:27 -04:00
c7f5d07a68 modernize LaTeX for formatting text in math mode 2025-03-12 17:14:11 -04:00
42219ac784 modernize LaTeX for formatting text in math mode 2025-03-12 17:08:56 -04:00
1931427a57 handle custom \AA macro for pandoc processing 2025-03-12 17:06:07 -04:00
24ce7bedcd Merge pull request #4493 from ssande7/correlate_first
Add `type first` option to correlation fixes
2025-03-12 16:33:38 -04:00
f097e8d951 Merge pull request #4479 from yotamfe/bosonic-pimd-langevin
Adding support for bosonic path integral molecular dynamics simulations
2025-03-12 15:28:51 -04:00
1b31064921 replace "fast" Sphinx build with build using pandoc for "fasthtml" target 2025-03-12 15:14:31 -04:00
38903fb7d2 replace (evil) tabs with spaces 2025-03-12 14:30:33 -04:00
9aba2c91c9 add citation reminder to fix qtpie/reaxff 2025-03-12 14:25:58 -04:00
3e62e660e5 Update fix_pimd_bosonic.rst - delete trailing whitespace 2025-03-12 18:20:30 +02:00
4a2d78fd99 Update fix_pimd.rst - delete trailing whitspace 2025-03-12 18:19:48 +02:00
d0aabe57bc better grammar 2025-03-12 11:59:34 -04:00
1cc69bd0df support referencing the general advice paragraphs 2025-03-12 11:58:30 -04:00
e3bf1a194d fix typos 2025-03-12 11:56:40 -04:00
930d3ddc17 resolve spelling and formatting issues 2025-03-12 11:53:57 -04:00
508eeddf87 Merge branch 'develop' into add-error-explanations 2025-03-12 11:39:13 -04:00
ebf6ba36bf remove leading 0 in single-digit url codes 2025-03-12 07:39:45 -06:00
90c713d065 update details on errors 6, 7, 8, 10, 13, and warning 28 2025-03-12 07:33:07 -06:00
d1671c24c4 add url for warning 28 2025-03-12 07:28:58 -06:00
fa262967e6 add url for error 10 2025-03-12 07:28:22 -06:00
6d42040b9d add url for error 13 2025-03-12 07:26:59 -06:00
70faf86040 add urls for error 08 2025-03-12 07:25:09 -06:00
ab63993226 add urls for error 07 2025-03-12 07:23:56 -06:00
2c2eaf09e6 add urls for error 06 2025-03-12 07:22:47 -06:00
1507d3511f Update fix_pimd.rst - added related commands 2025-03-12 12:45:24 +02:00
aa020c0ad3 Update fix_pimd_bosonic.rst - added related commands 2025-03-12 12:43:37 +02:00
d076b1c582 Update fix.rst - changed pimd/* to pimd/*/bosonic where needed 2025-03-12 12:38:09 +02:00
c144fc0fc6 Fix constant i for type first 2025-03-12 08:14:48 +10:00
5068406c03 fixed incorrect path to the potential file 2025-03-11 16:41:41 -05:00
0004a384fe fixed issues with several input scripts, added reference log files 2025-03-11 16:10:04 -05:00
1d3b93b042 Add type first option to fix ave/correlate 2025-03-11 20:54:38 +10:00
6fb382af3d Updated the documentation of pimd commands for distinguishable/bosonic particles. 2025-03-11 11:58:29 +02:00
b88accc50e Merge branch 'bosonic-pimd-langevin' of https://github.com/yotamfe/lammps into bosonic-pimd-langevin 2025-03-11 11:00:00 +02:00
242f77fce9 Changed the names of fix pimdb/* commands to pimd/*/bosonic; Changed file names accordingly. 2025-03-11 10:56:07 +02:00
1e819efcf8 update examples for consistency 2025-03-10 17:11:53 -04:00
01698ddc2e improve error messages for easier debugging 2025-03-10 17:06:37 -04:00
08f8be18e5 rework SPIN restart/data file examples 2025-03-10 17:04:16 -04:00
8af31ca28c fix minor memory leaks 2025-03-10 16:04:35 -04:00
9c494d0a25 include space in custom formats to show how spaces can be used to separate columns 2025-03-10 13:30:08 -04:00
5a1aed7957 properly tally the SYNC time contributions to the ALL time entry
this way its contribution is not double counted when determining
the "Other" time data.
2025-03-10 12:16:51 -04:00
6ff0f645e0 formatting 2025-03-10 06:28:45 -04:00
4cafb49c34 report which variable name was incorrect 2025-03-10 06:28:28 -04:00
312bdcbddd correct and clarify statements about the potentials and their relations to each other 2025-03-10 06:26:37 -04:00
79d2346eaa resolve spelling and formatting issues 2025-03-10 06:25:11 -04:00
4be39d6d2b fix typos 2025-03-09 22:46:03 -04:00
9ee1648af2 document removed compute atom/molecule and its equivalent using chunks 2025-03-09 22:21:51 -04:00
ca3d2de44b fix broken URL due to typo 2025-03-09 22:10:52 -04:00
ce10be7492 Merge branch 'develop' into collected-small-fixes 2025-03-08 22:28:31 -05:00
4246fab500 Merge pull request #4462 from jtclemm/BPM
Elastic-plastic bond style
2025-03-08 22:26:05 -05:00
15b7dd78f0 Revert "add some more tests for delete_atom"
This reverts commit 2ff078f973.
2025-03-08 18:00:57 -05:00
e3cf1dec27 restore original delete_atoms implementation. new version spun off as PR #4492 2025-03-08 17:52:26 -05:00
388f279633 set stores_ids flag for some fixes as suggested by @sjplimp 2025-03-07 12:43:32 -05:00
0a1e3fa26a Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-03-07 12:34:08 -05:00
976b73a2f2 fix typo 2025-03-07 12:05:38 -05:00
9af8fdc91e add MPI stub for MPI_Iprobe() 2025-03-07 11:50:53 -05:00
24fc6eb10a modernize error messages 2025-03-07 11:40:41 -05:00
6e94d83cff add option to synchronize fix halt stop requests across multi-partition runs 2025-03-07 11:40:27 -05:00
2ff078f973 add some more tests for delete_atom 2025-03-07 02:24:12 -05:00
7bd7be8f86 error out when trying unsupported pimd method with multiple processors per bead 2025-03-07 01:59:41 -05:00
22fa86a1b7 add "condense" keyword to delete_atoms what will compact the atom IDs while preserving their order 2025-03-06 20:44:05 -05:00
a61f67ceb7 Merge pull request #4490 from gsalkuin/fix-move-rotate
Add option to rotate dipoles in fix move rotate or transrot
2025-03-06 18:41:52 -05:00
9b1dca201f rewrite incorrect statement 2025-03-06 15:45:24 -05:00
46393cc930 modernize error messages 2025-03-06 13:15:24 -05:00
916ab55a31 reverse normalization between type pairs if the types were swapped on input 2025-03-06 13:15:09 -05:00
09c8dc07d8 update statements about what packages support and what not 2025-03-06 11:08:22 -05:00
3f9167be59 modernize error messages 2025-03-06 11:07:34 -05:00
1531810cc5 add versionadded tag 2025-03-06 03:59:47 -05:00
c16bbf6bb0 Merge branch 'develop' into fix-move-rotate 2025-03-06 03:08:53 -05:00
abc14c00a0 use different method to enforce the C locale in LAMMPS GUI 2025-03-05 17:40:36 -05:00
47cea8e1ba use pairwise cutoff for trimming unless a custom cutoff if given 2025-03-05 04:23:07 -05:00
b433c8cb77 only trim if neighbor list request has a custom cutoff 2025-03-05 04:16:13 -05:00
07c457221d Add checks, update flags 2025-03-05 00:19:27 -05:00
711d76531f Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-03-04 23:34:36 -05:00
505d295d16 small correction 2025-03-04 23:34:24 -05:00
6da1c6270c Merge pull request #4351 from dhairyaiitb/develop
Revised velocity verlet scheme to prevent unphysical sticking in DEM simulations.
2025-03-04 23:31:59 -05:00
cc70b5bb89 document some internal styles 2025-03-04 23:15:41 -05:00
389b07418b add false positives 2025-03-04 21:44:20 -05:00
16c3198d27 delete unused variables 2025-03-04 21:39:26 -05:00
885099cf77 Merge branch 'develop' into dhairyaiitb_develop 2025-03-04 21:29:40 -05:00
037251238b Add type first option to fix ave/correlate/long 2025-03-05 10:46:37 +10:00
a229b148d1 Update fix_move.rst 2025-03-04 18:09:19 -05:00
43f3db1867 Update fix_move.cpp
Make update dipole optional
2025-03-04 17:33:14 -05:00
61daafca62 Update fix_move.cpp 2025-03-04 15:27:16 -05:00
ac2214e5f2 Update fix_move.h 2025-03-04 15:26:41 -05:00
71b86b102d enable use of Sphinx 8.2.x 2025-03-03 21:08:45 -05:00
0f20eca322 Merge branch 'develop' into collected-small-fixes 2025-03-03 21:02:19 -05:00
16db8e1515 Merge pull request #4483 from Yuanlab-SUSTECH/mybranch
fix the bug of pair_ylz.cpp
2025-03-03 20:59:05 -05:00
700eb0c0e6 Merge pull request #4485 from akohlmey/fix-dispersion-d3-issues
Address several issues with pair style dispersion/d3
2025-03-03 20:58:29 -05:00
42923179e5 clarify which damping is documented where 2025-03-03 16:32:50 -05:00
2e3c1dfcc6 error explanations for net charge warning err_0029 2025-03-03 10:59:23 -07:00
bc3aafd324 update log files after bugfix to pair_style ylz 2025-03-03 08:06:33 -07:00
7fc4ba9628 move documentation of sign() function to logical location and add version tag 2025-03-02 12:40:32 -05:00
38f8299cfb Merge remote-tracking branch 'github/develop' into fix-dispersion-d3-issues 2025-03-01 00:44:14 -05:00
ea48161a51 update CODEOWNERS 2025-03-01 00:42:43 -05:00
e3b81ec784 cosmetic changes 2025-03-01 00:24:00 -05:00
98159e7c14 improve error detection and messages 2025-03-01 00:22:54 -05:00
169c051308 require metal units 2025-03-01 00:20:50 -05:00
9f78d5797b rename "zero" keyword for damping function to "original"
this avoids conflicts with pair style zero when used as a hybrid sub-style.
for backward compatibility the "zero" keyword is still recognized but
is undocumented.
2025-03-01 00:20:00 -05:00
3j
5d02e140d4 There is a wrong equation in the line490, MY_4PI should be MY_PI*zt 2025-02-28 17:43:54 +08:00
f4d2c518e8 make certain variable indices are initialized 2025-02-28 03:43:58 -05:00
1f4b955a34 add dihedral multi/harmonic/kk 2025-02-28 00:07:46 -07:00
c6ebb57b41 make certain that nstyle is always initialized and detect partial variable setups 2025-02-27 23:28:19 -05:00
ef5c797a84 Merge remote-tracking branch 'github/develop' into collected-small-fixes 2025-02-27 23:21:34 -05:00
94885186b8 Updated doc with description of kMC algorithm 2025-02-27 16:12:06 -07:00
4ed7d95bf9 Update bosonic_exchange.cpp
updated documentation of reduced/physical beta convention
2025-02-27 15:31:08 +02:00
4882fe8e8b Update bosonic_exchange.cpp
Typo
2025-02-27 12:46:45 +02:00
dbdc71433c Merge branch 'develop' into bosonic-pimd-langevin 2025-02-27 12:25:18 +02:00
c182fbd1c6 fix email 2025-02-27 12:24:43 +02:00
7f4d5bf0eb comment was removed at 8780cd8 but mistakenly not added somewhere else 2025-02-27 12:23:42 +02:00
aaa81b2576 Merge pull request #4475 from lasergyro/patch-1
Update fix_press_langevin.rst to include full equation 13
2025-02-27 03:02:39 -05:00
e1ba18aff9 Adding missing settings to restart files 2025-02-26 13:04:06 -07:00
f6c2f5bc74 Merge pull request #4454 from evoyiatzis/patch-4
Add support to region plane for having the normal vector read from variables
2025-02-26 13:50:07 -05:00
dc99e204d3 bugfix from Trung to avoid problems with read_dump when not all MPI ranks have atoms 2025-02-26 13:40:19 -05:00
a99a567f0c add note that dynamic groups are only supported without averaging 2025-02-26 11:12:58 -05:00
9bf19159a4 add block to list of regions with all-variable shape options 2025-02-26 10:42:52 -05:00
b89046d82f Merge branch 'develop' into patch-4 2025-02-26 10:40:41 -05:00
361f0dbe3c Update README
Corrected typo
2025-02-26 12:58:33 +02:00
d46edfed6d Added example input files for fix pimdb/nvt and fix pimdb/langevin 2025-02-26 11:37:41 +02:00
2c7e3dddbc add test to detect if a potential file was incorrectly used with lgvdw yes 2025-02-25 21:37:38 -05:00
7ceb8c461f Merge pull request #4477 from akohlmey/collected-small-changes
Collected small changes and bug fixes
2025-02-25 17:32:14 -05:00
1e2752bc5f correct indexing for static decomposition check 2025-02-24 21:31:18 -05:00
b3e75a6f84 adjust BondStyle:class2 epsilon for aarch64 and ppc64le builds 2025-02-24 12:09:51 -07:00
d79be293f5 move precomputation for factor_sqrt to individual Pair::compute() functions
the special_lj values may be changed for individual hybrid sub-styles
with pair_modify pair special. thus the factor_sqrt[] array may have
incorrect values when computed during Pair::init_style().
2025-02-24 08:19:28 -05:00
9f6f957f7c improve error messages for fix balance 2025-02-23 18:33:32 -05:00
6264a2b202 improve error messages for balance command 2025-02-23 18:22:02 -05:00
5532117417 re-order initializer and remove unused variables 2025-02-23 17:43:40 -05:00
8780cd89a5 move long comment 2025-02-23 20:26:01 +02:00
aee34a92d3 Merge pull request #2 from akohlmey/bosonic-pimd-langevin
Updates to LAMMPS pull request 4479
2025-02-23 20:15:19 +02:00
df360f0d55 fix email 2025-02-23 20:08:37 +02:00
c7e288eb8c apply clang-format 2025-02-23 12:46:34 -05:00
f4275ae44c PIMPLify access to BosonicExchange class 2025-02-23 12:45:35 -05:00
f1ef94aade apply clang-format 2025-02-23 12:33:26 -05:00
16b2988106 make filter_args() fully C++ compatible 2025-02-23 12:32:44 -05:00
35fca290fc enumerators must be defined within the scope of the class, not globally 2025-02-23 12:20:45 -05:00
f29a433fa9 apply clang-format and follow LAMMPS programming conventions more closely 2025-02-23 12:12:36 -05:00
0448651a90 reformatting and correcting doc page issues and appy spelling fixes and false positives 2025-02-23 12:05:53 -05:00
cef81881f9 homepage and developer email 2025-02-23 18:25:13 +02:00
cce060caa8 file permissions 2025-02-23 17:53:49 +02:00
e87e6dc5b0 more 2025-02-23 17:45:19 +02:00
f46d066e5b more 2025-02-23 17:43:15 +02:00
1cb47dc066 trailing whitespaces 2025-02-23 17:40:12 +02:00
63d49f50d1 Merge branch 'develop' of https://github.com/lammps/lammps into bosonic-pimd-langevin 2025-02-23 16:54:55 +02:00
c37bc484b6 added a note about filtered_args in the h file 2025-02-23 16:47:57 +02:00
d4011262f1 Made filtered_args in filter function local 2025-02-23 16:40:04 +02:00
f1e1099ac2 fix typo 2025-02-23 04:46:34 -05:00
4d453a65e6 fix bug in utils::strcompress()
calling back() on empty strings is undefined behavior.
2025-02-21 23:33:15 -07:00
3141723c24 restore more compact implementation using fmt::runtime() 2025-02-21 22:03:27 -05:00
b77c3bf8c7 make compatible with more strict consteval format requirements of C++20 2025-02-21 21:54:28 -05:00
1e078665f6 fix bug in angle style cosine/delta 2025-02-21 16:18:56 -05:00
29931c030f Added a filter of keywords instead of enable_esynch flag 2025-02-20 16:26:18 +02:00
7952281f78 Merge branch 'develop' into sync_verlet 2025-02-19 12:33:54 -07:00
a31f4f79b8 Merge branch 'develop' into sync_verlet 2025-02-19 12:32:29 -07:00
632d88912d Tweaking synchronization flag checks 2025-02-19 12:21:42 -07:00
dafbe5541a Changing default log to sync on, adding wall 2025-02-19 12:15:36 -07:00
8641486249 Swapping nx variable names 2025-02-19 11:29:40 -07:00
abc8954c5c Adding line breaks 2025-02-19 11:28:05 -07:00
11f66b4da1 fix copy and paste bug 2025-02-19 07:36:20 -05:00
fe8ebb308d Merge github.com:lammps/lammps into develop 2025-02-19 12:25:01 +01:00
90c2175056 Updated rotation and documentation 2025-02-18 20:16:31 -06:00
d772833f67 cr 2025-02-18 23:44:28 +02:00
6fb1f4466c fixed_whitespace 2025-02-18 13:10:07 -06:00
0a1b10faef updated version based on feedback 2025-02-18 12:58:09 -06:00
f0bc9ddcc9 Merge pull request #4473 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-02-18 12:58:28 -05:00
f5099b7c16 Update fix_press_langevin.rst to include full equation 13
Completest equation 13 to match the [paper](https://pubs.aip.org/jcp/article/141/19/194108/152571/Constant-pressure-and-temperature-discrete-time) and the [implementation](36e739b734/src/fix_press_langevin.cpp (L485-L487)).
2025-02-18 17:15:01 +01:00
c19389a205 bug fix for pointing to the command name 2025-02-18 10:54:52 -05:00
816fb83d1a improve errors for atom_modify 2025-02-18 00:40:41 -05:00
3138f62ac8 renumber error 30 to 5 to match list of errors. Update error calls 2025-02-18 00:26:15 -05:00
0e07eab97f add some calls to utils::errorurl(22) 2025-02-18 00:05:12 -05:00
9be6b5a05b improve error handling for thermo output 2025-02-17 23:43:01 -05:00
fe5d6b154a simplify building of mini TOC at the top, renumber and reformat block 22 2025-02-17 23:42:04 -05:00
1c1749b6bf Merge branch 'add-error-explanations' of github.com:akohlmey/lammps into add-error-explanations 2025-02-17 23:06:44 -05:00
841e459b67 provide URL to explain fmt::format_error 2025-02-17 23:05:42 -05:00
25774943d5 Added advice on error 21 2025-02-17 17:25:07 -07:00
6f925e12dd Merge branch 'develop' into add-error-explanations 2025-02-17 15:39:22 -05:00
3ed6b617f0 tweaked number 11 2025-02-17 13:08:42 -07:00
5d4a277623 add versionadded tag 2025-02-16 22:51:00 -05:00
9f02f20023 add compute vacf/chunk command 2025-02-16 22:43:28 -05:00
77ab5bd624 minor rearrangement of if logic 2025-02-16 14:52:25 +02:00
52437e2152 Fixed a bug regarding keyword reading in pimdb_langevin; made sure the new esynch keyword in pimdb is not allowed in pimd 2025-02-16 11:02:15 +02:00
eaf624c0f0 Merge branch 'develop' into patch-2 2025-02-15 17:15:33 +01:00
89abf65751 python: remove unused import in core.py 2025-02-15 00:36:06 -07:00
5e61e6c0dc move update to cutneighmin from neighbor lists requests with explicit cutoff to a better location 2025-02-14 19:11:07 -05:00
33026e5fd3 correctly compute cutneighmin when multiple requests with different cutoff exist 2025-02-14 18:41:08 -05:00
79ed41837a fix some more errors 2025-02-14 17:17:04 -05:00
344bcc2304 Fix view with wrong label 2025-02-14 15:03:36 -07:00
ca5015eaea correct compute argument count check, avoid segfault 2025-02-14 16:55:09 -05:00
7f82dcd835 improve and modernize error messages 2025-02-14 15:23:16 -05:00
0fb79ae3ff Updated reference 2025-02-14 10:30:50 -06:00
c83ae0365e fix typo ncite in test_improper_style.cpp 2025-02-14 09:09:10 +02:00
2a35452c13 fix typo and add new line 2025-02-14 06:40:01 +00:00
52312fcd1d test for extract() in improper class 2025-02-14 06:22:29 +00:00
d83121878e make certain that Contact::varflag is initialized 2025-02-13 20:54:46 -05:00
b42cc2f588 make C++11 compatible 2025-02-13 20:39:18 -05:00
00b33b749b Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-02-13 20:35:14 -05:00
36e739b734 Merge pull request #4470 from akohlmey/bye-bye-python-zwei
Remove support for Python 2.x and show corresponding errors.
2025-02-13 19:44:07 -05:00
53213fb6ff fix spelling issues 2025-02-13 18:27:08 -05:00
f4d2653cda add dummy section that is referenced from local TOC 2025-02-13 17:57:31 -05:00
ad51ef5aff don't use :ref: on a docpage 2025-02-13 17:56:14 -05:00
8dc7d254dc add section about segmentation faults 2025-02-13 17:55:55 -05:00
966ca42463 merge 'develop' 2025-02-13 17:13:28 -05:00
67ef0407bd must have a move constructor for some compilers 2025-02-13 17:01:44 -05:00
1c65907d72 Merge branch 'develop' into bye-bye-python-zwei 2025-02-13 17:01:39 -05:00
2a2e9919cf remove preliminary (and broken) code for creating planes and update docs, so the PR can be merged 2025-02-13 17:01:13 -05:00
f84ed6f9a4 must have a move constructor for some compilers 2025-02-13 16:54:28 -05:00
8ab8491da5 Merge branch 'develop' into collected-small-changes 2025-02-13 16:43:27 -05:00
52f068d1c5 Merge pull request #4466 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-02-13 16:32:23 -05:00
bedcc59f83 remove preliminary (and broken) code for creating planes and update docs, so the PR can be merged 2025-02-13 15:32:36 -05:00
583f7b70b4 Fix rare bug in KOKKOS, manifest when load balancing on GPUs and exchange comm is on host 2025-02-13 12:41:16 -07:00
73852524dd Merge branch 'develop' into bye-bye-python-zwei 2025-02-13 03:17:53 -05:00
0f972a87fd adjust some wording for the removal of Python 2.x compatibility 2025-02-12 22:04:18 -05:00
ea2eb930c5 clarify 2025-02-12 21:47:11 -05:00
63d8915562 make use of SafeFilePtr 2025-02-12 21:47:02 -05:00
926f336962 add some note about build prerequisites 2025-02-12 21:46:37 -05:00
adfe84913f fix bogus array size bug 2025-02-12 17:58:34 -05:00
2e398bd17c improve error messages 2025-02-12 16:31:51 -05:00
1d362a7627 must call region->prematch() before creating graphics to update variables 2025-02-12 16:31:14 -05:00
98f3a0a1ba refactor cone visualization to match what LAMMPS is showing 2025-02-12 15:28:13 -05:00
66ec1ff360 make resolution of VMD graphics primitives a compile time constant. 2025-02-12 12:09:29 -05:00
7af11fe604 make more use of SafeFilePtr class. 2025-02-12 10:35:02 -05:00
944e50b06a need to define another constructor to make the SafeFilePtr class work for more cases 2025-02-12 10:34:21 -05:00
5b7bf1951e simplify logic for drawing a cylinder region 2025-02-12 05:42:51 -05:00
5479ac32d4 Adding errorurl for missing bond atom error 2025-02-11 16:06:20 -07:00
c1fb8cbf69 allowing bonds to break/create faster 2025-02-11 15:15:25 -07:00
d8893ea501 Heading to rheo citeme's 2025-02-11 14:55:52 -07:00
ac1221602b revert unnecessary renaming in improper harmonic
and sqdistharm files
2025-02-11 20:23:21 +00:00
47977a2821 Avoiding assumptions that array pointers are unchanged, misc clean ups in RHEO 2025-02-11 12:16:05 -07:00
ba14ce210c Fixing mistakes & clarifying BPM files 2025-02-11 10:42:56 -07:00
889b33df4a missed revert in improper_distharm.cpp 2025-02-11 16:26:35 +02:00
0b47e90008 revert renaming of variables in improper_distharm.cpp 2025-02-11 16:24:47 +02:00
89ceb73ec5 revert renaming in improper_distharm.h 2025-02-11 16:21:21 +02:00
7be7ffbaf1 revert renamin of cariable chi to chi0 in improper_cossq.cpp 2025-02-11 16:15:52 +02:00
c263c9a534 revert changes in improper_cossq.h 2025-02-11 16:12:34 +02:00
afaff7199b revert changes in improper_cossq_omp.cpp - they are not needed 2025-02-11 16:11:52 +02:00
b94d82d7b1 rename k anc chi in fix_adapt.rst 2025-02-11 16:04:33 +02:00
ed9b22cb0e rename k and chi in improper-distance.yaml 2025-02-11 16:03:42 +02:00
a708a50468 rename k and chi in improper_distance.cpp 2025-02-11 16:03:03 +02:00
1d974a51c0 Update fix_adapt.rst 2025-02-11 16:00:39 +02:00
fb6a1ad603 rename kw to k in improper-inversion_harmonic.yaml 2025-02-11 15:58:47 +02:00
8bba7ff10f rename kw to k in improper_inversion_harmonic.cpp 2025-02-11 15:58:07 +02:00
757eb8bf58 Update fix_adapt.rst 2025-02-11 15:53:58 +02:00
c66ca60f65 rename kw to k in improper-umbrella.yaml 2025-02-11 15:53:14 +02:00
94dd03d43c rename kw to k in improper_umbrella.cpp 2025-02-11 15:52:20 +02:00
5032436312 Update fix_adapt.rst 2025-02-11 15:49:46 +02:00
c9b4689167 rename sign and multiplicity in improper-cvff.yaml 2025-02-11 15:48:50 +02:00
bac4eec31b rename sign and multplicity in improper_cvff.cpp 2025-02-11 15:47:58 +02:00
a320a52804 Update fix_adapt.rst 2025-02-11 15:44:55 +02:00
11b95655f8 rename k0 to k in improper-class2.yaml 2025-02-11 15:42:30 +02:00
7e0f067b74 rename k0 to k in improper_class2.cpp 2025-02-11 15:41:22 +02:00
1d3ad36e85 add support for visualization plane regions 2025-02-11 07:40:42 -05:00
17797e4f74 tiny cr 2025-02-11 13:56:53 +02:00
252bd9aa9d must close "owned" file pointer if a different one is is assigned 2025-02-11 05:13:07 -05:00
08553a7272 apply safe file pointer 2025-02-10 22:48:55 -05:00
c42650257f move AutoClose class to separate header and rename to SafeFilePtr 2025-02-10 22:27:09 -05:00
f8b13b21ec Merge branch 'develop' into collected-small-changes 2025-02-10 17:57:49 -05:00
c41c4086ca Merge pull request #4468 from akohlmey/add-region2vmd-command
Add a new region2vmd command for visualizing regions with VMD
2025-02-10 16:57:44 -05:00
18cd31d811 Update fix_adapt.rst 2025-02-10 20:22:32 +02:00
e88946935c rename chi to theta0 in extract improper_ring.cpp 2025-02-10 20:19:13 +02:00
dc83bd3084 rename chi to theta0 in improper-ring.yaml 2025-02-10 20:18:13 +02:00
0b55587b1d add error 10 URL and text 2025-02-10 10:56:04 -07:00
7ae9ef75d8 Update fix_adapt.rst 2025-02-10 19:20:26 +02:00
70acd78048 change chi to d0 in improper_distharm.cpp 2025-02-10 19:18:58 +02:00
f738690cb5 change chi to d0 in improper_distharm.h 2025-02-10 19:16:47 +02:00
2b46abc31c change chi to d0 in improper-distharm.yaml 2025-02-10 19:15:58 +02:00
0c80ec5e0d change chi to chi0 in improper_harmonic_kokkos.cpp 2025-02-10 19:06:14 +02:00
3f5c54e362 change chi to chi0 in improper_harmonic_omp.cpp 2025-02-10 19:00:55 +02:00
7fe804d19d change chi to chi0 in improper_cossq_omp.cpp 2025-02-10 19:00:21 +02:00
c9bd1a7877 add url to improper_coeff messages 2025-02-10 09:59:04 -07:00
0f66e66529 add url to dihedral_coeff messages 2025-02-10 09:57:04 -07:00
8025a494d9 add url to angle_coeff messages 2025-02-10 09:49:53 -07:00
5251ba1465 change chi to chi0 in fix_adapt.rst 2025-02-10 18:45:40 +02:00
e90d5133cc change chi to chi0 in improper_cossq.cpp 2025-02-10 18:44:40 +02:00
9bce6662b4 change chi to chi0 in improper_cossq.h 2025-02-10 18:42:55 +02:00
8dfb967acc change chi to chi0 in improper-cossq.yaml 2025-02-10 18:42:07 +02:00
261cc13f99 Update fix_adapt.rst 2025-02-10 18:39:13 +02:00
f6e39d14b0 change chi to chi0 in improper_harmonic.cpp 2025-02-10 18:37:47 +02:00
0a4eea6aa0 add url to bond_coeff messages 2025-02-10 09:36:22 -07:00
ec0afc3fdf change chi to chi0 in improper_harmonic.h 2025-02-10 18:35:37 +02:00
6abdedc75b change chi to chi0 in improper-harmonic.yaml 2025-02-10 18:34:15 +02:00
75fd76aaa6 update text for MOLECULE package 2025-02-10 09:26:08 -07:00
9e249c9c57 Merge branch 'bosonic-pimd-langevin' of https://github.com/yotamfe/lammps into bosonic-pimd-langevin 2025-02-10 17:37:05 +02:00
566a14f52d Pulling 2025-02-10 17:36:49 +02:00
2c1cd2ed04 Corrected minor rst syntax errors 2025-02-10 17:36:00 +02:00
54790d6095 Added a note about mic and pbc in the documentation of pimdb. 2025-02-10 17:21:06 +02:00
63b5e46bf0 Merge branch 'bosonic-pimd-langevin' of https://github.com/yotamfe/lammps into bosonic-pimd-langevin
Conflicts:
	src/REPLICA/fix_pimdb_langevin.cpp
2025-02-10 15:07:25 +02:00
a67f67607c Added synch_energies parameters to pimdb/langevin 2025-02-10 15:05:11 +02:00
d9d24300a4 add support for ellipsoid regions 2025-02-10 00:05:42 -05:00
4cab0bfe1a implement all open face cases for cylinder regions 2025-02-09 22:19:03 -05:00
0de9da709c add support for moving regions and open faced regions 2025-02-09 18:25:14 -05:00
05521d38d9 initialization bug 2025-02-09 15:26:07 -05:00
6bd2e0e496 update error messages to use new Error class APIs 2025-02-09 10:53:03 -05:00
31697bac8d correct copy-n-modify omission 2025-02-09 10:22:55 -05:00
e00e215f99 add support to prism regions to be exported to VMD 2025-02-09 10:16:30 -05:00
7cf3ff588e include table with impropers in fix_adapt.rst 2025-02-09 16:54:15 +02:00
d11c8b3e1e Update text for improper style in fix_adapt.rst
Update text though a table with the potentials is not included
2025-02-09 15:08:02 +02:00
fe3c8487de implement check_itype in improper_hybrid.cpp 2025-02-09 14:48:10 +02:00
c0ef702af5 define chech_itype in improper_hybrid.h 2025-02-09 14:46:18 +02:00
f7a43b94a6 fix error: ‘else’ without a previous ‘if’ 2025-02-09 14:39:48 +02:00
e4a16556db implement the actual code to adapt improper parameters in fix_adapt.cpp 2025-02-09 14:26:28 +02:00
5557e03e54 add hint about setting top molecule in VMD 2025-02-08 23:26:43 -05:00
3cd028fd01 refactor command to be more flexible and capable 2025-02-08 22:52:19 -05:00
f693577262 add versionadded tag 2025-02-08 18:30:00 -05:00
0a8e2f923d add to .gitignore 2025-02-08 18:29:27 -05:00
8a87a6068c use lighter color "silver" 2025-02-08 18:23:57 -05:00
c7db4e9e19 add docs for region2vmd command 2025-02-08 18:06:32 -05:00
95858bccc6 add region2vmd command 2025-02-08 18:06:12 -05:00
8791b29aa2 give Region2VMD class access to protected members of region style classes 2025-02-08 18:05:57 -05:00
ea973e1d6c Update region.rst 2025-02-08 20:57:45 +02:00
424c694b6b update region.rst 2025-02-08 20:56:12 +02:00
49b5e89258 Update unit test in improper-fourier.yaml 2025-02-08 19:06:08 +02:00
e954bdfc14 implement extract in improper_fourier.cpp 2025-02-08 19:04:43 +02:00
2a2a7a3113 define extract in improper_fourier.h 2025-02-08 19:01:56 +02:00
66117414dd implement extract in improper_amoeba.cpp 2025-02-08 18:56:38 +02:00
38d28fb426 define extract for improper amoeba 2025-02-08 18:55:33 +02:00
098bb4b3c8 flag development version 2025-02-08 09:08:43 -05:00
314d0a0e61 only support Python version 3.6 or later. Update and correct docs and README 2025-02-08 05:54:26 -05:00
599ff11eb0 remove compatibility for compiling LAMMPS with Python 2.x and Python 3.5 and older 2025-02-08 05:05:00 -05:00
792144f12e Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2025-02-07 21:54:58 -05:00
86f7f6da98 Add check that Python 3 is required 2025-02-07 21:52:17 -05:00
8a1744c038 Updates to the instructions for building the manual. 2025-02-07 21:51:37 -05:00
b188cdc044 add check for Python version. Require minimum of Python 3.6 (Sphinx requires 3.8) 2025-02-07 20:51:50 -05:00
6eddb3a33f various minor tweaks and reformatting for CMake scripts 2025-02-07 20:50:14 -05:00
61a2db4715 revise and expand global README file 2025-02-07 19:47:05 -05:00
1a636acf81 simplify / optimize 2025-02-07 07:34:32 -05:00
d384de354a Update unit test in improper-class2.yaml 2025-02-07 09:31:28 +02:00
26e1b5d101 implement extract in improper_class2.cpp 2025-02-07 09:29:41 +02:00
909796b858 define extract for improper class2 2025-02-07 09:28:18 +02:00
ab6668031f explain some more about transition to C++17 2025-02-06 20:55:40 -05:00
d22533350a update copyright year 2025-02-06 20:55:23 -05:00
c9f41f9d90 explain more steps of the release process related to building packages 2025-02-06 20:55:11 -05:00
a547b9a417 do not mention rebasing 2025-02-06 15:00:54 -05:00
2440564bef Update unit test in improper-cossq.yaml 2025-02-06 21:23:36 +02:00
ced5fd3240 Update unit test in improper-umbrella.yaml 2025-02-06 21:22:05 +02:00
c918c7b547 Update unit test in improper-inversion_harmonic.yaml 2025-02-06 21:20:41 +02:00
f9b7013af3 Update unit test in improper-sqdistharm.yaml 2025-02-06 21:18:53 +02:00
33f5057488 Update unit test in improper-distance.yaml 2025-02-06 21:17:27 +02:00
22898fc8fc Update unit test in improper-distharm.yaml 2025-02-06 21:16:33 +02:00
72d2b70125 Update unit test in improper-ring.yaml 2025-02-06 21:15:28 +02:00
61f4012300 Update unit test in improper-harmonic.yaml 2025-02-06 21:14:46 +02:00
24f40c7db4 Update unit test in improper-cvff.yaml 2025-02-06 21:13:38 +02:00
ea9166d175 implement extract in improper distharm 2025-02-06 17:24:52 +02:00
676add28fe define extract in improper distharm 2025-02-06 17:24:13 +02:00
34e89bed4c implement extract in improper sqdistharm 2025-02-06 17:23:40 +02:00
ee7b0840ef define extract for improper sqdistharm 2025-02-06 17:22:50 +02:00
62e7698a44 implement extract in improper inversion_harmonic 2025-02-06 17:21:46 +02:00
3cd0871083 define extract for improper inversion_harmonic 2025-02-06 17:20:42 +02:00
52457d6c1e implement extract for improper distance 2025-02-06 17:18:13 +02:00
60181e2a8a define extract for improper distance 2025-02-06 17:17:17 +02:00
61a29f5421 implement extract for improper ring 2025-02-06 17:16:41 +02:00
01d091d8d6 define extract for improper ring 2025-02-06 17:15:36 +02:00
ca6ab28536 implement extract for improper cossq 2025-02-06 17:14:54 +02:00
de6f17c0ce define extract for improper cossq 2025-02-06 17:13:56 +02:00
7df94e179c fix error in improper_cvff.cpp 2025-02-06 17:12:22 +02:00
5233b21c21 implement extract in improper umbrella 2025-02-06 17:11:38 +02:00
59915a3b6a define extract in improper umbrella 2025-02-06 17:09:07 +02:00
a21b92f4de implement extract in improper cvff 2025-02-06 17:08:24 +02:00
36c2770383 define extract for improper cvff 2025-02-06 17:06:55 +02:00
84dbfa3e0d include files in fix_adapt.cpp 2025-02-06 15:46:29 +02:00
43d9d6af3e Update fix_adapt.h 2025-02-06 15:44:12 +02:00
a2508fef13 implement extract in improper harmonic 2025-02-06 15:41:20 +02:00
dda23a20b7 define extract for improper harmonic 2025-02-06 15:39:46 +02:00
feea204f7c implement reinit & set reinitflag flag to 1 2025-02-06 15:37:59 +02:00
95797d643b addition of extract & reinit methods in improper.h 2025-02-06 15:31:04 +02:00
04cad88b55 we can include ML-RANN package now in VLA check 2025-02-06 00:10:17 -05:00
97e7baf33f get rid of non-standard variable-length arrays in ML-RANN package 2025-02-05 23:41:36 -05:00
3ed6716b65 clarify that bad dynamics may occur in the documentation 2025-02-05 10:35:54 +02:00
fa285d9733 Merge branch 'develop' into BPM 2025-02-04 16:02:57 -07:00
e178f593be Adding BPM contribution statements 2025-02-04 15:49:01 -07:00
4a3394b300 Adding references to bpplastic bpm bond style 2025-02-04 15:42:01 -07:00
892c20cc20 fixing typo 2025-02-04 15:36:48 -07:00
acb9fdfc24 fix doc spacing for bpm/spring 2025-02-04 15:34:54 -07:00
2ae07ec1cb sync C++ standard selection with main CMakeLists.txt file 2025-02-04 17:00:12 -05:00
edaab05db6 Tweaking BPM plastic example parameters 2025-02-04 13:12:35 -07:00
c10219da9e Merge pull request #4451 from akohlmey/next_release
Step version strings for next feature release
2025-02-04 13:31:31 -05:00
2777984355 Merge pull request #4461 from akohlmey/last-minute-fixes
Last minute fixes for next feature release
2025-02-04 09:51:39 -05:00
262ff223c6 make clear that the vector should be all constant or all equal variables 2025-02-04 13:56:22 +02:00
3fb8857be5 relax epsilon for tests on ARM64 2025-02-03 22:19:12 -05:00
113b2e47f0 must set val.iarg before processing any arguments 2025-02-03 22:18:45 -05:00
a01ac8c907 use byref() instead of pointer() to pass pointers to ctypes objects to C 2025-02-03 22:18:17 -05:00
995d6ab41f Merge branch 'develop' into next_release 2025-02-03 17:55:37 -05:00
87dae19019 Merge pull request #4459 from akohlmey/collected-small-fixes
Collected small fixes and changes
2025-02-03 17:43:41 -05:00
3b8139d428 update formatting (reflow) 2025-02-03 15:08:12 -07:00
02f98947f9 update unique coeff messages 2025-02-03 13:12:11 -07:00
848a4300fe Merge branch 'develop' into collected-small-fixes 2025-02-03 14:54:38 -05:00
3b62892fc3 Merge pull request #4450 from rbberger/rberger/python_numpy_wrapper_fixes
python: numpy wrapper handle error cases
2025-02-03 14:53:52 -05:00
06506aa23b Merge pull request #4415 from evoyiatzis/patch-2
Allow definition of prism region using equal style variables
2025-02-03 14:50:00 -05:00
32d0bf1bee update all simple coeff messages 2025-02-03 12:13:52 -07:00
504e747f3d add initial error URL and test 2025-02-03 11:56:39 -07:00
8a0027e788 improve phrase 2025-02-03 11:40:56 -05:00
b17699a56a Merge pull request #4460 from ndtrung81/fixed-failed-regression-tests
Fixed the failed regression test with Lost atoms in an EFF example input, and added reference log files
2025-02-03 11:38:53 -05:00
e84b172417 Merge branch 'bosonic-pimd-langevin' of https://github.com/yotamfe/lammps into bosonic-pimd-langevin 2025-02-03 16:51:18 +02:00
842eec1e73 comment on conventions in primitive estimator in langevin 2025-02-03 16:50:41 +02:00
e6f2757385 Merge branch 'develop' into patch-4 2025-02-02 17:36:52 +01:00
a0253fba2d update instructions for building static executable, add flatpak build info 2025-02-02 11:10:33 -05:00
e567e4cdd6 update notes on release processing steps 2025-02-02 04:41:32 -05:00
6dfc4f343c update copyright date 2025-02-02 04:41:02 -05:00
22eb984e68 expand deprecation warnings 2025-02-01 22:37:52 -05:00
d1e65d0b9a remove extra comma 2025-02-01 22:33:32 -05:00
54832b2091 plug file descriptor leak 2025-02-01 21:33:33 -05:00
38b1efa9d4 fix small memory leak 2025-02-01 20:16:34 -05:00
7f9423a1ee fix small memory leak 2025-02-01 17:48:45 -05:00
e9f07af140 added the reference log files for example inputs under PACKAGES/eff 2025-02-01 14:55:38 -06:00
d17186a8fa remove multi/old from docs and print deprecation warning when used
also convert error messages to use new error location indicator API
2025-02-01 15:29:27 -05:00
e9e4addacb remove remaining references to removed minimizer style fire/old 2025-02-01 11:46:35 -05:00
f89ba1f354 update ReaxFF reference log files for current version of LAMMPS and use consistent names 2025-02-01 11:22:59 -05:00
3f5630c073 clarify and explain that there may not be neighbor list statistics data 2025-02-01 09:19:33 -05:00
64ec02b87d convert fix ave/correlate/long and fix ave/grid to new error APIs 2025-02-01 09:03:56 -05:00
920337963b reduce compiler warnings from unused variables, modernize a few loops. 2025-02-01 04:48:00 -05:00
150cd216ba another one whitespace 2025-02-01 09:46:06 +02:00
b2b9f2c3e9 remove whitespace in region.rst 2025-02-01 09:31:45 +02:00
418b205362 Update region.rst 2025-02-01 09:30:20 +02:00
8f23701352 must build plugins on Windows, too. 2025-02-01 02:07:01 -05:00
ebf81c0363 add tests for dreiding h-bond potentials 2025-02-01 02:01:48 -05:00
62d703a1f4 fixed lost atoms error with smaller time step for energy conservation and added reference log files for PACKAGES/eff/Auger-Adamantane 2025-01-31 23:13:31 -06:00
8b8e10d54f update regex for Windows 2025-01-31 23:30:33 -05:00
8e90e77a64 remove accidentally renamed file 2025-01-31 23:21:54 -05:00
541f81ba93 use full path when loading plugins 2025-01-31 23:19:56 -05:00
3a58f9a5aa delegate handling of multi-config path to CMake (if version 3.20 or later) 2025-01-31 22:50:13 -05:00
52fcfcaab1 fix typo 2025-01-31 22:04:57 -05:00
d96136f23d cstdbool header is deprecated and no longer needed with recent compilers 2025-01-31 22:01:06 -05:00
21f77a9275 update docs for Error::ARGZERO constant 2025-01-31 21:53:29 -05:00
fdc3823969 fix typo 2025-01-31 21:50:22 -05:00
eb1174b54b try to work around the ambiguity of 0 and null pointers 2025-01-31 21:48:29 -05:00
29b5fce5e4 do not define __INTEL_COMPILER to __INTEL_LLVM_COMPILER instead test for either
This shortcut will create problems for features that do not exist for
the Intel LLVM based compiler.
2025-01-31 21:20:44 -05:00
381f141384 correct some overeager changes 2025-01-31 21:19:13 -05:00
6da7e4aa47 update molecule file tester for changed error messages 2025-01-31 21:06:11 -05:00
be1be668a2 modernize error messages for processing molecule files 2025-01-31 20:33:47 -05:00
1dc5f8739a bugfix from @jtclem for molecule files with multiple molecule IDs 2025-01-31 20:32:58 -05:00
7d7cdf3e08 get past spell checker 2025-01-31 17:50:06 -05:00
a83b45c0fb use simpler std::string concatenation instead of implicit fmt::format() processing 2025-01-31 17:49:59 -05:00
9eb3e35255 add error URLs for molecule files 2025-01-31 17:49:49 -05:00
6f6adc05ce reassign error URL numbers to match list in pull request 2025-01-31 17:49:24 -05:00
4e582993c4 use simpler std::string concatenation instead of implicit fmt::format() processing 2025-01-31 16:07:39 -05:00
8c2bbc1608 add error URLs for molecule files 2025-01-31 15:57:53 -05:00
1d56981bb1 reassign error URL numbers to match list in pull request 2025-01-31 15:15:10 -05:00
c5f287d747 Merge pull request #4453 from akohlmey/partial-error-explanations
Partial error explanation changes
2025-01-31 14:37:19 -05:00
72eb284f76 remove whitespace from region_plane.cpp 2025-01-31 17:22:15 +02:00
1057882126 Include variables in region_plane.h 2025-01-31 17:14:49 +02:00
0b1ef95562 Update methods in region_plane.cpp 2025-01-31 17:11:22 +02:00
ac21f24013 update fix ave/correlate for new error message features 2025-01-31 07:32:05 -05:00
2ea86efe67 simplify custom format processing 2025-01-31 07:22:22 -05:00
1df1b3e2fc Merge branch 'develop' into patch-2 2025-01-31 12:22:18 +02:00
4cfa2e4ed9 update fix ave/atom and fix ave/chunk to have errors with position indicator 2025-01-31 04:33:24 -05:00
2c7bd41b7b make error commands more explicit 2025-01-31 04:32:38 -05:00
3f952f53ce avoid segfault without expanded arguments 2025-01-31 04:04:52 -05:00
0c28dfad44 simplify 2025-01-31 04:04:13 -05:00
42e379a8de Merge remote-tracking branch 'github/develop' into add-error-explanations 2025-01-31 03:23:51 -05:00
ea1607f1d8 Merge pull request #4445 from stanmoore1/small_fixes
Collected small changes and fixes
2025-01-31 00:42:12 -05:00
ed627579f6 Adding bpm/plastic demo, fixing mistake in poisson example 2025-01-30 16:44:11 -07:00
6d997258e7 Merge branch 'small_fixes' of github.com:stanmoore1/lammps into small_fixes 2025-01-30 15:25:13 -08:00
9bb56d10b3 Move typedef unused for GPUs inside directive to prevent compiler warning 2025-01-30 15:25:05 -08:00
2099dabb49 Remove unused code 2025-01-30 15:16:30 -08:00
72542c1619 python: numpy wrapper returns None in error cases
lammps.numpy wrapper functions will now return None in error cases instead of
throwing exception with NULL pointer access errors. If nelem or dimension is zero
it will return an empty numpy array with the correct shape.
2025-01-30 16:00:01 -07:00
030ad0d5af set version string to 4Feb2025 2025-01-30 17:22:28 -05:00
33c4ce8929 Adding auxetic/incompressible bpm demo 2025-01-30 14:54:59 -07:00
aa9b2b415f remove sometimes misleading and often confusing warning 2025-01-30 16:20:29 -05:00
b98797ec2c Merge remote-tracking branch 'github/develop' into small_fixes 2025-01-30 16:19:38 -05:00
c2dd04b991 replace non-ASCII chars with ASCII equivalents 2025-01-30 16:05:08 -05:00
1d286f194e Fix bug in compute_stress_cartesian with periodic boundary conditions 2025-01-30 12:46:34 -08:00
48893236ec Merge pull request #4380 from rbberger/python_computes
Python and library API changes for computes
2025-01-30 14:21:25 -05:00
75b33ac436 Merge pull request #4443 from jrgissing/reaxff/species-issues
Reaxff/species issues
2025-01-30 14:20:01 -05:00
dda72fee76 Drafting bpm/plastic doc page 2025-01-30 11:42:26 -07:00
080df8cf74 BPM plastic citation info 2025-01-30 11:22:06 -07:00
60c4cc08e9 Merge pull request #4448 from Becksteinlab/imdv3-fix
Fix broken IMDv3 `unwrap` option logic
2025-01-30 12:53:39 -05:00
4e3a41dc25 Merge pull request #4446 from jtclemm/small-patches
Miscellaneous small patches
2025-01-30 12:51:50 -05:00
c9241aa2be Merge pull request #4447 from akohlmey/recover-failed-tests
Updates to recover failed post-merge tests
2025-01-30 12:16:06 -05:00
ec0c8cc847 Documented the primitive estimator in the rst file. 2025-01-30 16:06:21 +02:00
feafce74b3 Minor changes and documentations of the primitive estimator for bosons 2025-01-30 15:04:48 +02:00
5882ec9370 Minor cleaning of bosonic_exchange.cpp 2025-01-30 11:32:11 +02:00
363309a7d8 add tip for addressing memory management issues with ReaxFF 2025-01-30 03:57:30 -05:00
444c6d78f7 consistently use a :class: qualifier for admonitions 2025-01-30 03:54:26 -05:00
7fe3da56a0 Added an assert for get_interior_bead_spring_energy if called from the first bead. 2025-01-30 10:09:10 +02:00
2b0a6419b7 add missing doc section for fix python/invoke 2025-01-29 23:57:44 -07:00
31720b2741 add missing init function to fix python/invoke 2025-01-29 23:53:23 -07:00
48f749fbdd exact copy of v2 unwrap logic 2025-01-29 23:16:44 -07:00
6685524fdb correctly apply environment variables 2025-01-29 23:39:30 -05:00
da1bbec0be set lmp pointer to NULL after delete to avoid using it or deleting it a second time 2025-01-29 23:32:52 -05:00
06bdb7b637 refactor catching exceptions during LAMMPS initialization
this will avoid the nasty segfaults with "cannot have multiple stdout capturers"
instead it will catch and display any exception thrown during init.
2025-01-29 23:09:48 -05:00
29891e06c0 correct dependency for efield/lepton tests 2025-01-29 20:52:34 -05:00
81e10bdd53 unused variable 2025-01-29 20:20:19 -05:00
4df3dead69 silence warning 2025-01-29 20:16:34 -05:00
3b5dfb0a05 properly unwrap positions 2025-01-29 20:16:26 -05:00
67e28c2bfd update for LAMMPS programming style 2025-01-29 20:15:59 -05:00
c4106f9d09 Merge remote-tracking branch 'github/develop' into recover-failed-tests 2025-01-29 19:39:58 -05:00
3e587685b6 Initial plastic BPM bond style 2025-01-29 15:25:55 -07:00
2e0bc27646 adding bpm energy proxy 2025-01-29 15:24:50 -07:00
74dca2daad Merge pull request #4310 from EiPiFun/develop-eipifun-with-doc
Add angleoffset for hbond/dreiding/morse and hbond/dreiding/lj
2025-01-29 17:12:36 -05:00
f5a8019654 spelling fixes and updates for the manual 2025-01-29 16:39:53 -05:00
b4eee0c27a Marking scalar intensive in elec/stop/fit fix 2025-01-29 13:58:47 -07:00
e3dd2790f9 add KSpace style zero to KSPACE and zero2 as plugin demo 2025-01-29 15:39:53 -05:00
c4d11a7871 follow LAMMPS programming conventions more closely 2025-01-29 15:38:18 -05:00
d638f66b68 updating to match new 1d syntax 2025-01-29 13:29:15 -07:00
ff340cf409 Repairing srp wildcard logic 2025-01-29 13:09:49 -07:00
6c8d531f78 remove unused variables and related dead code 2025-01-29 05:51:24 -05:00
3f38635ecc restore "= 0.0" deleted by accident 2025-01-28 22:08:46 -05:00
229916e11f whitespace 2025-01-28 21:35:11 -05:00
201d1a59b5 the /angleoffset versions have their own different parameter file and reader 2025-01-28 21:33:44 -05:00
759a37cc75 update and synchronize with implementation of the non-OPENMP version 2025-01-28 21:33:03 -05:00
8b85ee22a3 use consistent formatting across all hbond/dreiding styles 2025-01-28 21:32:13 -05:00
ea6e702184 Merge branch 'develop' of https://www.github.com/lammps/lammps into kmc 2025-01-28 19:00:08 -07:00
a678a3b474 Initial update of doc file 2025-01-28 18:51:52 -07:00
e6986cbc06 Removed unused local RNG and restructured reading of command options 2025-01-28 18:51:07 -07:00
f928df87a1 Merge branch 'develop' into develop-eipifun-with-doc 2025-01-28 19:42:13 -05:00
0a7e0dc388 Remove another unused variable 2025-01-28 17:23:39 -07:00
e728ca31d6 Remove unused variable 2025-01-28 16:35:16 -07:00
ec2b98448d Fix bug in compute stress/cartesian density profile with periodic boundary conditions 2025-01-28 16:33:19 -07:00
800a5f6310 Merge pull request #4409 from willzunker/mdr-rebase2
pair_style granular - MDR contact model
2025-01-28 16:33:27 -05:00
48f92a6404 Merge pull request #4440 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-01-28 16:28:11 -05:00
005433c7e3 Merge branch 'develop' into develop-eipifun-with-doc 2025-01-28 12:45:16 -07:00
f8ac22ade7 add flags and set up inheritance 2025-01-28 12:42:34 -07:00
bb83497f61 add offset code to base omp files 2025-01-28 12:40:50 -07:00
1ebc109234 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2025-01-28 12:21:06 -05:00
082fa6fae5 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2025-01-28 10:14:36 -07:00
ab2c8af38d Fix issue with Kokkos QEq and ACKS2 when atoms are added and the neighlist isn't marked as rebuilt, original code by @alphataubio
Co-authored-by: Mitch Murphy <alphataubio@gmail.com>
Co-authored-by: Stan Moore <stanmoore1@gmail.com>
2025-01-28 10:14:28 -07:00
0f6ee5c8a1 improve error messages 2025-01-28 12:01:59 -05:00
334dab68f7 must flag function as override after adding virtual function in base class 2025-01-28 05:37:24 -05:00
2c3f0d65ac update docs 2025-01-27 20:58:49 -05:00
8f551df46a add fortran interface for lammps_addstep_compute() and lammps_addstep_compute_all() 2025-01-27 20:38:08 -05:00
026da76a3b cutoff radius related items 2025-01-27 14:16:18 -08:00
23045d62c5 add plugin wrapper and swig interface to new LAMMPS library functions 2025-01-27 14:29:15 -05:00
5d47c417ed add fortran interface for lammps_clearstep_compute() 2025-01-27 14:26:53 -05:00
77e6a6dcef Suppress compiler warning since return value can be safely ignored 2025-01-27 10:58:15 -07:00
d42f881c06 Remove unused variables to prevent compiler warnings 2025-01-27 10:43:44 -07:00
6398a7c7aa add test for the library interface to clearstep_compute and addstep_compute 2025-01-27 12:25:46 -05:00
8ecd7e8629 Fixed an error in the primitive estimator 2025-01-27 18:49:30 +02:00
0fde98cfbc use POINTER() captitalization consistently 2025-01-27 11:17:04 -05:00
a242511ce7 avoid segfaults 2025-01-27 11:16:27 -05:00
3a986fb50d Merge remote-tracking branch 'github/develop' into python_computes 2025-01-27 11:15:42 -05:00
d91a75a9af Corrected PIMD-B after CR 2025-01-27 15:30:24 +02:00
b2def45011 Deleted a redundant file 2025-01-27 13:43:31 +02:00
c47f7d5618 cr 2025-01-27 13:36:40 +02:00
6bb022853e avoid segfault on command line errors 2025-01-26 21:45:12 -05:00
8e2cb0f4c8 calculate molids on first timetstep of run
but do not delete molecules
2025-01-26 15:22:00 -05:00
4c22410548 docs: molIDs range from 1 to # molecules 2025-01-25 23:41:35 -05:00
991b8c11ff delete option: reset molecule ID to index from 1 2025-01-25 23:38:15 -05:00
464d9d82d6 return correct clusterIDs even on first timestep 2025-01-25 23:33:04 -05:00
baf9a9b2d2 need to update delete_Tcount before returning
needs to be every timestep, regarding of Nfreq, etc. settings
2025-01-25 23:14:09 -05:00
00054a8d97 Merge branch 'add-error-explanations' of github.com:lammps/lammps into add-error-explanations 2025-01-25 21:50:39 -05:00
28bc5fb2bd revise error messages to use pointers where possible and meaningful 2025-01-25 20:37:55 -05:00
f8750baf4e whitespace 2025-01-25 20:37:22 -05:00
281336800a Another error url for nbins 2025-01-25 15:05:50 -07:00
9fb8cc1d17 drafting error urls for nbin classes 2025-01-25 14:59:55 -07:00
8482d150e1 update label 2025-01-25 16:22:12 -05:00
ccc790265d geometric center -> com 2025-01-25 16:21:21 -05:00
ceac416f9a average charge -> total charge in pos file 2025-01-25 15:16:26 -05:00
0a954b0129 per-atom mass bugfix for delete keyword 2025-01-25 14:44:18 -05:00
cbd99d29cf update pointers in case changed at some point
is 'clusterID' name for per-atom property too general?
2025-01-25 14:17:20 -05:00
d5b82562bd Merge branch 'develop' into group-bitmap-accessor 2025-01-25 13:49:33 -05:00
4bdc02ef3a bugfix for when not using variable Nlimit
for delete option
2025-01-24 23:41:00 -05:00
3a44a03f04 migrate clusterID to fix property/atom 2025-01-24 23:29:10 -05:00
563b5b0997 flush buffers after writing error messages 2025-01-24 20:43:12 -05:00
e039927a31 convert fix ave/histo to have improved error messages 2025-01-23 22:29:56 -05:00
8c6d0bef41 remove repeated code 2025-01-23 20:25:14 -05:00
6fb318f61c Merge branch 'develop' into collected-small-changes 2025-01-23 20:22:14 -05:00
a0fcbc9b71 Merge pull request #4442 from akohlmey/freeze-fmt-lib-prepare-std_format
Freeze fmt library at version 10.2.1 and add changes that prepare LAMMPS for transition to std::format
2025-01-23 20:21:42 -05:00
934bed29f5 Revert "apply workarounds for (probably bogus) warnings or errors from nvcc"
This reverts commit 5ddad0bbde.
2025-01-23 12:19:24 -05:00
b9a8ddbb8c add versionadded tag 2025-01-23 12:12:46 -05:00
b5da9ce3e2 Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-01-23 12:06:59 -05:00
0dfd5d821a Merge pull request #4401 from mala-project/mala
Kokkos versions of bispectrum and Gaussian descriptors on grid
2025-01-23 12:06:25 -05:00
f8484de195 more details about current and future compiler requirements 2025-01-23 12:02:51 -05:00
a771277a6c Merge branch 'develop' into add-error-explanations 2025-01-23 11:35:55 -05:00
a30b5f9345 add check for fmt::print() to GitHub style check workflow 2025-01-23 11:30:13 -05:00
dac011b865 add placeholders for versionadded tags for new functions 2025-01-23 11:21:09 -05:00
d7ffa16817 small correction 2025-01-23 11:20:36 -05:00
493ff3017c add tool for checking whether fmt::print() statements have crept in 2025-01-23 10:26:56 -05:00
49dc526bc8 doc fix for kspace_modify from @ndtrung81 2025-01-23 10:06:37 -05:00
790b124f6a correct help text 2025-01-23 08:52:27 -05:00
57cc7b6817 programming style and error message updates 2025-01-23 06:00:41 -05:00
5803a62822 add check to fix drude to detect if core atoms without drude atom id exist 2025-01-23 06:00:16 -05:00
d1dc0f7efc enable and apply clang-format 2025-01-23 04:54:45 -05:00
4be26c3480 add test whether drude particle was found locally and stop with error when not
this handles two cases:
1 the actual drude particle is not in the sub-domain
2 the drude particle was never assigned by fix drude
2025-01-23 04:54:21 -05:00
3e4a50fe63 remove backward compatibility for compute_modify extra and compute_modify dynamic
Now extra/dof and dynamic/dof are required
2025-01-23 04:52:05 -05:00
b016b135fa added Compute::modify_param() function.
This way individual computes can add custom keywords to compute_modify in
a similar fashion as fixes
2025-01-23 04:51:12 -05:00
048b96af65 Merge branch 'develop' into mala 2025-01-23 09:44:00 +01:00
55add23309 Merge pull request #7 from stanmoore1/mala
Fix issues with GNU Make build
2025-01-23 09:43:16 +01:00
5959a01abd Revert "import libfmt 11.0.1"
This reverts commit fbc6ba4ef4.
2025-01-23 03:41:29 -05:00
1aee093bfd revert workaround for compiling with C++20 and later 2025-01-23 00:19:06 -05:00
1fef98dc50 Revert "import code for fmtlib 11.1.0"
This reverts commit 833607f926.
2025-01-23 00:17:01 -05:00
b5e48f6769 Revert "bugfix update to version 11.1.1"
This reverts commit c9b69b00c5.
2025-01-23 00:16:47 -05:00
80d00e3b3c Revert "add bugfixes with update to version 11.1.2"
This reverts commit 9e4a51d568.
2025-01-23 00:16:29 -05:00
e26599c532 Revert "We no longer support Intel icc version 19 or older. Clean up checks/flags."
This reverts commit 906117ff47.
2025-01-23 00:15:48 -05:00
8f57539bab work around the requirement that fmt::format() needs a constexpr string as format
we need this change to make bot {fmt} compatible wth C++20 and later and also conform to std::format requirements
2025-01-23 00:13:27 -05:00
e4dbfee498 replace fmt::print() with utils::print() 2025-01-23 00:11:31 -05:00
8baec60155 implement an utils::print() function similar to fmt::print()
this doesn't have the constexpr requirement for the format string.
also it will help porting to std::format in C++20, which doesn't
have a similar functionality either.
2025-01-23 00:03:30 -05:00
3412c4744d fix fmt::format() missing argument bugs 2025-01-22 23:58:29 -05:00
b4f012057c fix fmt::format() missing argument bugs 2025-01-22 23:57:58 -05:00
c1662f64ca reaxff/species: post_integrate->end_of_step
fix for incorrect molecule IDs (variable: clusterID) output by reaxff/species vector

Co-Authored-By: mkanski <20713012+mkanski@users.noreply.github.com>
Co-Authored-By: Navraj <88741755+navlalli@users.noreply.github.com>
2025-01-22 23:52:52 -05:00
cc36947449 make use of new Error class APIs 2025-01-22 22:15:08 -05:00
3012e02de1 Merge branch 'develop' into add-error-explanations 2025-01-22 18:26:21 -05:00
5ddad0bbde apply workarounds for (probably bogus) warnings or errors from nvcc 2025-01-22 18:20:58 -05:00
94eee049b4 Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-01-22 18:01:43 -05:00
e548c656ce Merge pull request #4435 from athomps/hybrid-scaled-peratom
Hybrid scaled peratom
2025-01-22 18:00:18 -05:00
6b4ecfd719 Fix issues with GNU Make build 2025-01-22 15:33:09 -07:00
19d64fd0f9 Fix massive performance regression on GPUs with Kokkos version of fix npt 2025-01-22 14:22:09 -07:00
6663e998d9 Merge branch 'develop' of github.com:lammps/lammps into develop 2025-01-22 17:11:31 +01:00
b00a2a2e1d Merge branch 'develop' into mala 2025-01-22 08:13:51 +01:00
c0be84356e Removed debugging output, added contributor, added files to Install.sh 2025-01-22 08:13:36 +01:00
b1b51307c0 silence CodeQL warnings about potential overflows 2025-01-21 22:41:41 -05:00
21bbd69b3c remove dead code 2025-01-21 22:41:12 -05:00
6f19d1fe0e molmap docs attempt
not a simple feature to describe in words
2025-01-21 21:58:51 -05:00
844f8e4e16 clarify how molecule IDs treated for 2025-01-21 20:28:21 -05:00
ee3e113339 initialize 'created atoms' mol ID to zero
can control using molmap option
2025-01-21 20:15:50 -05:00
651c1b2bc2 Merge branch 'develop' into collected-small-changes 2025-01-21 20:06:50 -05:00
0767de7eeb Merge pull request #4439 from akohlmey/arm-cpu-unittest
Add Workflow for running ctest on Linuix with ARM64 CPU
2025-01-21 19:56:42 -05:00
4912f1347c Merge pull request #4399 from stanmoore1/kk_bug_fixes
Fix issues in KOKKOS package
2025-01-21 19:56:11 -05:00
c353c3c6c6 better treatment for 'new mol IDs'
for molecule IDs in post-reaction template, but not in pre-reaction template, adds new molecule ID onto previous max  molecule ID
2025-01-21 18:31:08 -05:00
4fdd85df4f Need local capture for lamdas on GPUs 2025-01-21 16:13:52 -07:00
fbfdcbbac1 Merge branch 'develop' into kk_bug_fixes 2025-01-21 14:50:34 -07:00
7c0254caee Limiting rho calculation for tait equation 2025-01-21 13:47:22 -07:00
c6adf793ab Fixing comment in example script 2025-01-21 13:05:02 -07:00
96d44c729b Fix more issues in Kokkos fix langevin gjf option 2025-01-21 10:51:40 -07:00
8c2d83c5eb avoid double initialization and potential double free 2025-01-21 11:24:01 -05:00
3bb26ae87b Merge branch 'develop' into mala 2025-01-21 17:11:43 +01:00
536aa7cadf Removed debug comments/old printfs etc. 2025-01-21 17:09:04 +01:00
f4b8200bcc download plumed-2.9.3 by default now 2025-01-21 10:39:08 -05:00
2765f35340 It seems the problem was not with the primitive estimator but when initializing all particles at 0 0 0.
When initialized randomly it works.
2025-01-21 17:12:03 +02:00
45222b3f9a run check only after merges (for now) 2025-01-21 10:03:51 -05:00
9fd0d09b5f pimdb works with NVE and conserves energy. Fixed a little bug and now the printed total energy is also conserved.
From some reasin the primitive estimator doesn't work with Langevin :((((((
2025-01-21 11:57:37 +02:00
2d3cd6a646 skip known to be unstable unit tests 2025-01-21 01:46:08 -05:00
f10d1a30fc increase epsilon for passing tests on Linux ARM64 2025-01-21 01:45:49 -05:00
911fd0946c add github action to run unit tests on ARM64 2025-01-21 00:24:10 -05:00
3c02731362 Merge pull request #4438 from akohlmey/collected-small-fixes
Collected small changes and fixes
2025-01-21 00:01:42 -05:00
a7af0fc078 Fix warnings 2025-01-20 22:00:34 -07:00
d614aeb91d Fix small memory leak, add debug RNG 2025-01-20 17:37:32 -07:00
75f4d3deb7 Merge branch 'develop' into small-patches 2025-01-20 16:25:07 -07:00
9cb67de38f Merge branch 'develop' of github.com:lammps/lammps into kk_bug_fixes 2025-01-20 15:50:48 -07:00
29397b4a44 Fix more issues in fix langevin/kk pointed out by @ndtrung81
Co-authored-by: Trung Nguyen <ndactrung@gmail.com>
Co-authored-by: Stan Moore <stanmoore1@gmail.com>
2025-01-20 15:50:21 -07:00
292ae27f98 use ioffset variable to indicate the first argument that is not fixed
also, convert all error messages to use the new style.
2025-01-20 14:57:11 -05:00
2c82ce8142 library: update new function signatures to use void* instead of bigint 2025-01-19 16:06:33 -07:00
93e266f648 Merge remote-tracking branch 'origin/develop' into python_computes 2025-01-19 15:41:30 -07:00
60e1e52ec1 add whitespace to end of file 2025-01-19 12:21:41 -05:00
a5b66f02d1 update docs 2025-01-18 22:19:43 -05:00
d99c960eb9 resolve unit test failures due to enhanced error handling 2025-01-18 21:40:48 -05:00
cba09fc0f5 improved error handling for user specifying rigid fix 2025-01-18 17:40:07 -05:00
be7d3a5f4b moved body struct inside class 2025-01-18 17:34:07 -05:00
5436411178 Merge branch 'develop' into develop 2025-01-18 17:05:57 -05:00
9cca8ab179 modernize 2025-01-18 15:54:34 -05:00
fbbeba5912 removed friend class status for fixHMC 2025-01-18 14:35:10 -05:00
d34a8a4807 moved body momentum randomization into fix rigid small 2025-01-18 14:29:34 -05:00
2817ad036f make coverity scan happy 2025-01-18 11:54:48 -05:00
c2bcf79196 avoid divisions 2025-01-18 11:45:27 -05:00
0501f76fcf follow LAMMPS programming style more closely 2025-01-18 11:37:53 -05:00
7b994801b5 constant was denormal. increase to become normal 2025-01-18 11:37:20 -05:00
23c63511f0 no hiden tabs, use string escapes instead. 2025-01-18 11:08:25 -05:00
7ffe04ca92 discuss that only turning off bonds can lead to "bond atom missing" errors
also make notes and this warning stand out more by using adminition boxes
2025-01-18 09:08:08 -05:00
efd5165707 avoid segfaults if there was no input processing 2025-01-17 23:27:36 -05:00
e38c13a764 add strcompress function and use it for error output 2025-01-17 22:59:44 -05:00
e350f28e26 refactor how error output is created and only print input and parsed line if they differ in text 2025-01-17 18:06:31 -05:00
fecf1c2f69 update morse coeff method, fix bug in flag 2025-01-17 15:59:28 -07:00
f540e8b9ff whitespace 2025-01-17 12:48:57 -07:00
72784262b1 Merge branch 'develop' into mdr-rebase2 2025-01-17 12:17:20 -07:00
9b443c9a4d add utility function to compare two string while ignoring whitespace 2025-01-17 14:06:30 -05:00
769b0b9211 Clarifying doc on svector for many models, resetting svector values in granular model 2025-01-17 11:56:37 -07:00
e6a84d5f2a Added mdr svector to doc and svector example in in.triaxial.compaction.12 2025-01-17 13:37:15 -05:00
90416b63fc move misplaced break statement 2025-01-17 13:14:51 -05:00
7900f24844 Adding contact area svector to mdr 2025-01-17 11:29:35 -05:00
ea9345444a Merge branch 'collected-small-fixes' of github.com:akohlmey/lammps into collected-small-fixes 2025-01-17 10:41:12 -05:00
b9dbfc6eb2 add support to flag failed arguments for calls to expand_args() 2025-01-17 10:40:34 -05:00
5a45ef6994 explain error message output for users 2025-01-17 10:35:34 -05:00
0cb64afc84 explain error message output for users 2025-01-17 09:13:55 -05:00
7c4649adbf update TODO list and changelog 2025-01-17 08:43:46 -05:00
a4cc00041c add notes about errors and warnings and log output 2025-01-17 05:13:25 -05:00
1e179b2432 address warnings reported by coverity scan 2025-01-17 05:12:40 -05:00
3b815c1bbe remove dead code 2025-01-16 22:02:11 -05:00
cf7695e99f add option to restart the LAMMPS instance to "Run" menu 2025-01-16 21:43:36 -05:00
1636a11054 fix minor issues 2025-01-16 21:22:41 -05:00
fa54fd1097 add option to suppress printing the last command 2025-01-16 21:11:27 -05:00
de5a41de7b simplifying svector handling for walls 2025-01-16 15:37:16 -07:00
57d47ebb4f Adding custom svector gransubmod quantities 2025-01-16 15:32:12 -07:00
b9a5557911 Added support for single() and born_matrix() 2025-01-16 14:36:44 -07:00
1bcbf6dc4b Error to warning for overlap check 2025-01-16 16:28:19 -05:00
95152b1eb6 Slight adjustments to overlap check 2025-01-16 16:00:16 -05:00
af8b873bf5 Adding error message for initial overlaps 2025-01-16 12:22:50 -07:00
da5a12fcd1 increase visibility of highlighting the failed argument 2025-01-16 11:39:53 -05:00
6c16b1de74 must not set to unique if request is for skip list. only check for smallest pair cutoff. 2025-01-16 10:26:48 -05:00
f273116681 prevent the neighbor list re-ordering from getting stuck 2025-01-16 10:18:16 -05:00
82598ab3ca display error messages with fixed width font 2025-01-16 00:39:02 -05:00
00f23d4829 revert workarounds in compute rdf and adf now that the issue is fixed at the root 2025-01-16 00:38:31 -05:00
36dcb294b3 we need tighter checks, also on the smallest pairwise cutoff, before we can re-use a default neighbor list for an occasional list with an explicit cutoff 2025-01-16 00:23:47 -05:00
f60139d374 some more fixes to address coverity scan warnings. 2025-01-15 23:12:39 -05:00
8c93986e47 add overloads for Error::all() and Error::one() that can point out the location of a faulty argument 2025-01-15 23:12:11 -05:00
b21f804e4e Fixing initialized overlap bug 2025-01-15 20:00:19 -07:00
6aa0c95c5e Removed more unnecessary input file lines 2025-01-15 21:46:42 -05:00
4cfe4831ed Removed unnecessary input file lines 2025-01-15 21:13:08 -05:00
0f462a60ff sign error, better variable name 2025-01-15 14:40:08 -07:00
c5e3ffed75 Fixed merge conflict 2025-01-15 14:14:51 -07:00
b8fcb927ee Added forward comm for atomscale values 2025-01-15 14:11:00 -07:00
50f932ba9e Updating const expressions 2025-01-15 13:06:10 -07:00
a5e3e755c2 Adding safety checks for some variables 2025-01-15 11:33:02 -07:00
7fa1bf39f3 shift settings check from angleoffset to base LJ 2025-01-15 10:24:25 -07:00
002fc02b3d Got rid of the calc function in bosonic_exchange, the calculation is performed in the get function.
Added prepare_coordinates in pimd/nvt and pimd/langevin for that purpose
2025-01-15 16:41:19 +02:00
48f49837d8 fix some more minor memory issues flagged by coverity scan 2025-01-15 08:23:58 -05:00
c3ca6a8e56 Merge branch 'develop' into mala 2025-01-15 13:19:15 +01:00
4afdf493d7 integrate and adapt contents from PR #4028 by @alphataubio 2025-01-15 06:05:25 -05:00
66ffb1c39e whitespace 2025-01-15 04:55:36 -05:00
358e6e82a0 Removed some code review note 2025-01-15 11:53:32 +02:00
29fca919b1 apply clang-format 2025-01-15 04:49:34 -05:00
f1fb0906be correct class name 2025-01-15 04:49:21 -05:00
865ce67e83 use correct base class 2025-01-15 04:48:07 -05:00
bf0f149445 Merge pull request #6 from stanmoore1/mala
Fix compile issues from LAMMPS https://github.com/lammps/lammps/pull/4391
2025-01-15 10:46:54 +01:00
f02f6b50c4 Removed footprints of past merge 2025-01-15 11:44:57 +02:00
2a9a1aeeab Updated doc/src/fix_pimdb.rst 2025-01-15 11:43:32 +02:00
dfd8631394 remove debug output 2025-01-15 04:40:48 -05:00
11a790a04a angle_offset_one and cut_angle_one are only local variables 2025-01-15 04:36:51 -05:00
41555a66e9 correct documentation and add versionadded tag 2025-01-15 04:20:34 -05:00
58eca0eef4 Merge branch 'develop' into develop-eipifun-with-doc 2025-01-15 04:11:53 -05:00
1b79f34b22 Merge branch 'bosonic-pimd-langevin' of https://github.com/yotamfe/lammps into bosonic-pimd-langevin 2025-01-15 10:59:43 +02:00
7f6cfd364d commit before pull 2025-01-15 10:55:13 +02:00
274525ca25 Merge branch 'bosonic-pimd-langevin' of https://github.com/yotamfe/lammps into bosonic-pimd-langevin 2025-01-15 10:36:55 +02:00
ec504e3324 Fixed some error with the ENUM definitions 2025-01-15 10:35:33 +02:00
3a2349fa32 add some troubleshooting suggestions 2025-01-15 00:02:11 -05:00
27540503ad Merge remote-tracking branch 'github/develop' into add-error-explanations 2025-01-14 22:30:34 -05:00
8b5c9a18fd Merge branch 'develop' into hybrid-scaled-peratom 2025-01-14 22:29:11 -05:00
2cbdaf8a6a fix some issues flagged by coverity scan 2025-01-14 22:23:24 -05:00
5f50278241 transfer workaround from compute rdf 2025-01-14 22:06:00 -05:00
781b40643c add deprecation warning for using accelerator offload with INTEL package 2025-01-14 20:49:00 -05:00
fbc66f75ac adjust epsilon (again) for macOS on ARM 2025-01-14 20:48:43 -05:00
5e90674fbe Merge commit 'ffa4765b154aea2027e438ac134f8d6ce742419a' into collected-small-fixes 2025-01-14 20:48:35 -05:00
ffa4765b15 Merge pull request #4241 from gsalkuin/develop
Add new fix to compute force and torque due to electric potential
2025-01-14 20:33:10 -05:00
34075ebb3f apply clang-format 2025-01-14 20:22:34 -05:00
494c2fc033 add atomvar array to restarts 2025-01-14 20:22:07 -05:00
e745b37a45 Merge branch 'develop' into hybrid-scaled-peratom 2025-01-14 20:05:28 -05:00
89370efe39 Merge branch 'develop' into develop 2025-01-14 19:12:14 -05:00
906399b14f Merge pull request #3 from srtee/efield_lepton_updates
Efield lepton updates
2025-01-14 19:11:09 -05:00
bbb7d86614 Merge pull request #4410 from soniasalomoni/pair_d3
pair_style d3 - D3 dispersion corrections
2025-01-14 18:21:52 -05:00
028367804e Finshed condensing equations 2025-01-14 16:09:43 -07:00
264c1c3140 Merge branch 'develop' of github.com:lammps/lammps into mala 2025-01-14 16:02:37 -07:00
eb5977dc66 Fix issues with host_flag 2025-01-14 15:57:15 -07:00
008bf14693 Fix compile issues from #4391 2025-01-14 15:49:40 -07:00
0ee4bf621f Fix some compile issues and remove unused variables 2025-01-14 14:35:42 -07:00
3101bb3263 Add new files to GNU Make build system 2025-01-14 14:34:59 -07:00
4611b84b6f Filled in mdr cite command 2025-01-14 16:20:37 -05:00
0fe7fbdb42 Merge branch 'develop' into pair_d3 2025-01-14 16:05:29 -05:00
b7c02d6a03 Starting to break down MDR equations 2025-01-14 13:49:56 -07:00
b2e35f1808 Doc spell check 2025-01-14 13:18:43 -05:00
a661ffdb06 Merge branch 'develop' into develop 2025-01-14 12:06:07 -06:00
853a8efa88 Remove README_MDR.md 2025-01-14 12:32:20 -05:00
14389cfd2c Reset ddelta_bar even during update->setupflag=true 2025-01-14 11:33:55 -05:00
9c7714e40f Simplified deltamax definition 2025-01-14 10:52:12 -05:00
a4f02fbad3 handle the case when pair-wise cutoff varies and neighbor list is not sufficient 2025-01-14 10:04:16 -05:00
b27aa31baa fix whitespace 2025-01-14 22:35:56 +10:00
276b8d9c93 streamline Lepton variable update process with ptr-vectors 2025-01-14 22:31:42 +10:00
1f7533029b deduplicate force and torque calculations 2025-01-14 22:08:16 +10:00
af1f442b97 increment bugfix for "inputs local" 2025-01-14 07:06:37 -05:00
edb068c43f Merge pull request #4426 from akohlmey/update-to-fmtlib-11.1
Update embedded fmtlib copy to version 11.1
2025-01-14 01:24:57 -05:00
e682f3d3e5 work on docs 2025-01-14 01:19:25 -05:00
783d21c19b these functions do not create errors or throw exceptions 2025-01-14 00:55:48 -05:00
a50343077d Merge remote-tracking branch 'github/develop' into python_computes 2025-01-14 00:53:19 -05:00
31d1addfad Merge pull request #4434 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-01-14 00:41:10 -05:00
7b9f7be485 replace vecs with arrays since size known at compile-time; make phi and dphi flagging uniform 2025-01-14 14:47:33 +10:00
7c8c8c9d01 update patch for WHAM code 2025-01-13 22:07:44 -05:00
b56b8a016a Merge pull request #2 from akohlmey/efield_lepton_updates
Fix efield/lepton updates
2025-01-13 20:40:17 -05:00
c2868c448e Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-01-13 20:34:14 -05:00
754517dcf6 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2025-01-13 20:32:01 -05:00
6d7926a026 add missing lammps_expand() function 2025-01-13 19:13:34 -05:00
663f812799 fix inconsistent backquotes 2025-01-13 19:05:04 -05:00
55a3b28f7d replace CR-LF with LF 2025-01-13 16:19:40 -05:00
8705a14b35 create logs for example input 2025-01-13 16:18:24 -05:00
ec669676d0 remove unused variables 2025-01-13 16:11:14 -05:00
742c869534 Merge branch 'develop' into gsalkuin/develop 2025-01-13 16:08:18 -05:00
be048fc636 cosmetic changes 2025-01-13 16:01:18 -05:00
ddff545a4c Merge pull request #4431 from Becksteinlab/imd-v3-integration
Interactive Molecular Dynamics [IMD] Version 3 implementation
2025-01-13 15:59:41 -05:00
1d2f42dce9 Merge branch 'develop' into develop 2025-01-13 14:24:22 -06:00
2a5e20c1c1 Merge remote-tracking branch 'origin/develop' into hybrid-scaled-peratom 2025-01-13 12:20:53 -07:00
dd8cc3ebdd Merge remote-tracking branch 'upstream/develop' into develop 2025-01-13 12:18:51 -07:00
1d1320f648 Merge remote-tracking branch 'origin/develop' into python_computes 2025-01-13 10:51:33 -07:00
83a73ba0b9 library: add API for compute clearstep and addstep 2025-01-13 10:51:19 -07:00
62aa803d53 order list of removed commands and packages in reverse order of their removal date
also add an (automatic) table of contents simplify finding something
2025-01-13 12:03:31 -05:00
2898592bb4 Merge branch 'develop' of https://github.com/yotamfe/lammps into bosonic-pimd-langevin 2025-01-13 17:45:11 +02:00
f3b1f56fa8 Merge pull request #1 from BarakHirshberg/bosonic-pimd-langevin
Bosonic pimd langevin
2025-01-13 17:38:25 +02:00
795a5daade removed html folder which was added by accident 2025-01-13 17:37:13 +02:00
a5eb0dc105 went over text 2025-01-13 17:22:56 +02:00
edca6eb4db this is a lost cause 2025-01-13 14:55:48 +00:00
60583c5e35 Merge branch 'bosonic-pimd-langevin' of https://github.com/yotamfe/lammps into bosonic-pimd-langevin 2025-01-13 16:48:16 +02:00
a5e28252cf add referece for virial works for bosons 2025-01-13 16:47:30 +02:00
a22c58cd47 add missing update to invoked_bonds in ComputeReaxFFAtomKokkos 2025-01-13 00:17:05 -07:00
dc7f28c4c0 Merge branch 'develop' into add-error-explanations 2025-01-13 01:27:34 -05:00
77d8942589 Merge branch 'develop' into group-bitmap-accessor 2025-01-13 01:08:47 -05:00
686326a999 Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-01-13 01:05:48 -05:00
528770f07d Merge pull request #4344 from lammps/cmake-cpp-std-deprecation
Prepare development branch for requiring C++17 and deprecating GNU make support for some packages
2025-01-13 01:05:07 -05:00
d692a99e4d print PyLammps deprecation warning only once and only from MPI rank 0 2025-01-13 00:04:14 -05:00
dd6fea3fcd Merge branch 'develop' into cmake-cpp-std-deprecation 2025-01-12 23:54:50 -05:00
e20f3ec874 macOS does not like forward declarations for standard C++ classes 2025-01-12 23:50:33 -05:00
f50edb5a38 Merge pull request #4369 from rbberger/deprecate_pylammps
Python interface updates
2025-01-12 23:30:22 -05:00
0aadc4cf46 use mutex to avoid race condition when accessing thermo data during run 2025-01-12 23:27:17 -05:00
78850efaed also warn that KOKKOS will end support for legacy builds in Summer 2025 2025-01-12 21:57:25 -05:00
7c990f8b0e improve wording 2025-01-12 21:56:54 -05:00
2df402c4ff Merge branch 'develop' into cmake-cpp-std-deprecation 2025-01-12 21:47:02 -05:00
906117ff47 We no longer support Intel icc version 19 or older. Clean up checks/flags. 2025-01-12 21:46:04 -05:00
c476e6704b revert workarounds for Intel ICC 19.x 2025-01-12 20:13:24 -05:00
4519489f8b fix unit test and another workaround for intel compilers 2025-01-12 19:42:03 -05:00
fedb3fa6b8 Rearranged memory allocation 2025-01-12 16:28:56 -07:00
c8a46fe4ce make better use for std calls and improve error messages 2025-01-12 17:48:50 -05:00
943504fd98 move timespec2seconds exception handling to calling function 2025-01-12 17:48:20 -05:00
60b10c1588 Merge remote-tracking branch 'github/develop' into update-to-fmtlib-11.1 2025-01-12 16:52:56 -05:00
f34ae8a011 simplify 2025-01-12 16:49:49 -05:00
296f1ab29f alternate attempts to work around intel icc 19 limitations 2025-01-12 16:43:37 -05:00
7b60abf569 add LAMMPS customization for Intel compilers 2025-01-12 16:11:50 -05:00
9e4a51d568 add bugfixes with update to version 11.1.2 2025-01-12 15:41:37 -05:00
a5c3305c42 sync with lammps tutorials paper description 2025-01-12 15:09:42 -05:00
85dec585a6 add tests for lammps_eval() and its python counterpart 2025-01-12 14:49:07 -05:00
dce1231052 add a lammps_eval() function to the C library interface and all derived wrappers 2025-01-12 00:39:18 -05:00
be596cca0c revert setting to run flatpak builder test action only after merges 2025-01-11 19:31:31 -05:00
cf2e800aaa extract bundle from local flatpak repo and try to install it 2025-01-11 19:20:06 -05:00
672faf9fe5 operate on "develop" branch 2025-01-11 19:06:49 -05:00
fb1c090f19 revert to lammps repo 2025-01-11 18:59:22 -05:00
cb2acb633b update workflow 2025-01-11 18:56:59 -05:00
61c541ff92 add github action to build LAMMPS-GUI as flatpak 2025-01-11 18:47:35 -05:00
91dfa41494 Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-01-11 18:17:04 -05:00
a443fe4142 Merge pull request #4433 from farrelljd-iop/angle-mwlc
Angle style MWLC (meltable wormlike chain)
2025-01-11 18:07:36 -05:00
b508229bd2 adapt to LAMMPS programming style 2025-01-11 18:05:16 -05:00
8b2c852121 correct and update the Python Howto 2025-01-11 17:54:44 -05:00
994a631150 add "post no" for single-shot runs 2025-01-11 17:43:05 -05:00
283adb288b Converted tabs to blanks 2025-01-11 13:19:54 -07:00
a2f8e730a2 Adjusted white spcae 2025-01-11 12:32:45 -07:00
69e1bbae04 Updated doc page 2025-01-11 12:32:05 -07:00
be62d7e04b Merge pull request #4 from akohlmey/imd-v3-updates
Add separator comments
2025-01-11 11:51:08 -07:00
0d85c5c704 add separators 2025-01-11 11:13:47 -05:00
7520282568 First pass, compiled, not run 2025-01-10 19:31:03 -07:00
e3f930b33f Merge pull request #1 from akohlmey/angle-mwlc
Small updates to PR #4433
2025-01-11 10:04:12 +08:00
3126482c48 update variable command tests to include whitespace 2025-01-10 20:53:24 -05:00
c4a5906382 stop checking ML-PACE with coverity scan as recent CMake changes break it 2025-01-10 20:12:09 -05:00
4f6c3d12f7 avoid variable definition error: expected 3 arguments but found N 2025-01-10 20:10:53 -05:00
dbc6f77e53 Merge branch 'develop' into deprecate_pylammps 2025-01-10 16:01:06 -07:00
bc8c8f1c3f Merge remote-tracking branch 'upstream/develop' into develop 2025-01-10 12:10:52 -07:00
6732013935 apply clang-format 2025-01-10 12:17:29 -05:00
5a0222153a small doc updates and corrections 2025-01-10 12:15:24 -05:00
e858c8a78d Merge branch 'develop' into angle-mwlc 2025-01-10 14:33:50 +08:00
4af328cba1 added contributing author email 2025-01-10 14:08:34 +08:00
5490336543 added a unit test 2025-01-10 14:06:00 +08:00
6bdc58baaf improved the documentation 2025-01-10 14:05:19 +08:00
3731513576 example IMDv3 usage 2025-01-09 21:55:44 -07:00
c7ae973948 more edits to angle_mwlc documentation 2025-01-10 12:02:27 +08:00
2b688bb013 replace defines with static constexpr 2025-01-09 21:32:58 -05:00
ac68f70e20 three more 2025-01-09 21:23:56 -05:00
5419fe0925 Merge branch 'develop' into group-bitmap-accessor 2025-01-09 21:05:42 -05:00
25c92d6399 fixed conflict 2025-01-09 19:21:55 -06:00
75dba6f39b Merge branch 'lammps:develop' into develop 2025-01-09 19:21:06 -06:00
e2f735ad29 fix whitespce 2025-01-09 19:20:21 -06:00
5bb1fe42dd resolved conflict 2025-01-09 19:08:19 -06:00
38c3477d2f Merge pull request #4394 from rbberger/find-package-pace
ml-pace: allow linking to existing pace library
2025-01-09 19:41:19 -05:00
4330801a2f Merge pull request #4429 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-01-09 19:33:52 -05:00
195f8a9670 a couple more updates to use the new API 2025-01-09 19:30:34 -05:00
d68287a9c7 updated documentation 2025-01-09 17:33:08 -06:00
12b6b797b8 simplify 2025-01-09 14:47:20 -05:00
b1e881d4ff Merge branch 'develop' into group-bitmap-accessor 2025-01-09 14:37:38 -05:00
9f40bbc2b6 fix spelling 2025-01-09 14:36:18 -05:00
a17213fc62 add link and description paragraph for the "Out of range atoms" error 2025-01-09 12:29:54 -05:00
a769b3d6b2 Merge branch 'develop' into collected-small-changes 2025-01-09 11:17:05 -05:00
cb930d6470 Merge pull request #4405 from tylercollins5737/develop
vcm example script and log added
2025-01-09 10:20:16 -05:00
9c1da4cbc9 whitespace fix in doc 2025-01-08 22:45:38 -08:00
090e55b1d8 Merge branch 'develop' into develop 2025-01-08 22:42:31 -08:00
617f798199 make sure that retstr is always initialized since it is always communicated 2025-01-09 00:37:43 -05:00
ce05f0cd9d Merge pull request #3 from akohlmey/imd-v3-updates
Imd v3 Integration updates
2025-01-08 21:07:10 -07:00
9a513ca82c Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-01-08 21:54:04 -05:00
50bda6077c Merge pull request #4430 from akohlmey/update-linalg
Update linalg to version 1.4.2 corresponding to LAPACK 3.12.1
2025-01-08 21:53:33 -05:00
52d932df3b Merge pull request #4413 from stanmoore1/kk_update_4.5.0
Update Kokkos library in LAMMPS to v4.5.1
2025-01-08 21:23:19 -05:00
41e7cf7879 MPI bugfix for dump netcdf from Paul Coffman 2025-01-08 21:18:03 -05:00
494f58904c correct reference 2025-01-08 20:54:04 -05:00
1032c94c9f apply some more of LAMMPS' programming style guidelines and improve errors 2025-01-08 20:52:57 -05:00
6a363d441b small formatting tweaks, add versionadded tag 2025-01-08 20:52:45 -05:00
02a8a9d706 make LAMMPS_ASYNC_IMD a CMake variable, too, and document it properly 2025-01-08 20:50:16 -05:00
1ebf591592 Merge branch 'develop' into imd-v3-integration 2025-01-08 16:13:50 -07:00
0dacedd8b0 undo workflow changes 2025-01-08 16:12:58 -07:00
668435380b Make sure that yaml-cpp::yaml-cpp exists 2025-01-08 15:41:37 -07:00
748046089c add another couple of dependent functions 2025-01-08 16:32:56 -05:00
f3425ebfbf add one more missing dependency 2025-01-08 16:21:08 -05:00
e7d9244184 add missing dependency 2025-01-08 16:14:28 -05:00
8ec9f37611 update linalg to version 1.4 corresponding to LAPACK 3.12.1 2025-01-08 15:52:30 -05:00
ec7be395ea ml-pace: update tag 2025-01-08 11:48:34 -07:00
24763bfd8e add info on how to debug if LAMMPS seems stuck 2025-01-08 12:24:13 -05:00
ae6b2d85fb fix typo 2025-01-08 10:04:14 -05:00
cbab95e569 update for more clarity 2025-01-08 10:04:06 -05:00
1432df370b modernize access for fixes and computes 2025-01-08 08:53:12 -05:00
613c38d9e6 replace loops with explicit iterators with c++-11 auto loops 2025-01-08 08:29:53 -05:00
d66d1a2dd2 fix indexing bug in dump vtk that would ignore the first 5 custom properties 2025-01-08 08:19:09 -05:00
42adfc1ae3 Merge remote-tracking branch 'github/develop' into collected-small-changes 2025-01-08 02:28:51 -05:00
0abb371fbe Merge pull request #4428 from tadmor/fix-kim-single-proc-error-bug
Single process errors in pair style kim reported using error->one
2025-01-07 22:34:26 -05:00
de667de8eb Fixing setup order 2025-01-07 15:36:37 -07:00
2482cfafe9 Simplifying fncrit 2025-01-07 13:27:01 -07:00
d9e40a79c1 Removing psi_b peratom variable 2025-01-07 13:19:07 -07:00
2c64d3b711 Moving contact penalty update 2025-01-07 12:58:18 -07:00
a795ae35fd Single process errors in pair style kim reported using error->one
Errors during a KIM compute operation that occur on a single processor were reported using error->all, which causes LAMMPS to hang when running in parallel with more than one processor. This has been fixed by replacing error->all with error->one for those cases.
2025-01-07 12:29:34 -06:00
61bc514b38 removing end of step in fix mdr 2025-01-07 11:07:19 -07:00
8595d8f05c Merge branch 'develop' of github.com:lammps/lammps into kk_update_4.5.0 2025-01-07 10:04:43 -07:00
9e373e7cc1 Merge branch 'develop' of github.com:lammps/lammps into kk_bug_fixes 2025-01-07 10:02:34 -07:00
75543e27e4 Uncommenting update flag, whitespace 2025-01-07 08:56:50 -07:00
ccc57f85a3 Missed changes 2025-01-07 08:50:05 -07:00
6c7d3646c7 Moving newton error to fix mdr 2025-01-07 08:50:05 -07:00
36b041a9ae Removing EoS update in setup 2025-01-07 08:50:05 -07:00
b10a5427a1 Simplifying variable initialization/resetting 2025-01-07 08:50:01 -07:00
f16aa8e32e PIMDB langevin now supposes to support NVE 2025-01-07 12:13:01 +02:00
c528573b62 Simplified delta partition logic and commented update check 2025-01-06 22:37:22 -05:00
14be59d3cc Minor spelling errors and input modification 2025-01-06 19:48:16 -05:00
16f6fe315c Restoring deleted character 2025-01-06 14:06:57 -07:00
09735b29e7 Adding setup check to MDR submodel 2025-01-06 13:58:49 -07:00
53084018ae Removed uncessary property/atom's: contacts and adhesive_length 2025-01-06 15:35:34 -05:00
2c655db731 Cleaned up example mdr input files 2025-01-06 15:11:57 -05:00
cec242a421 remove trailing whitespace 2025-01-06 12:30:45 -07:00
e9057ae5c8 mdr radius update explaination added to pair_granular.rst 2025-01-06 14:18:36 -05:00
f07c28a7a1 Update bosonic_exchange.cpp 2025-01-06 17:57:27 +02:00
4fa36164cf Added bibliographic details to fix_pimdb_nvt.cpp 2025-01-06 17:51:57 +02:00
fa014649e5 Filled bibliographic details in fix_pimdb_langevin.cpp 2025-01-06 17:50:19 +02:00
c9fb27686d Fixed an error in the documentation: pimd method only supports physical fmmode, not normal 2025-01-06 17:26:47 +02:00
c03d15f759 tiny cr 2025-01-06 16:17:57 +02:00
1e491dc593 Merge branch 'develop' of https://github.com/lammps/lammps into bosonic-pimd-langevin 2025-01-06 16:04:43 +02:00
42a884a14c touch docs 2025-01-06 15:44:23 +02:00
df75830d63 Added error msgs to fix_granular_mdr.cpp and completed first draft mdr pair_granular.rst 2025-01-04 20:38:23 -05:00
467ceee9cb update patch for WHAM 2025-01-04 18:18:27 -05:00
d31c040cb9 Merge branch 'develop' into bond/react-molmap_option 2025-01-04 18:05:59 -05:00
670447ea21 correct list of valid reference syntax to computes, fixes, and properties 2025-01-04 16:22:05 -05:00
119aa59016 Improving error checks 2025-01-03 16:47:29 -07:00
2b10fc153b Started adding mdr model to pair_granular.rst 2025-01-03 17:43:38 -05:00
534632a598 Answered commented questions 2025-01-03 14:29:14 -05:00
629cb9d0d3 Small updates and answers for MD 2025-01-03 10:34:48 -07:00
cd6ab17d36 Merge pull request #4427 from akohlmey/collected-small-changes
Collected small changes and fixes
2025-01-03 12:27:43 -05:00
bc30665689 update unit test for changes in units command error messages 2025-01-03 04:04:42 -05:00
1fcf1a7c56 add patch for customization of wham to support LAMMPS units 2025-01-02 19:39:02 -05:00
f7cea5e428 improve error messages 2025-01-02 19:38:10 -05:00
735606a0b5 document inclusion of WHAM 2025-01-02 18:03:56 -05:00
d87abc0d01 correct CMake script code for including WHAM executables in macOS app-bundle 2025-01-02 17:25:44 -05:00
31963900da Providing answers to commented questions 2025-01-02 16:45:05 -05:00
399d7111d5 include WHAM software in LAMMPS-GUI compilation 2025-01-02 00:38:04 -05:00
b86832e72f Added checks for non-supported parameters for pimdb/langevin, and updated the documentation accordingly. 2024-12-30 12:41:42 +02:00
53c91e67a1 Expanded the documentation of iPy/Tuckerman's convention; made spring_force const; nvt sets mic to true. 2024-12-30 11:01:37 +02:00
463452e6a0 README added 2024-12-29 22:40:05 -08:00
b246599654 uploaded dated stress output file 2024-12-29 22:33:24 -08:00
f809aee52f uploaded dated plot 2024-12-29 22:31:35 -08:00
908c2aaf5e Merge branch 'develop' into develop 2024-12-29 20:35:47 -08:00
8b32516b79 display a valid URL for the download location 2024-12-29 20:11:59 -05:00
78a897c1bf check if a downloaded (solution) file is a symlink placeholder and put a copy of the original in its place 2024-12-29 17:22:07 -05:00
4d36a84738 add check whether libcurl support was compiled into LAMMPS and geturl is functional 2024-12-29 17:22:00 -05:00
9dbb9d356d reformulate to avoid command-line 2024-12-29 12:05:07 -05:00
0bdaece1f0 add keyboard shortcut and context menu entry for jump to next warning 2024-12-29 11:35:44 -05:00
f6c0c73289 improve layout of warnings panel 2024-12-29 10:48:54 -05:00
7d67bcad22 compatibility with Qt 5.12 on Ubuntu 20.04LTS 2024-12-28 22:09:29 -05:00
d70b923c5a update tutorial info texts from paper 2024-12-28 20:34:45 -05:00
73eeda3b1d display panel with number or warnings and lines in output window, button for jumping to next warning 2024-12-28 18:44:44 -05:00
255e50cfc3 Style changes to gransubmod 2024-12-28 11:14:05 -07:00
f50b5d63f3 combine the first two and the second two wizard pages into one page each 2024-12-28 12:38:52 -05:00
be9ace068a show download progress in status line and progress bar 2024-12-28 12:38:45 -05:00
e5ee94a13c add overloads for automatic string style conversions 2024-12-28 12:38:39 -05:00
bbef7e3eac update TODO 2024-12-27 23:01:20 -05:00
211099b7ca small updates and corrections to the LAMMPS-GUI howto 2024-12-27 22:57:51 -05:00
90d1e4d45f add code paths for all 8 tutorial wizards. only descriptive text is missing. 2024-12-27 15:42:36 -05:00
86e0b7e1d1 Consolidating history access in gran sub mod 2024-12-27 12:58:58 -07:00
c9b69b00c5 bugfix update to version 11.1.1 2024-12-27 12:03:23 -05:00
9241f89582 avoid 32-bit integer overflow by reordering 2024-12-27 11:35:28 -05:00
f71fa8e94e logo images for all 8 currently supported tutorials 2024-12-27 10:20:18 -05:00
916e5a81fb more fix::init() checks and some clang-formatting for NH style classes 2024-12-27 08:44:02 -05:00
1d4e2d7867 another chunk of added/updated/modernized internal compute checks at Fix::init() 2024-12-27 04:18:01 -05:00
fb33541961 use command-line consistently where applicable and drop "line" where not 2024-12-27 04:03:41 -05:00
de0baba124 add updates/corrections, improve formatting 2024-12-27 03:50:51 -05:00
53c3fa2afd memcpymask is a constant and thus should be uppercase 2024-12-27 01:54:44 -05:00
332653d5ca output embedded fmt lib version info with help flag and info config command 2024-12-26 23:36:46 -05:00
5ece81323e suppress bogus compiler warnings about overflowing buffer size in memcpy() 2024-12-26 22:53:44 -05:00
833607f926 import code for fmtlib 11.1.0 2024-12-26 22:10:28 -05:00
c7d58a4eef whitespace 2024-12-26 18:57:05 -07:00
48178ccc50 highlight error and warning messages in output window 2024-12-26 17:19:12 -05:00
b762610944 make taper warnings consistent between Kokkos and CPU and avoid multiple outputs 2024-12-26 16:28:22 -05:00
5947e3e82c use LAMMPS' warning function from Error class 2024-12-26 16:27:20 -05:00
f3cbf55d3c update LAMMPS-GUI todo list 2024-12-26 16:26:51 -05:00
f9b00fb0b4 Removing seeminly unnecessary steps in gran wall update 2024-12-26 10:55:42 -07:00
c78c53b36f more checking on temperature and pressure computes plus bugfixes 2024-12-24 16:06:17 -05:00
77ab630080 update LAMMPS-GUI TODO list 2024-12-24 15:36:40 -05:00
f00addcfaf Merge pull request #4422 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-12-24 14:40:56 -05:00
940473af98 Merge branch 'kk_update_4.5.0' of github.com:stanmoore1/lammps into kk_update_4.5.0 2024-12-24 10:35:16 -07:00
a9ce245527 Converting history indices to an enum 2024-12-24 10:35:16 -07:00
e31ca3c9c5 Update CMake 2024-12-24 10:35:05 -07:00
a23dcb67d1 Merge branch 'develop' into kk_update_4.5.0 2024-12-24 09:59:33 -07:00
c27ca94660 Update Kokkos library in LAMMPS to v4.5.1 2024-12-24 09:58:51 -07:00
e94f3a53bd Update fix_pimdb_nvt.cpp 2024-12-24 16:53:08 +02:00
364843d277 Update fix_pimdb.rst 2024-12-24 16:50:45 +02:00
e253dcf2a5 Update fix_pimdb.rst 2024-12-24 11:49:29 +02:00
28dc82f3ed Started documenting pimdb 2024-12-24 11:26:03 +02:00
fbba20fa89 validate that a non-temperature compute has not been replaced without fix_modify 2024-12-23 20:24:24 -05:00
df44ee9504 Accepted some of Yotam's code review, there are still open discussions (search OB) 2024-12-23 15:50:27 +02:00
6905bc736b cr 2024-12-23 11:34:32 +02:00
aecbc21123 Modified tableting sim parameters to reduce runtime 2024-12-22 18:04:33 -05:00
39efb67a7a removed 14 particle MPFEM and 20,000 tabeleting simulation 2024-12-22 17:43:38 -05:00
ecb0f9525b Clarifying contact penalty logic, minimizing use of std 2024-12-22 11:13:04 -07:00
6abbdfd740 minimize pair lookups, reducing indentation level, more misc clean ups 2024-12-22 08:00:45 -07:00
af4a731ef2 Update variable.rst documentation 2024-12-21 11:16:01 -08:00
dbc930c756 correct permissions 2024-12-20 19:44:28 -05:00
60b0ef68a6 enable and apply clang-format 2024-12-20 19:39:19 -05:00
42b6308e26 remove commented out debug code, replace pow(x,2.0) with MathSpecial::square() 2024-12-20 19:37:22 -05:00
3c0d4c8e14 add versionadded tag 2024-12-20 19:36:36 -05:00
8a89d2fcf6 no more error lists in headers 2024-12-20 19:22:02 -05:00
b05172fe96 spelling fixes and documentation formatting corrections 2024-12-20 19:21:35 -05:00
49b2b978e6 build system updates to skip fix neighbor/swap if VORONOI package is not installed 2024-12-20 19:20:51 -05:00
78aee50de8 small cosmetic changes, simplify d2/d3 examples, and create consistent logs 2024-12-20 18:49:55 -05:00
8c6a1f01f5 Misc cleanups to MDR normal submod 2024-12-20 16:49:43 -07:00
1896244d96 Adding reference to deform/pressure in barostat howto 2024-12-19 15:15:39 -07:00
c847ac1fd4 Removed trailing whitespace 2024-12-19 13:37:30 -07:00
0bd65d3489 Merge branch 'kmc' of https://github.com/jtavenner-dev/lammps into kmc 2024-12-19 13:05:33 -07:00
4004d26304 Spelling check fix 2024-12-19 12:57:17 -07:00
822f774fd0 Minor style clean ups 2024-12-19 11:50:57 -07:00
1717840c3f Fixing deconstructors 2024-12-19 11:38:22 -07:00
acb107af5e Merge branch 'develop' of https://www.github.com/lammps/lammps into kmc 2024-12-19 11:29:52 -07:00
82569f4448 Added documentation files 2024-12-19 11:29:19 -07:00
399f81cf46 Code by Aidan Thompson, I am only committing it; fixing the cyclical include that broke the build process after merging develop
Co-authored-by: Aidan Thompson <athomps@sandia.gov>
2024-12-19 19:20:41 +01:00
92aae586d4 Merge branch 'develop' into kmc 2024-12-19 10:19:02 -07:00
210f7d7225 check that the internal pressure compute has not been manually replaced with a non-pressure compute without using fix_modify 2024-12-19 12:08:21 -05:00
095d33dafb Added examples and references to the docs 2024-12-19 18:06:54 +01:00
f980e8babf Integrated MD-KMC code to current development branch 2024-12-19 09:52:05 -07:00
1f61c9ba82 I forgot to include a change in merging develop that seems to be very important 2024-12-19 17:39:02 +01:00
824dcda382 Fixed two style issues in the docs, got rid of printf that's also deleted on develop 2024-12-19 17:22:36 +01:00
5f3ea61080 Merge branch 'develop' into mala 2024-12-19 17:16:05 +01:00
f06c4daee0 make format style variable tests unambiguous for rounding issues 2024-12-19 11:09:36 -05:00
aadc87279d Merge branch 'fix-doc-gpu-typo' of https://github.com/DanielYang59/lammps into collected-small-changes 2024-12-19 08:35:47 -05:00
74cf599778 work around bug in FindVTK.cmake shipped with VTK 9.1 (and possibly other versions) 2024-12-19 08:32:34 -05:00
bf10fcd2f5 fix GPU build typo 2024-12-19 21:17:01 +08:00
1e968d9cb0 Merge branch 'develop' of github.com:lammps/lammps into develop 2024-12-19 13:14:38 +01:00
bff2e64bbc Docs and example updates by Aidan Thompson
I did NOT author this commit, I am only pushing it because for some reason, Github does not permit Aidan to do so

Co-authored-by: Aidan Thompson <athomps@sandia.gov>
2024-12-19 10:06:53 +01:00
82b0687a15 More robust dvector handling 2024-12-18 21:10:46 -07:00
844d3a6cab Minimizing changes to pair granular 2024-12-18 17:44:12 -07:00
3b21f69d70 Merge branch 'develop' into kk_bug_fixes 2024-12-18 16:02:14 -07:00
8cf03b0b1c Fix memory corruption in comm_tiled_kokkos 2024-12-18 15:59:42 -07:00
d764c367c7 Reorganizing MDR fix 2024-12-18 13:41:58 -07:00
ab6e3f6015 Combining fixes 2024-12-18 12:58:37 -07:00
b4a6be2623 more spelling and formatting 2024-12-18 05:24:16 -05:00
089e45375f small doc corrections and formatting fixes 2024-12-18 04:54:33 -05:00
3311e71a82 Merge branch 'develop' into develop 2024-12-17 20:27:13 -08:00
7cd6c49a0d added line linking example script 2024-12-17 20:26:12 -08:00
4b1a8d1a78 uncommented output line 2024-12-17 20:06:04 -08:00
03fff14922 example name suffix removed 2024-12-17 20:02:38 -08:00
6505a9052b make format style variable tests unambiguous for rounding issues 2024-12-17 21:48:34 -05:00
6fdc67e2a8 Merge remote-tracking branch 'github/develop' into pair_d3 2024-12-17 21:22:39 -05:00
e288163ea4 Merge branch 'develop' into pair_d3 2024-12-17 21:22:05 -05:00
a47503fd8b complete previous commit 2024-12-17 21:18:10 -05:00
cac3bdd175 move two more parameter arrays to header and make them static constexpr 2024-12-17 21:09:04 -05:00
7921aeda9e convert defines and arrays on the stack with static constexpr local arrays 2024-12-17 20:56:35 -05:00
61734a414c Remove unused includes 2024-12-17 18:40:48 -07:00
1ba8ec4a0a fixed adhesion in elastic limit by updating amax assignment 2024-12-17 18:56:59 -05:00
3c026df75d formatting docs 2024-12-17 14:36:59 -07:00
2c9ad698ca doc updates 2024-12-17 14:36:41 -07:00
3d29991947 fix async IO bug 2024-12-17 14:22:45 -07:00
aeb2190582 Merge pull request #4404 from abkein/experimental
Marked multitype's default constructor as noexcept
2024-12-17 15:22:33 -05:00
67a8120c44 Merge pull request #4403 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-12-17 15:17:28 -05:00
5e16a21d9e lower epsilon one more time 2024-12-17 13:53:35 -05:00
1e0a3f4601 lower epsilon for macOS 2024-12-17 12:15:38 -05:00
9732efa32c fix whitespace 2024-12-17 08:31:29 -08:00
6fe5f373d9 cleaned up remaining comments in pair_granular 2024-12-17 11:24:32 -05:00
a7ba185a4c cleaned up comments 2024-12-17 11:18:26 -05:00
faab36cbd0 Merge branch 'develop' into collected-small-changes 2024-12-17 10:39:55 -05:00
fe77596099 cosmetic 2024-12-17 10:39:24 -05:00
4bdf6b0e2e make consistent 2024-12-17 10:39:18 -05:00
8ee83bc926 Merge pull request #4391 from weinbe2/feature/snap-unify-codepaths
SNAP/Kokkos CPU+GPU code unification and other optimizations
2024-12-16 23:09:16 -05:00
8daad30ae1 Re-enable Kokkos OpenMP and Serial code paths for SNAP 2024-12-16 11:07:47 -07:00
abd9f71990 remove whitespace from region_prism.cpp 2024-12-16 19:57:41 +02:00
baa5fa6dfd remove whitespace from region_prism.h 2024-12-16 19:55:27 +02:00
a7561d3d28 Update region.rst 2024-12-16 19:53:10 +02:00
96e53c4714 Actual implementation in region_prism.cpp 2024-12-16 19:48:00 +02:00
5625f5f3e8 Variable definition in region_prism.h 2024-12-16 19:43:48 +02:00
c6e9e90e15 refactor to mirror airebo/morse class structure 2024-12-16 09:37:21 -07:00
97f19d9d54 revert fix_ave_chunk changes 2024-12-15 17:19:16 -08:00
5ffbf3934b use safe version of Domain::minimum_image() for large image flag counts. 2024-12-15 18:20:38 -05:00
7922c923e2 Use MY_PI from math_const.h (for Windows) 2024-12-15 12:26:17 -08:00
5d865598ed Fix data file path for large avicel sim 2024-12-15 11:56:58 -08:00
64c06e9673 revert verlet.cpp change 2024-12-15 11:53:48 -08:00
a6d53d8d13 fix incorrect extvector setting bug for using fix vector with fixes 2024-12-14 23:11:48 -05:00
861b1fb16f small doxygen updates 2024-12-14 21:40:47 -05:00
2e57a2ee23 remove exchange and borders on restored state. Causes atoms to be lost. 2024-12-14 17:26:24 -05:00
afe0d94122 small fixes for the manual 2024-12-14 17:12:51 -05:00
c9d0ebadd9 address spelling issues 2024-12-14 17:10:22 -05:00
5fa4be4597 correct references 2024-12-14 17:09:50 -05:00
4c33bf663d whitespace 2024-12-14 16:58:58 -05:00
875ad66afc add exchange and borders on restored state 2024-12-14 16:44:26 -05:00
9a4361336d update documentation 2024-12-14 16:40:54 -05:00
6cb46bc7f0 update documentation 2024-12-14 16:40:24 -05:00
e48f288e2b result of "make fix-whitespace" 2024-12-14 13:20:16 -08:00
b953dbd856 use a larger timestep with fix rigid example 2024-12-14 16:06:10 -05:00
ea664476d3 change ra keyword to resample 2024-12-14 15:59:09 -05:00
70c5722e9f flatpak updates 2024-12-14 09:44:57 -05:00
1cb12e3753 update appdata for flatpak builds 2024-12-14 08:22:09 -05:00
6124631a65 updated readme example list order 2024-12-13 21:18:10 -08:00
1188c38e73 updated docs example page 2024-12-13 21:15:24 -08:00
0c91880192 updated compute_temp_chunk doc 2024-12-13 21:10:37 -08:00
e3b991c27a Merge branch 'develop' of github.com:lammps/lammps into feature/snap-unify-codepaths 2024-12-13 15:47:30 -07:00
f557b7b0e5 Need to update define for HIP unified memory 2024-12-13 11:45:12 -08:00
4c347a719e Update docs for Kokkos v4.5.0 2024-12-13 09:48:16 -07:00
9e3f7e55ee Update build systems for Kokkos v4.5.0 2024-12-13 09:32:45 -07:00
7f68aeb6d5 Update Kokkos library in LAMMPS to v4.5.0 2024-12-13 09:23:03 -07:00
2c1447dec6 Fix more issues 2024-12-13 09:22:07 -07:00
16e0a7788a Now actually added the correct log 2024-12-13 09:51:07 +01:00
754aa1c73f python: doc and example updates 2024-12-12 23:27:07 -07:00
e45ef5adc0 unittest: add Python command_wrapper test 2024-12-12 23:27:07 -07:00
24a4ff78b6 python: update examples and docs 2024-12-12 23:27:07 -07:00
d50a62f827 example readme updated 2024-12-12 18:32:46 -08:00
5134529ee0 Merge branch 'develop' into experimental 2024-12-13 02:14:33 +03:00
1b29f3dc6e Fix another issue with gjf flag 2024-12-12 13:32:53 -08:00
3986ca4289 Fix more GPU data movement issues with fix langevin/kk and gjf option 2024-12-12 11:46:09 -08:00
077a229cc8 merge develop into angle-mwlc 2024-12-12 16:04:09 +08:00
8f25a31dee adapted angle_mwlc to work with units other than lj 2024-12-12 15:38:34 +08:00
483111b637 remove references to nonexisting input 2024-12-12 00:22:51 -05:00
3aeb64de89 rename pair style and fully integrate into build and manual 2024-12-11 15:33:39 -05:00
b4acfd1e3b updated summary, comments, and name 2024-12-10 21:47:30 -08:00
0674f43364 correct references 2024-12-10 23:49:24 -05:00
eba7dfad36 address spelling issues 2024-12-10 23:48:33 -05:00
91c0d599f6 add note about age of SPH package PDF add-on docs. 2024-12-10 23:00:30 -05:00
0fa1255cc3 fix python/invoke: ensure computes have run 2024-12-10 20:57:45 -07:00
9da58b3ffc python: deprecated pylammps interface 2024-12-10 20:47:22 -07:00
49938456a3 Merge branch 'lammps:develop' into develop 2024-12-10 17:45:18 -08:00
335069f1ca implemented d3 pair style 2024-12-10 17:25:39 +01:00
02db7be6e2 Merge branch 'develop' into collected-small-changes 2024-12-10 09:07:57 -05:00
a78aee5731 Merge pull request #4407 from jtclemm/small-patches
Bug fix for domain class, minor edits to other classes
2024-12-10 08:30:18 -05:00
e902d19e06 Merge pull request #4366 from jtclemm/rheo
Updates for RHEO package, including new optional comm features
2024-12-10 08:23:31 -05:00
6f4466f300 Marked multitype's default constructor as noexcept, b/c it is 2024-12-10 08:19:38 -05:00
f59f084c37 Added logs for examples 2024-12-10 10:39:57 +01:00
93e04e3177 Add missing syncs to fix_langevin_kokkos 2024-12-09 17:18:39 -07:00
1b7bc59e51 Clarifying BPM eq dist logic 2024-12-09 11:51:12 -07:00
90f121e02c Clarifying ambiguous remap comment 2024-12-09 11:34:53 -07:00
6de8c38a83 Fix compile issues 2024-12-09 11:16:19 -07:00
fdfe6d54c6 Clarifying break no alternate 2024-12-09 11:14:29 -07:00
2562d3afc4 Updating bpm pour example with break no 2024-12-09 11:11:06 -07:00
4c496df934 Simplifying behavior of bpm bonds without breakage 2024-12-09 11:04:27 -07:00
bcd123c882 Removing extra x-lambda conversion 2024-12-09 10:36:05 -07:00
00ebe9a3e8 Squashed version of Will's commits. 2024-12-09 08:31:57 -08:00
e21ed49695 improve error messages 2024-12-09 09:08:22 -05:00
f93dd3273d Added link to PRB paper 2024-12-09 14:08:22 +01:00
80acfeebe7 Added documentation 2024-12-09 14:04:47 +01:00
3c6f4374ee removed some id info 2024-12-06 22:37:28 -08:00
f0c176c603 vcm example script and log added 2024-12-06 21:42:23 -08:00
5f3ee3100a Marked multitype's default constructor as noexcept, b/c it is 2024-12-07 01:56:28 +03:00
828f5b9a77 avoid uninitialized data access 2024-12-06 15:31:00 -05:00
aaa8431919 add comment to sync this file with the corresponding page of the LAMMPS homepage 2024-12-06 11:40:11 -05:00
2eb3084a8c add "Original author" tag to Steve's name 2024-12-06 11:17:45 -05:00
30d39c8fb3 Fixed formatting issues 2024-12-06 09:37:09 +01:00
2279763c05 Clarifying definition of knd for hooke 2024-12-05 12:35:23 -07:00
ade5289030 Redefining stiffness in coeff rest moodel 2024-12-05 12:31:03 -07:00
2185ffa428 Renamed files to be more consistent with other examples 2024-12-05 16:43:18 +01:00
b146a1d59b Merge remote-tracking branch 'refs/remotes/origin/develop' into mala
# Conflicts:
#	src/KOKKOS/kokkos_type.h
2024-12-05 15:23:21 +01:00
dc3a100141 remove unused variables 2024-12-05 08:58:02 -05:00
c2b6ce5786 remove src/KOKKOS/group_kokkos.cpp 2024-12-04 18:02:44 -05:00
50df32f6fe Fix issues in KOKKOS package 2024-12-03 16:20:34 -08:00
296941ede7 Missed file, whitespace 2024-12-02 10:05:12 -07:00
a7cfd4b934 Merge branch 'develop' into rheo 2024-11-28 10:19:35 -07:00
cd16308d71 Merge pull request #4389 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-11-27 14:27:14 -05:00
6102350eed shorten 2024-11-27 12:10:56 -05:00
7c87874f5e improve expanded fix external docs 2024-11-27 01:55:11 -05:00
ef4b070e6f fix typo 2024-11-27 01:45:42 -05:00
e9073e4e1d Missed changes 2024-11-26 16:19:19 -07:00
09cd209c62 typo 2024-11-26 15:56:03 -07:00
8aba26bd71 doc fixes 2024-11-26 15:55:08 -07:00
6b4f82dc31 Resetting variables in deform/pressure init 2024-11-26 13:04:26 -07:00
a420d04418 Unifying desc/code for tsuji and coeff restitution 2024-11-26 11:28:40 -07:00
461dd67bb4 Clarifying Tsuji damping doc, removing overloaded variable 2024-11-26 10:37:13 -07:00
1beb4b17ec Clarifying doc on arguments for coeff rest damping 2024-11-26 10:15:26 -07:00
aeb9003890 bug fixes 2024-11-25 18:22:44 -07:00
6f36dcecc6 Merge branch 'develop' into imd-v3-integration 2024-11-25 16:26:56 -07:00
88807c6ae6 ml-pace: allow linking to existing pace library 2024-11-25 16:18:50 -07:00
f7915109f9 minor bug fixes 2024-11-25 15:22:02 -07:00
c87e0735a9 Merge branch 'develop' into feature/snap-unify-codepaths 2024-11-25 09:27:38 -08:00
3f78ee72c6 get access to the applied external force from the fix 2024-11-24 22:25:38 -05:00
471fdf27cd Typo in bond failure subscripts 2024-11-22 14:59:51 -07:00
e4683c3134 typo in equation 2024-11-22 14:40:45 -07:00
10c429fe21 Separating background pressure from EoS definition 2024-11-22 14:37:47 -07:00
e7c995abcb Re-disabled SNAP Kokkos CPU path =( 2024-11-22 11:28:25 -08:00
ce6e0dbe68 Added templating over chemsnap for evaluate_beta_scaled 2024-11-21 14:33:30 -08:00
261abaa683 Added templating over chemsnap for ComputeYi and ComputeYiWithZlist 2024-11-21 14:17:40 -08:00
28e64fca94 Added templating over chemsnap for ComputeZi and ComputeBi 2024-11-21 14:06:10 -08:00
67470f236e Added a (default zero) extra launch bound arg to help with ComputeYi perf consistency 2024-11-21 13:48:04 -08:00
6c333837e0 Merge branch 'develop' into collected-small-changes 2024-11-21 02:57:08 -05:00
43fbdc2d93 Merge pull request #4388 from lichanghao/dump_image_bug_fix
Fixed a indexing bug in dump_image.cpp causing segmentation fault with body style particles
2024-11-21 01:18:02 -05:00
f3221ee2e1 Abstracted computation portion of compute_bi into a separate evaluate_bi 2024-11-20 11:10:13 -08:00
dde2c91a27 Refactored the beta calculation into separate linear and quadratic portions 2024-11-20 11:03:37 -08:00
78bd71760b Added a host vs device abstraction for SNAP kernel launches, greatly improves CPU launch perf 2024-11-20 10:53:33 -08:00
2d65365a67 Added additional parallelism to TagPairSNAPBeta 2024-11-20 10:42:43 -08:00
e8e2a0b012 Simplified the constuctor for SNAKokkos by passing PairSNAPKokkos in directly by reference 2024-11-20 10:36:01 -08:00
5dcadf5748 Created a simplifying abstraction to separately call host or device kernels where the code is identical 2024-11-20 10:29:02 -08:00
6e54d9326b Unify the CPU and GPU PreUi routines 2024-11-20 10:20:42 -08:00
98b67b8ea0 Unify the CPU and GPU ComputeYi and ComputeZi routines; extend ComputeYiWithZlist to the CPU 2024-11-20 10:13:11 -08:00
8a65f44237 Unify the CPU and GPU TransformUi routines 2024-11-20 09:58:50 -08:00
99c4d116b8 Flatten compute_ui_cpu and compute_duidrj_cpu into single functions 2024-11-20 09:48:20 -08:00
457e4c094b No actual changes; this code just rearranges sna_kokkos_impl to make the subsequent CPU/GPU unifications easier to follow. 2024-11-20 09:41:57 -08:00
30349d2a48 correct version header 2024-11-20 11:50:13 -05:00
7259082cbc flag development version 2024-11-20 11:17:14 -05:00
4296db4991 add link with more explanation to the illegal variable errors 2024-11-20 11:15:12 -05:00
8ba0d7bece more updates to release process 2024-11-20 10:21:00 -05:00
53b2930ef4 modified dump_image.cpp, line 1100, fixed an indexing bug causing rendering error 2024-11-19 23:50:50 -05:00
277fba1907 Removed unnecessary team parallelism from CPU routines; rearranged pair_snap_kokkos_impl to make the subsequent CPU/GPU unifications easier to follow. 2024-11-19 12:44:08 -08:00
976167e2e5 Greatly tightened up CPU ulist, dulist computation 2024-11-19 12:30:58 -08:00
cb548143ee Unified zlist and blist CPU and GPU structures; greatly simplified/fused compute_bi 2024-11-19 12:14:32 -08:00
cf6714ea33 Unified ulisttot CPU and GPU structures 2024-11-19 11:12:20 -08:00
abbcd86174 Unified ylist CPU and GPU structures 2024-11-19 11:03:01 -08:00
e6ed911be2 Merge pull request #4387 from akohlmey/next_release
Step version strings for next release
2024-11-19 14:02:02 -05:00
3c4a42ba72 Removed d_beta_pack; fully unified SNAPBeta and SNAPBetaCPU routines 2024-11-19 10:54:59 -08:00
2fc33f3fd4 Removed AoSoA from [ylist_re/ylist_im/zlist/blist] 2024-11-19 10:49:47 -08:00
120c4600cf Removed AoSoA from ulisttot_[re_/im_/]_pack 2024-11-19 10:44:30 -08:00
e95d1dec3f Removed AoSoA from a/b/da/db/sfac pack 2024-11-19 10:35:58 -08:00
c9754e5fd3 Added const to each of the snaKK routines; removed extra snaKK copies 2024-11-19 10:24:27 -08:00
e200d557ec replace static with const for compatibility with SYCL 2024-11-19 13:16:22 -05:00
58d70366c2 Added padding to non-AoSoA data structures to improve alignment 2024-11-19 10:12:47 -08:00
ce92b565b2 Made SNAP host_flag constexpr, took advantage of if constexpr to reduce compile time 2024-11-19 10:00:56 -08:00
a4d821197e Re-enable SNAP CPU codepaths to simplify verifying correctness 2024-11-19 08:56:36 -08:00
c50a8d83d1 New release date 19 November 2024 2024-11-19 02:13:54 -05:00
c926bfd156 start documenting individual steps for a LAMMPS release 2024-11-19 02:05:49 -05:00
2ac0d065a7 step version strings for next release 2024-11-19 02:05:49 -05:00
db2f5dc407 clean-up and test example 2024-11-18 04:42:17 -06:00
cf05700897 Merge pull request #4382 from jtclemm/small-patches
Minor clean up to doc conventions and dev workflow files
2024-11-17 22:17:46 -05:00
48c27365ee Merge pull request #4383 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-11-17 22:15:36 -05:00
18329ac86a avoid memory leaks 2024-11-17 12:14:28 -05:00
a635f20b1b whitespace 2024-11-17 12:14:14 -05:00
07a8806fd0 fix typo 2024-11-17 12:14:07 -05:00
f7b87a21c7 apply special treatment for fix colvars/kk as suggested by @stanmoore1 2024-11-16 11:14:18 -05:00
b3f88da939 document KOKKOS restriction of fix spring/self 2024-11-15 15:22:19 -05:00
35f1fb9d6d check equal style variable evaluation for bad values 2024-11-15 15:12:56 -05:00
ec129f167e error out in fix spring/self/kk with variable spring constant 2024-11-15 14:33:25 -05:00
bca2c4d245 add missing initializers 2024-11-15 14:26:10 -05:00
72b649ec2b whitespace 2024-11-15 14:14:53 -05:00
4dd1448dd0 support providing spring constant as equal or atom style variable 2024-11-15 14:12:19 -05:00
ae1c5651ef accept qtpie/reaxff also for reaxff/omp 2024-11-15 13:27:28 -05:00
55f53f06ba use utils::open_potential for gaussian exponent file 2024-11-15 13:27:11 -05:00
70f41341c9 add unit test for qtpie/reaxff 2024-11-15 13:26:34 -05:00
cf5c42889d avoid dereferencing reaxff object when no reaxff pair style in use 2024-11-15 13:01:23 -05:00
9a096f295f update/correct code owners list 2024-11-15 11:06:38 -05:00
38d53877c5 move citeme call(s) to places where labelmaps are used 2024-11-15 11:01:19 -05:00
6796dc34ad clang-format 2024-11-15 10:42:30 -05:00
0f70c528a1 avoid access to uninitialized per-atom data to make valgrind happy 2024-11-15 10:42:21 -05:00
74fea8ae08 must initialize copymode in base class 2024-11-15 06:24:29 -05:00
0f9f80ad45 update for fix colvars/kk 2024-11-14 15:32:07 -05:00
e3e502f095 add note that pair_coeff settings used for fix adapt must be set explicitly 2024-11-14 15:26:46 -05:00
9c290a0fac Minor edits to workflow doc 2024-11-14 08:22:13 -05:00
c06cab2696 extra space 2024-11-14 08:22:13 -05:00
d8bd1ae3b8 adding hyperlink 2024-11-14 08:22:13 -05:00
a06275d18e Pesky backticks 2024-11-14 08:22:13 -05:00
4dbb5ade76 avoid crashes with 180 degree angles 2024-11-14 08:22:07 -05:00
e192c4d583 Minor edits to workflow doc 2024-11-13 09:11:22 -07:00
8dfb63206e extra space 2024-11-13 08:56:23 -07:00
0463434ff9 adding hyperlink 2024-11-13 08:55:25 -07:00
0f2fd8a882 Pesky backticks 2024-11-13 08:51:57 -07:00
5928389c5e Merge pull request #4312 from navlalli/qtpie
Add fix qtpie/reaxff
2024-11-13 07:42:07 -05:00
69526c87d8 Merge pull request #4362 from ndtrung81/regression-test-update
Improve the Kokkos regression test workflow
2024-11-12 18:06:48 -05:00
92f2a743ef Merge pull request #4375 from akohlmey/collected-small-changes
Collected small changes and updates
2024-11-12 17:55:25 -05:00
3aef5ed12f Merge pull request #4374 from ndtrung81/gpu-threebody-neigh-no
Fixed bug in the GPU package when three-body pair styles are used with pair hybrid
2024-11-12 17:31:11 -05:00
940308ba59 run CI 2024-11-12 14:38:41 -07:00
15999f6518 initial commit 2024-11-12 14:30:10 -07:00
1b65fb5a1a avoid memory leak 2024-11-12 15:05:57 -05:00
cfadf10021 Merge pull request #4296 from alphataubio/alphataubio-kokkos-fixes
Add KOKKOS versions of fixes
2024-11-12 15:00:52 -05:00
2d2bc029a4 Merge branch 'develop' into qtpie 2024-11-12 11:37:40 -08:00
5673375d21 Add more related commands to docs 2024-11-12 12:32:37 -07:00
ea873c5c06 Merge pull request #1 from gsalkuin/name-change
Name change etc
2024-11-12 11:56:41 -05:00
fc805f470c Small change to simplify code 2024-11-12 08:42:38 -08:00
2bcd6d1f73 Name change, add example 2024-11-12 11:40:07 -05:00
92d4bec1a3 Add files via upload 2024-11-12 11:13:43 -05:00
7fdfa3d3dd Merge branch 'alphataubio-kokkos-fixes' of github.com:alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-11-12 08:10:00 -08:00
3acb0243a7 Merge branch 'lammps:develop' into develop 2024-11-12 11:08:21 -05:00
cb5bad7ece Dropping obsolete keyword 2024-11-11 21:22:48 -07:00
ecfda6042d correct error message 2024-11-11 18:52:56 -05:00
33128323d8 Adding shift example to rheo doc, clarifying speed of sound exception 2024-11-11 16:31:09 -07:00
9e0047ff06 Documenting new multi-type shifting options 2024-11-11 15:50:01 -07:00
8521ff0587 Simplifying logic for shifting two types 2024-11-11 15:20:54 -07:00
8809ed067f oops 2024-11-11 15:11:02 -05:00
1b2781db9b add syncs 2024-11-11 14:57:45 -05:00
0e90de7d95 Updaing rheo citeme 2024-11-11 11:52:21 -07:00
15767903b2 testing new argument description for fix rheo 2024-11-11 11:51:59 -07:00
59af94b8e3 Updating rheo citation information 2024-11-11 11:42:50 -07:00
c0edafc0cf Reorganizing optional subargs for fix rheo 2024-11-11 11:31:16 -07:00
bd9bcb3bf7 adding missing rheo coordination flag 2024-11-10 14:27:22 -07:00
009a976ae2 Adding multitype correction to rheo vshfit 2024-11-09 21:47:38 -07:00
a1a2a54f72 update linalg for ML-QUIP 2024-11-09 04:14:11 -05:00
324e795237 do not free a NULL communicator 2024-11-08 20:59:41 -05:00
fb758d951f synchronize neb/spin with bugfixes for neb 2024-11-08 20:59:24 -05:00
a8eb5fab14 Merge branch 'alphataubio-kokkos-fixes' of github.com:alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-11-08 15:04:50 -08:00
ab9a870065 Merge branch 'develop' into alphataubio-kokkos-fixes 2024-11-08 18:03:28 -05:00
aeca973f84 Merge branch 'alphataubio-kokkos-fixes' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-11-08 18:01:54 -05:00
b830f7806e Update fix_colvars_kokkos.cpp 2024-11-08 18:01:50 -05:00
f84b9f350e Merge branch 'develop' of https://github.com/lammps/lammps into alphataubio-kokkos-fixes 2024-11-08 14:53:37 -08:00
339c9654de Update GNU Make for new file 2024-11-08 14:42:59 -08:00
0ad6babead Fix another (already existing) bug when a proc has no atoms 2024-11-08 08:42:47 -08:00
a445545ffb Merge pull request #4371 from evoyiatzis/patch-2
fix typo in compute_temp_partial.rst
2024-11-08 09:30:26 -07:00
8f9e14c14f Merge branch 'develop' into gpu-threebody-neigh-no 2024-11-08 09:22:46 -06:00
9d80d963ed Merge pull request #4370 from jtclemm/small-patches
Fixing potential segfaults in granular/nstencil classes and other minor clean ups
2024-11-08 06:05:49 -05:00
e84c45c6e7 Fix whitespace 2024-11-08 10:38:49 +00:00
95899b53b8 Add fix qtpie/reaxff to pair_style reaxff docs 2024-11-08 10:26:47 +00:00
1c48d201b4 Remove unused pack_flag = 5 options 2024-11-08 10:07:16 +00:00
45ea55c06a Removing debug statements 2024-11-07 14:28:57 -07:00
6765c3b126 Relaxing errors in bond bpm, reusing update special for hybrid 2024-11-07 14:27:44 -07:00
b74096b2c4 Fix bug when a proc has no atoms/neighbors (existing issue) 2024-11-07 09:35:49 -08:00
572be91b76 fix typo in compute_temp_partial.rst 2024-11-06 11:27:45 +01:00
a93a930f2f Updating developer comm doc page to include bond and optional args 2024-11-05 15:53:48 -07:00
95509c4ef0 Referencing other methods compatible with BPM package 2024-11-05 15:47:59 -07:00
a832a4a1c9 fixed a bug with three_ilist when used with pair hybrid 2024-11-05 16:38:06 -06:00
755e71e5a2 Missing space between words 2024-11-04 16:09:10 -07:00
34113226ae Updating pair tracker example 2024-11-04 13:57:54 -07:00
5ce635757f Simplifying smoothing for bpm/rotational bond style 2024-11-04 13:42:09 -07:00
778693c300 Minor clean ups to BPM bonds 2024-11-04 13:31:51 -07:00
645d02d13b sph typo 2024-11-04 13:30:37 -07:00
3b3d39a8cd Minor granular include clean up 2024-11-04 13:29:32 -07:00
3e531b9842 Adding clarifying comment 2024-11-04 13:24:27 -07:00
bf888045d6 Fixing memory seg fault w/ multi occasional nlist 2024-11-04 13:16:07 -07:00
d2f761f8ed Avoiding potential segfault with granular rolling model 2024-11-04 12:42:04 -07:00
10767b1247 Merge branch 'develop' into small-patches 2024-11-04 12:37:57 -07:00
953762458c EMPTY_MASK 2024-11-02 16:36:50 -04:00
1f1491a71c Update fix_colvars_kokkos.cpp 2024-11-02 14:52:01 -04:00
03487707ae atomics 2024-11-02 14:24:36 -04:00
ecebf18791 wrap host functions with sync/modify for kokkos 2024-11-02 13:39:23 -04:00
7eccc56607 auto variables for lambda capture 2024-11-01 19:42:16 -04:00
c1ac0cea1d More rheo pressure EOS, allow variable cs 2024-11-01 17:04:32 -06:00
f483a90d8a Simplifying RHEO compute comm calls 2024-11-01 15:04:30 -06:00
14041bb20c Missing argument 2024-10-31 15:56:45 -06:00
a15a315341 Missing variable declaration 2024-10-31 15:38:54 -06:00
df882a9552 Adding optional size arg for forward/reverse comm methods to Kokkos 2024-10-31 15:27:22 -06:00
8695351e24 Merge branch 'alphataubio-kokkos-fixes' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-10-30 21:59:05 -04:00
22d08cbac0 whitespace 2024-10-30 21:58:50 -04:00
c057b36c15 Merge branch 'develop' into alphataubio-kokkos-fixes 2024-10-30 21:50:36 -04:00
9aa9e7079a cleanup 2024-10-30 21:44:27 -04:00
84e234921b fix cuda warning 2024-10-30 21:36:18 -04:00
41672f6ac9 this might work on cuda 2024-10-30 20:44:25 -04:00
5efd8ba11e run the Kokkos regression workflow after merge, not every push 2024-10-30 11:27:15 -05:00
50dd95e6e1 move d_ubuf to kokkos_type.h
https://matsci.org/t/a-few-kokkos-development-questions/56598/8 (Q11)
"More correct would be to use a union with ubuf as is done in the atom_vec styles, so that no precision is lost for converting a huge 64-bit integer to a double."
2024-10-30 11:32:24 -04:00
3fd4f9b7f3 Minor clean ups to BPM bonds 2024-10-30 08:56:07 -06:00
9e25c8610c Merge branch 'develop' into rheo 2024-10-30 08:24:54 -06:00
e1f14e1ee8 unifying comm for/rev method args 2024-10-30 08:02:35 -06:00
acebce0431 turn off verbose, reduce timeout 2024-10-29 23:07:35 -05:00
47e9a7fe79 Typo + style changes in rheo doc 2024-10-29 21:03:47 -06:00
6d634dc646 Merge pull request #4359 from jtclemm/BPM
Adding new force options to BPM package
2024-10-29 21:31:03 -04:00
0e1137aee7 add inertia() 2024-10-29 18:34:30 -04:00
08e460ece6 Update fix_cmap_kokkos.cpp 2024-10-29 14:09:48 -04:00
ae4cb00402 Update fix_cmap_kokkos.cpp 2024-10-29 14:09:11 -04:00
c17e2cd30d Update fix_cmap_kokkos.cpp 2024-10-29 13:58:13 -04:00
452ae4621d Update fix_cmap_kokkos.cpp 2024-10-29 13:29:48 -04:00
4941cf25c0 typo 2024-10-29 12:59:09 -04:00
586f2b626d Update fix_cmap_kokkos.cpp 2024-10-29 11:13:36 -04:00
a6ad1a837c Update fix_cmap_kokkos.cpp 2024-10-28 18:55:59 -04:00
97c6b063a7 Update fix_cmap_kokkos.cpp 2024-10-28 18:41:04 -04:00
7ffe6aefce Update fix_cmap_kokkos.cpp 2024-10-28 18:37:21 -04:00
e4a9b06320 Update fix_cmap_kokkos.cpp 2024-10-28 17:47:57 -04:00
c00700dec7 cuda sync 2024-10-28 15:30:14 -04:00
ef1148dfa0 remove write_data support from BPM bond styles again and consolidate names 2024-10-27 22:06:56 -04:00
b946e998b5 also split fix into 2 lists, using 6 jobs for the matrix strategy 2024-10-27 12:13:29 -05:00
dd0dfd3c7f split randomly the pair input list by batch size 2024-10-27 00:00:10 -05:00
67d1c7d17d set OMP_PROC_BIND=false and adjust timeout 2024-10-26 09:01:39 -05:00
b725c01c0d split pair list into 2 separate lists and use 5 jobs for more even time balancing 2024-10-25 23:22:25 -05:00
12f0eff7a6 make group kokkos aware 2024-10-25 20:06:13 -04:00
71bbc52feb recommit changes from @stanmoore1 2024-10-25 20:03:45 -04:00
ea7fd079ce add vcm() and angmom() 2024-10-25 19:14:20 -04:00
e91b5dce78 fix typos 2024-10-25 18:52:50 -04:00
5a826c67f6 corrected cohesive flag 2024-10-25 15:50:23 -05:00
9f6a7b1249 Added rotate_rescale_vec 2024-10-25 15:36:30 -05:00
e0c3022ec3 printf debugging 2024-10-25 14:55:51 -04:00
6d0e633edf Merge pull request #4352 from ndtrung81/regression-test-update
Add a KOKKOS workflow for GitHub actions and minor updates for the regression tester
2024-10-25 11:06:33 -04:00
a5ab8be0a2 Clarify restriction on periodic cell dimensions 2024-10-25 14:16:25 +01:00
cfb8b25c6e fix grammar 2024-10-24 13:33:42 -04:00
e1a129fbf2 Merge branch 'alphataubio-kokkos-fixes' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-10-24 12:20:14 -04:00
ce830fcdbd Update fix_cmap_kokkos.cpp 2024-10-24 12:20:02 -04:00
56ac4aeedf Merge branch 'develop' into alphataubio-kokkos-fixes 2024-10-24 12:12:12 -04:00
00ff895c0d Update fix_cmap_kokkos.cpp 2024-10-24 12:11:12 -04:00
e04be85b7e Merge branch 'alphataubio-kokkos-fixes' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-10-24 12:07:42 -04:00
4a64b3d9ce add d_exchange_sendlist to pack_exchange_kokkos() 2024-10-24 12:04:41 -04:00
f18850397d whitespace 2024-10-24 09:43:36 -06:00
f09a9c1c2a fix typo in cmake command 2024-10-24 10:26:18 -05:00
25eaf38cee use the kokkos-openmp preset for brevity 2024-10-24 10:18:59 -05:00
a844959a07 Combine into a single -Xcudafe flag to simplify everything 2024-10-23 23:00:17 -06:00
3041443e5f Merge pull request #4357 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-10-23 23:25:26 -04:00
73c049459b spelling 2024-10-23 21:10:34 -04:00
fdd2fc4f5d move error check to Compute::init() so they cannot be bypassed by input commands 2024-10-23 21:08:07 -04:00
b682f52d11 fix typos 2024-10-23 21:07:39 -04:00
f207a571f3 allow fix DUMMY to be added without a box 2024-10-23 21:00:33 -04:00
40e5d53345 Prevent deduplication of -Xcudafe flag 2024-10-23 15:53:56 -06:00
820fe1ee8a Fix compile issue with gcc 2024-10-23 12:18:20 -06:00
3bac6d7cde Adding bpm pair write data method, blocking unreadable vol atom property in bond 2024-10-23 11:56:07 -06:00
b810053d02 document restrictions for bonded interactions 2024-10-23 12:35:50 -04:00
915f636d50 Update GNU Make for new files 2024-10-23 10:28:42 -06:00
ab961a006e Merge remote-tracking branch 'github/develop' into collected-small-changes 2024-10-23 12:25:22 -04:00
558b1c5197 apply clang-format, fix other minor formatting issues, use error->one() 2024-10-23 12:10:28 -04:00
077c77f402 contributions from bonded interactions is broken when running in parallel
see https://matsci.org/t/missing-bond-contributions-from-compute-stress-mop/58455
for details.
2024-10-23 12:09:35 -04:00
46c365f75c Merge branch 'develop' of github.com:lammps/lammps into alphataubio-kokkos-fixes 2024-10-23 09:32:27 -06:00
d2b1e22b4a added counter for timeout tests 2024-10-22 23:31:22 -05:00
06207fd91e modify how execute() returns 2024-10-22 23:21:37 -05:00
8e81ac8c42 Merge branch 'develop' into BPM 2024-10-22 22:21:57 -04:00
bef64fd602 use consistent fix id and create bond history fix only when required 2024-10-22 22:21:28 -04:00
53b1ba6131 rename id_fix to id_fix_prop_bond for consistency, fix bug when deleting/replacing fixes 2024-10-22 21:56:19 -04:00
e2214fc4d6 Merge branch 'develop' into regression-test-update 2024-10-22 21:10:22 -04:00
e214f60d4f Merge pull request #4358 from junghans/cmake_voro_rename
cmake: voro target to upstream name
2024-10-22 21:07:28 -04:00
81f71716ba Merge branch 'develop' into BPM 2024-10-22 20:59:12 -04:00
a5599f2b75 implement write_data(), delete created internal fix in destructor, formatting 2024-10-22 20:59:00 -04:00
1ec7ba547d Merge branch 'develop' into alphataubio-kokkos-fixes 2024-10-22 14:47:19 -04:00
22a15c7cf8 cuda bugfix again 2024-10-22 14:15:02 -04:00
5bdd616bcd cuda bugfix 2024-10-22 12:42:49 -04:00
83db9b8fe6 small cleanup and modernization 2024-10-22 10:25:22 -04:00
ec5dfcd0fb remove note that was obsoleted 5 years ago 2024-10-22 09:50:30 -04:00
1678e2af28 adjusting howto text to reflect additional BPM/spring options. 2024-10-21 21:21:15 -06:00
e8c5e58ab9 Adding clarifying comments 2024-10-21 16:25:38 -06:00
c8bbfc368a Initializing dvol array in bpm/spring 2024-10-21 16:23:35 -06:00
58ff8d3212 Suppressing dump output in bpm examples 2024-10-21 15:18:17 -06:00
4779cc44ef documenting bpm anharmonic 2024-10-21 15:07:24 -06:00
baf1733b9a documenting bpm multibody 2024-10-21 15:07:06 -06:00
722133b60c typo 2024-10-21 15:06:33 -06:00
289845b187 Adding anharmonic term to bpm/spring pair 2024-10-21 15:06:21 -06:00
a302bfed5a Adding multibody term to bpm/spring 2024-10-21 15:05:55 -06:00
05ee6bed3d Adding dividers for gran CoR model 2024-10-21 15:02:52 -06:00
5c07882a18 fix warning(s) 2024-10-20 18:30:19 -04:00
760d871b7a enabled and apply clang-format 2024-10-19 11:02:53 -04:00
34ab2f862a small tweaks 2024-10-18 22:09:25 -04:00
f128abe002 improve OPLS description 2024-10-18 21:51:43 -04:00
2074b0c400 add check to allow only valid swaps between hybrid sub-styles and document it 2024-10-18 21:49:55 -04:00
73eb7de7aa cmake: voro target to upstream name 2024-10-18 09:26:23 -06:00
86e18b8a24 fix copy-n-modify issue 2024-10-16 10:23:16 -04:00
2ce934fdb9 added section on OPLS-AA taken from https://matsci.org/t/issues-with-opls-force-field-for-ethylene-glycol-simulation/58296/11 2024-10-16 10:05:26 -04:00
d5c5e164e1 Merge branch 'develop' into cmake-cpp-std-deprecation 2024-10-15 17:40:59 -04:00
74e449605a add warning to PyLammps that it will be removed soon 2024-10-15 14:48:30 -04:00
6c31dbf86f add more packages to the build 2024-10-15 13:38:02 -05:00
8503cac2ce update README to explain how to set nprocs in the config file 2024-10-14 23:44:02 -05:00
6e32470cfa distinguish the error tests vs failed tests 2024-10-14 23:27:06 -05:00
9abfe38120 Merge branch 'develop' into collected-small-changes 2024-10-14 22:54:22 -04:00
59bbc5bcc1 Merge pull request #4356 from evoyiatzis/patch-1
add extract() function to few angle and bond styles
2024-10-14 19:25:29 -04:00
a354ad8d64 add pair back to the matrix entries 2024-10-14 17:20:04 -05:00
c533ca0af1 handle the cases where num steps do not match with the reference log files 2024-10-14 16:05:21 -05:00
b9e4c6e1e7 re-enable matrix tests 2024-10-14 14:55:26 -05:00
eadb2f2eb1 fix the workflow file for not turning on quick 2024-10-14 11:23:08 -05:00
b0f2484441 fix logic bug with allowing quick_max to run without requiring quick to be True 2024-10-14 10:45:53 -05:00
3e7642bc8c fix artifact names, allow to run quick test with a given input list 2024-10-14 09:43:08 -05:00
38500c647b move cursor to end of log buffer before inserting new text 2024-10-14 09:41:45 -04:00
db3416c4b3 Apply corrections from code review by @simongravelle
Co-authored-by: Simon Gravelle <simon.gravelle@live.fr>
2024-10-14 08:19:53 -04:00
6478cd98e9 add extract() function to angle_mesocnt.cpp 2024-10-14 11:30:20 +02:00
1a6544a04c add extract() function to angle_mesocnt.h 2024-10-14 11:29:47 +02:00
74af88bafd unit test for extract() in angle-amoeba.yaml 2024-10-14 09:43:07 +02:00
0c61cb02cc add extract() function to angle_amoeba.cpp 2024-10-14 09:42:04 +02:00
292ca89cb0 add extract() function to angle_amoeba.h 2024-10-14 09:41:23 +02:00
383ae086e5 skip in.icos due to the minimize command 2024-10-13 22:54:54 -05:00
e9022af338 another reaction map validity check 2024-10-13 23:10:31 -04:00
1e63f031f0 remove empirical filter to remove outliers from corrupted data 2024-10-13 22:52:40 -04:00
579ce56cd7 consistent 'nofix' options for write_data
'fix bond/react' writes some extra sections that parsers don't always know how to handle
2024-10-13 22:18:49 -04:00
1c9daad657 change tutorial download URL to tutorial website 2024-10-13 21:57:17 -04:00
f7291713f5 error out when fix nve is used with additional arguments 2024-10-13 19:34:56 -04:00
8156e56617 be more paranoid about Sphinx updates breaking extensions we use 2024-10-13 19:31:40 -04:00
c15c4d23bb fix spelling/syntax issues 2024-10-13 19:30:30 -04:00
eafef460e2 silence compiler warning 2024-10-13 19:24:35 -04:00
b3b9d032fa cleanup, clarification and re-wrap of doc file sections 2024-10-13 18:56:41 -04:00
03d10e6bbc correct documentation to add "inputs local" to compute reduce commands on local data 2024-10-13 18:56:07 -04:00
4773b3e7e4 fix indentation in the config files 2024-10-13 15:48:29 -05:00
0d894c33c4 adjust the workflow files and config file 2024-10-13 11:52:10 -05:00
5bec534faf Merge pull request #3 from Bibobu/dependabot/github_actions/actions/setup-python-5
Bump actions/setup-python from 4 to 5
2024-10-13 17:48:10 +02:00
598035d577 Merge pull request #4 from Bibobu/dependabot/github_actions/github/codeql-action-3
Bump github/codeql-action from 2 to 3
2024-10-13 17:47:49 +02:00
35b0d4a921 Merge pull request #5 from Bibobu/dependabot/github_actions/actions/cache-4
Bump actions/cache from 3 to 4
2024-10-13 17:47:22 +02:00
c735dc7d53 skip in.min.box, ensure that input lists only contain unique entries 2024-10-13 08:21:00 -05:00
3e64966800 filter out examples/fire 2024-10-12 23:53:35 -05:00
0ae0afbae9 Merge branch 'develop' into cmake-cpp-std-deprecation 2024-10-12 20:11:28 -04:00
f8a8783044 Merge branch 'develop' into alphataubio-kokkos-fixes 2024-10-12 20:09:59 -04:00
f8db5ce2ea Merge pull request #4349 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-10-12 20:07:33 -04:00
1ac351c84e unit test for extract() in angle-cross.yaml 2024-10-12 15:19:08 +02:00
7cc5f1923d add extract() function to angle_cross.cpp 2024-10-12 15:17:07 +02:00
02d74417c1 add extract() function to angle_cross.h 2024-10-12 15:16:34 +02:00
29e6ca0044 filter out input scripts for testing, remove concurrent (matrix) testing 2024-10-11 16:18:33 -05:00
b960cb213f revert to building with basic.cmake preset and manually include packages, refactor the get_kokkos_input script 2024-10-11 15:36:18 -05:00
e9ff0d3402 modify the kokkos workflow file 2024-10-11 14:42:45 -05:00
8f76fcdc54 Added a python script to get the example inputs that contain KOKKOS styles and generate the input lists for regression tests 2024-10-11 14:18:43 -05:00
f1a79e7df5 Update fix_adapt.rst 2024-10-11 19:55:28 +02:00
e3ab697dd2 unit test for extract() in angle-gaussian.yaml 2024-10-11 19:49:24 +02:00
ae652b31da unit test for extract() in bond-gaussian.yaml 2024-10-11 19:48:18 +02:00
df50691488 small correction and clarifications 2024-10-11 06:54:46 -04:00
6d30557ec2 Update partially fix_adapt.rst 2024-10-11 11:08:32 +02:00
391f55b377 unit test for extract() in bond-nonlinear.yaml 2024-10-11 11:02:55 +02:00
856fd9d977 unit test for extract() in bond-morse.yaml 2024-10-11 11:01:57 +02:00
8bc89ef8a7 unit test for extract() in bond-class2.yaml 2024-10-11 10:59:29 +02:00
c8241dcab6 unit test for extract() in angle-class2_p6.yaml 2024-10-11 10:58:32 +02:00
b619cce773 add extract() function to bond_gaussian.cpp 2024-10-11 10:54:56 +02:00
7da8434d5b add extract() function to bond_gaussian.h 2024-10-11 10:54:24 +02:00
732ef6bd44 add extract() function to angle_gaussian.cpp 2024-10-11 10:53:45 +02:00
44625312ea add extract() function to angle_gaussian.h 2024-10-11 10:53:02 +02:00
4766ddbede Update bond_nonlinear.cpp 2024-10-11 10:52:21 +02:00
b5386d714e Update extract() function to bond_morse.cpp 2024-10-11 10:51:14 +02:00
87737c1a47 add extract() function to angle_cosine_buck6d.cpp 2024-10-11 10:49:45 +02:00
81ac3bbaf6 add extract() function to angle_cosine_buck6d.h 2024-10-11 10:49:13 +02:00
1db92ad34b add extract() function to angle_class2_p6.cpp 2024-10-11 10:48:19 +02:00
852c46ba0e add extract() function to angle_class2_p6.h 2024-10-11 10:47:30 +02:00
aeeacf0442 Update extract of bond_class2.cpp 2024-10-11 10:42:01 +02:00
5c82063376 Merge branch 'electrode' of github.com:robeme/lammps into collected-small-changes 2024-10-10 17:32:28 -04:00
9adf51f18e ignore python wheel build folder 2024-10-10 17:29:33 -04:00
49a850c8aa add cmake support for make-globbed-toc 2024-10-10 17:25:05 -04:00
7693e96828 change globbed toc script from bash to python 2024-10-10 17:24:23 -04:00
9835adcbfc allow use of Sphinx version 8.x as interface with breathe seems to have been updated 2024-10-10 13:36:53 -04:00
766ba94396 use script instead of globbing to avoid entering commands in multiple toctrees 2024-10-10 13:36:48 -04:00
d684f6eb9b Merge branch 'alphataubio-kokkos-fixes' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-10-10 12:23:16 -04:00
bbafad145b fixed identation 2024-10-10 12:23:09 -04:00
505d519be2 Update affiliation for ELECTRODE in package details 2024-10-10 16:18:05 +02:00
c5c22bd56a Moved vir_estimator from bosonic_exchange to fix_pimd_nvt 2024-10-10 15:54:42 +03:00
393dbdc640 add missing constants to enumerators 2024-10-10 08:00:38 -04:00
56cc9d03bd skip tests that are unstable on GPU 2024-10-10 06:11:32 -04:00
df260b58dd Merge pull request #4353 from martok/cmake-win-shared
CMake: install shared libraries on Windows with correct target
2024-10-10 05:39:28 -04:00
948ee80169 potflag and phi are not used 2024-10-10 05:35:51 -04:00
482a6632e9 consolidate kspace communication enumerators in kspace.h 2024-10-10 05:35:01 -04:00
2935c17f78 avoid segfault in msm/dielectric 2024-10-10 05:19:32 -04:00
422ced4d82 silence compiler warnings 2024-10-09 20:55:00 -04:00
58989765f0 Install shared libraries on Windows with RUNTIME DESTINATION 2024-10-10 00:52:36 +02:00
a8c9b57b62 partial revert of refactoring that broke efield and setforce 2024-10-09 18:34:17 -04:00
a5b76410e1 cleanup 2024-10-09 18:32:54 -04:00
bc2267c9c8 Update fix_efield_kokkos.cpp 2024-10-09 18:32:38 -04:00
315ac762cc Update fix_setforce_kokkos.cpp 2024-10-09 18:32:32 -04:00
badb3eae5f add tests with region sphere 2024-10-09 18:06:24 -04:00
3b60ae43b3 fix nvcc option 2024-10-09 17:44:49 -04:00
79c9d69931 Update CMakeLists.txt 2024-10-09 17:26:30 -04:00
147cf7face -diag_suppress (single dash) 2024-10-09 17:22:35 -04:00
dd11385f6f all device function in headers to avoid device relocatable code with nvcc 2024-10-09 16:45:50 -04:00
b22797b752 refactor 2024-10-09 16:13:48 -04:00
fea0271d5a Update region_block_kokkos.cpp 2024-10-09 15:36:30 -04:00
2d94187606 sub3() and dot3() 2024-10-09 15:34:31 -04:00
e48d2f9a31 Update fix_wall_region_kokkos.cpp 2024-10-09 15:26:34 -04:00
08b0e8eab9 inside_face() 2024-10-09 15:19:05 -04:00
e4a92f96e1 match_kokkos() 2024-10-09 15:15:23 -04:00
b4b49f5dec point_on_line_segment() 2024-10-09 15:11:24 -04:00
1427ca1ff4 forward_transform() and find_closest_point() 2024-10-09 15:04:07 -04:00
0007e568fc KOKKOS_FUNCTION 2024-10-09 14:46:49 -04:00
ae0627b2f1 remove warning 2024-10-09 14:43:18 -04:00
5d90879f35 cleanup 2024-10-09 14:14:23 -04:00
bb5b8a1d34 functor templated on RegBlockKokkos and RegSphereKokkos 2024-10-09 13:50:17 -04:00
9d85a04573 Corrected most of Yotam's comments, left some for discussion 2024-10-09 17:40:23 +03:00
1fc7cca77c cr 2024-10-09 15:15:36 +03:00
c645a6b841 more 2024-10-09 11:59:23 +03:00
85a0b668c3 remove files autogenerated upon build 2024-10-09 11:57:45 +03:00
e6c9353ccf add missing dependency 2024-10-09 00:30:46 -04:00
bea76778bd silence compiler warning 2024-10-08 22:45:37 -04:00
80c8ecb7e7 Update fix_recenter_kokkos.cpp 2024-10-08 19:01:36 -04:00
1af3de1fad Update fix_recenter_kokkos.cpp 2024-10-08 18:59:17 -04:00
7d9bc3ea24 oops 2024-10-08 18:21:42 -04:00
64499bfcb2 _kokkos 2024-10-08 18:20:58 -04:00
183c99acc8 Update region_sphere_kokkos.h 2024-10-08 18:18:06 -04:00
f7afc63b53 Update region_block_kokkos.h 2024-10-08 18:18:03 -04:00
0f627059fc dynamic_cast 2024-10-08 18:14:06 -04:00
d13fb58311 surface_kokkos() 2024-10-08 17:55:03 -04:00
c84ed4189d Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2024-10-08 14:47:51 -04:00
b1928596ae should include <string> in utils.h 2024-10-08 14:47:11 -04:00
f357e89d19 fixed whitespaces 2024-10-08 12:58:58 -05:00
63a26b1770 add the missing log file using --gen-ref 2024-10-08 12:10:48 -05:00
63649979e3 revert the file names and the upload action step 2024-10-08 10:55:40 -05:00
0e3a6a7190 turned on verbose to check tolerances and also print that info out to the run.log file 2024-10-08 10:51:12 -05:00
54e7a8a4c7 The primitive estimator works with the new implementation of the cyclic energies! 2024-10-08 14:08:03 +03:00
e9c2a12f99 Changed the evaluation of the cyclic energies such that they don't include internal beads and communication between processors.
It produces exactly the same trajectories for the first few thousand steps, and the spring energy is consistent with the previous code.
The primitive estimator needs to be adjusted...
2024-10-08 12:06:06 +03:00
e5ba430f5f re-enable KokkosOpenMP test 2024-10-07 20:07:09 -04:00
f19df37de3 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2024-10-07 19:57:43 -04:00
f02b3aaf95 reset container with .clear() 2024-10-07 19:56:04 -04:00
a53840014c Update in.wall.sphere 2024-10-07 18:17:14 -04:00
4ed7528ddc add_contact() 2024-10-07 17:57:32 -04:00
e188b7d75f remove "tags: generated" 2024-10-07 17:56:59 -04:00
9d2e892c0e Update fix_wall_region_kokkos.cpp 2024-10-07 17:46:15 -04:00
900f472ea6 test logic to run with different nprocs than the ref files if nprocs is specified 2024-10-07 16:39:26 -05:00
5a7dd950fc Update region_sphere_kokkos.cpp 2024-10-07 17:28:45 -04:00
941b3dd566 add two examples for regression testing 2024-10-07 17:15:09 -04:00
b16ddfcdd4 add d_contact 2024-10-07 17:05:33 -04:00
74ac224dd9 Create fix-timestep-wall_region_sphere.yaml 2024-10-07 17:05:08 -04:00
e44d366d92 Update region.cpp 2024-10-07 17:04:28 -04:00
4492ecaf39 Update region_sphere.cpp 2024-10-07 17:04:21 -04:00
09a115cb89 add and switch to a workflow file dedicated for OpenMP backend for KOKKOS 2024-10-07 15:04:28 -05:00
0e1ee42b89 Update region_block_kokkos.cpp 2024-10-07 15:12:10 -04:00
177b04fb56 Update fix_wall_region_kokkos.cpp 2024-10-07 15:06:01 -04:00
ff66b42022 cleanup 2024-10-07 15:04:34 -04:00
af7f5a5b5e port surface() to KOKKOS 2024-10-07 15:03:13 -04:00
7b3762881e try with 4 procs 2024-10-07 13:14:35 -05:00
076bb056aa fixed leftover typos in the workflow file and the tester 2024-10-07 12:59:48 -05:00
e6118412b1 remove dead code in fix qeq/ctip 2024-10-07 13:56:04 -04:00
6a46fb034d Tweak comments 2024-10-07 11:11:12 -06:00
31f10f9675 add a workflow file for testing KOKKOS with the OpenMP backend 2024-10-07 12:04:29 -05:00
84c1492ce6 fix issues with invalid subfolders, with total walltime reference that may be zero, with the output of progress.yaml for easy parsing to dictionaries, modify config_kokkos.yaml for testing with the OpenMP backend 2024-10-07 12:01:59 -05:00
9aaab458e8 Change another shallow copy to alias 2024-10-07 10:54:28 -06:00
c44831ff90 Fix bug when Kokkos atom map is build on host using hash 2024-10-07 10:40:58 -06:00
4eef02af5a updated rolling and walls 2024-10-07 10:58:30 -05:00
74d3b5de09 added normal mode to pimdb/nvt 2024-10-07 14:15:51 +03:00
8a176ac488 use MKL for FFTs and on Intel GPU 2024-10-06 15:09:06 -04:00
8c76600d47 anticipate change to C++ standard 2024-10-06 15:06:05 -04:00
6a75e64879 The primitive estimator for pimdb/nvt looks fine! The spring energy returns the value of BosonicExchange::get_potential() for the first bead and 0 for all other beads. 2024-10-06 16:21:30 +03:00
a0990abb73 nout does not have to be a class member 2024-10-06 07:01:35 -04:00
e4c0457617 remove dead code 2024-10-06 06:55:38 -04:00
be93e0e37b The virial estimator of the pimdb/nvt gives the same value as the potential energy for harmonic potential. It seems to give the correct value for bosons!
The output vector of pimdb/nvt also returns the spring energy and the primitive estimator that are still incorrect.
2024-10-06 12:34:24 +03:00
25dfb03386 apply clang-format 2024-10-06 00:25:53 -04:00
92deb5c8dc revert change that breaks backward compatibility 2024-10-05 23:15:50 -04:00
6295fa0b54 whitespace 2024-10-05 23:07:50 -04:00
7da8748e90 add region command to list of exceptions needing the accelerator include 2024-10-05 22:49:13 -04:00
bdf1a242da Merge branch 'develop' into alphataubio-kokkos-fixes 2024-10-05 22:34:01 -04:00
719a64d9dd apply clang-format 2024-10-05 22:25:07 -04:00
6ab0b2c249 use std::vector<>.data() to access underlying pointer 2024-10-05 21:58:47 -04:00
e142ad8dfa apply clang-format 2024-10-05 21:55:24 -04:00
45440abca4 consistently use std::vector<>.data() to access the underlying data pointer 2024-10-05 20:36:23 -04:00
bcb500894c compute_scalar() bugfix 2024-10-05 18:49:39 -04:00
af03836dfa Update fix_cmap.cpp 2024-10-05 17:03:50 -04:00
a8157fc68e relax epsilon for kokkos_omp to pass 2024-10-05 16:41:02 -04:00
0bc554a694 remove FIXME 2024-10-05 16:40:32 -04:00
1f61c42745 add GroupKokkos 2024-10-05 16:40:10 -04:00
58bea0691b oops 2024-10-05 13:55:33 -04:00
da659c5168 Merge branch 'alphataubio-kokkos-fixes' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-10-05 12:02:24 -04:00
2d261388c8 Update fix_wall_region.cpp 2024-10-05 12:02:00 -04:00
de8396ea55 Update fix_wall_region.h 2024-10-05 12:01:34 -04:00
84b50bfd26 Update region_sphere_kokkos.cpp 2024-10-05 11:59:50 -04:00
81f96d3ea3 Update fix_recenter_kokkos.h 2024-10-05 11:48:18 -04:00
03c3bfec3a Update fix_nve_limit_kokkos.cpp 2024-10-05 11:45:41 -04:00
95c18c5373 Update fix_cmap_kokkos.cpp 2024-10-05 11:44:57 -04:00
4da644958e IntelLLVM is not ABI compatible with generic BLAS libraries. Use linalg instead 2024-10-05 03:39:00 -04:00
c3c5370570 use std::vector.data() to access the underlying arrays 2024-10-05 03:38:25 -04:00
ca6e9abefa update a few more tests for IntelLLVM 2024-10-05 03:37:33 -04:00
e4dcdcd221 skip KokkosOpenMP tests when Kokkos includes GPU support 2024-10-05 03:05:04 -04:00
248070c4b8 use -fp-model precise for IntelLLVM to avoid miscompilation 2024-10-05 02:41:03 -04:00
cdd538e24e relax epsilon for IntelLLVM compiler 2024-10-05 02:41:03 -04:00
39f42d4c12 simplify 2024-10-05 01:56:31 -04:00
c468537030 correct access to raw vector data and use resize() instead of reserve() for better compatibility 2024-10-05 01:56:19 -04:00
01e9fb04b6 must use fabs() for floating point numbers 2024-10-05 01:55:17 -04:00
0cb64f8bf3 Merge branch 'develop' into collected-small-changes 2024-10-05 01:53:22 -04:00
a73baf81b1 update settings 2024-10-05 01:04:39 -04:00
166f0cb5ea print warning only when package selected 2024-10-05 01:04:26 -04:00
0ed18c1203 Merge branch 'develop' into cmake-cpp-std-deprecation 2024-10-04 21:41:11 -04:00
224468d946 Merge pull request #4346 from cjknight/lubricate_patch
features + bug fixes for granular simulations w/ Kokkos
2024-10-04 20:54:12 -04:00
70cbf051fe apply clang-format 2024-10-04 19:41:59 -04:00
47b918499f silence compiler warnings, remove dead code 2024-10-04 19:05:35 -04:00
7aade6e14c Merge branch 'develop' of github.com:lammps/lammps into alphataubio-kokkos-fixes 2024-10-04 16:24:43 -06:00
2c738669ff compute_temp_sphere does not modify positions 2024-10-04 16:16:02 -06:00
d29533447a silence compiler warnings, remove dead code 2024-10-04 18:09:06 -04:00
b494a486a1 cosmetic 2024-10-04 17:59:44 -04:00
5786914b67 Merge branch 'lubricate_patch' of github.com:cjknight/lammps into lubricate_patch 2024-10-04 17:35:06 -04:00
27954609b8 Disallow newton on with full neigh list 2024-10-04 15:25:38 -06:00
aec43d0f00 Merge branch 'develop' into lubricate_patch 2024-10-04 17:09:27 -04:00
8874fd4cbf Merge branch 'develop' into cmake-cpp-std-deprecation 2024-10-04 16:03:01 -04:00
0a3d213ed9 turn hard requirement for CMake 3.20 into a warning for now 2024-10-04 16:02:53 -04:00
36dd4de3bc Merge pull request #4348 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-10-04 15:57:47 -04:00
8827dec5a9 Small refactor 2024-10-04 13:04:20 -06:00
0a6d25881b update documentation according to accelerated style include check 2024-10-04 13:54:04 -04:00
25afdcc325 add check for missing or unneeded accelerated style include 2024-10-04 13:52:12 -04:00
485cddf303 Update fix_wall_region.rst 2024-10-04 13:06:32 -04:00
921d9df574 Update fix_recenter.rst 2024-10-04 13:05:48 -04:00
d27026c364 Update fix_nve_limit.rst 2024-10-04 13:05:26 -04:00
39def85b48 Update fix_cmap.rst 2024-10-04 13:04:52 -04:00
9108168ea3 doc 2024-10-04 11:35:46 -05:00
b2e8648e6c enable deprecated APIs for HDF5 2024-10-04 12:32:09 -04:00
08266b65e4 doc 2024-10-04 15:45:16 +00:00
c4b4b7b874 suppress nvcc warnings with libfmt version 11.0.2 2024-10-04 11:33:33 -04:00
f7cf859670 doc 2024-10-04 15:32:47 +00:00
130548156d Merge branch 'develop' of github.com:lammps/lammps into alphataubio-kokkos-fixes 2024-10-04 09:30:33 -06:00
2ae4062a6b Merge pull request #4343 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-10-04 03:59:49 -04:00
01468e2720 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2024-10-04 01:41:57 -04:00
6d8529f1f7 Merge branch 'develop' into collected-small-changes 2024-10-04 01:24:30 -04:00
1263a23e9c Merge pull request #4345 from akohlmey/update-fmtlib
Update embedded copy of libfmt to version 11.0.2
2024-10-04 01:22:51 -04:00
d1a1a57bd9 Merge pull request #4339 from jtclemm/small-patches
Fixing bugs in GRANULAR and mistakes in RHEO documentation
2024-10-03 22:01:21 -04:00
13ceebe82c fix recenter test skipped for respa 2024-10-03 18:45:52 -04:00
70dad28481 Update fix_recenter.cpp 2024-10-03 18:45:12 -04:00
1799f887d2 Update test_atom_styles.cpp 2024-10-03 18:36:39 -04:00
3776ff938d Need to use vflag_either instead of vflag_global 2024-10-03 16:36:05 -06:00
59db2e0af8 Update atom_vec_template.cpp 2024-10-03 18:35:28 -04:00
86fc79d2de Update fix-timestep-wall_lj93_const.yaml 2024-10-03 18:20:09 -04:00
6f068fc067 Update fix-timestep-wall_region_harmonic.yaml 2024-10-03 18:19:53 -04:00
bf12caf37a Update fix-timestep-wall_region_lj126.yaml 2024-10-03 18:18:02 -04:00
98ad09b0c9 Tighten up check even more 2024-10-03 16:17:39 -06:00
c059961b8f Update fix-timestep-wall_region_lj1043.yaml 2024-10-03 18:17:39 -04:00
d0f6f21c39 Use wrapper and remove sync to host 2024-10-03 16:17:06 -06:00
81db0a4a80 Update fix-timestep-wall_region_morse.yaml 2024-10-03 18:16:41 -04:00
a26c81d73b Revert changes to pair lubricate base class 2024-10-03 15:59:27 -06:00
e06be9b030 propagate new c++ standard handling from main CMakeLists.txt to plugin version 2024-10-03 15:39:33 -04:00
d6562b7514 fix-whitespace 2024-10-03 19:30:09 +00:00
0e10ed24fe fix compilation issue with MSVC++ 2024-10-03 15:19:56 -04:00
f25c530c04 recover compilation with MSVC++ 2024-10-03 14:56:28 -04:00
fbc6ba4ef4 import libfmt 11.0.1 2024-10-03 14:43:19 -04:00
4bf92cc846 update kokkos install to include brownian 2024-10-03 18:35:02 +00:00
3338433615 Merge remote-tracking branch 'upstream/develop' into develop 2024-10-03 12:06:22 -06:00
4ee07bcdaf Recreate dump file for MS-MEAM due to changes to the code. 2024-10-03 11:54:26 -06:00
2c2ce1b327 Update create_atoms.cpp 2024-10-03 13:15:13 -04:00
9ad3e59c8f Update test_atom_styles.cpp 2024-10-03 12:38:32 -04:00
5c8552f4ce Update atom_vec_template.cpp 2024-10-03 12:21:10 -04:00
a0f09a42bf remove lubricate/Simple ; not ready for primetime 2024-10-03 15:48:12 +00:00
0edf9d42b0 remove white space changes 2024-10-03 15:46:44 +00:00
5fe5fc0b10 remove old logic 2024-10-03 15:43:26 +00:00
3c5b4ebccb Delete charmm36.py 2024-10-03 11:43:08 -04:00
b7d529d945 remove white space changes 2024-10-03 15:41:43 +00:00
47e8093e07 remove white space changes 2024-10-03 15:41:10 +00:00
4b43f90bd6 revert changes requested by @akohlmey 2024-10-03 11:39:24 -04:00
8ef30fe05b remove white space changes 2024-10-03 15:39:09 +00:00
1d2ef17786 remove white space changes 2024-10-03 15:35:30 +00:00
28d02cf2ab remove _NO_RANDOM debug from brownian styles 2024-10-03 15:32:03 +00:00
131b40c806 Merge branch 'develop' into cmake-cpp-std-deprecation 2024-10-03 10:48:17 -04:00
b5fdd8f0ae Revert "update atom_style template test for added charge"
This reverts commit 3ea74b1725.
2024-10-03 10:26:24 -04:00
c4df843550 Merge branch 'develop' of https://github.com/lammps/lammps into lubricate 2024-10-03 14:13:23 +00:00
29eafa999b Update src/region_sphere.h
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2024-10-03 09:49:56 -04:00
9c06e8265f Update src/create_atoms.cpp
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2024-10-03 09:48:12 -04:00
a9dd61f62e detect C++23 standard 2024-10-03 07:38:44 -04:00
adebe773d0 bump check to C++23 and rename workflow file 2024-10-03 07:26:40 -04:00
299e0bafff revert deform refactor to only sync when needed 2024-10-03 05:38:20 +00:00
e4aedfda85 add test for C++20 compatibility 2024-10-02 21:56:15 -04:00
7e02951fc4 disable making functions in libfmt consteval with C++20 and beyond 2024-10-02 21:48:54 -04:00
0f8b825424 fix up spelling issues in CTIP 2024-10-02 19:43:43 -04:00
a3c23f2ce8 Cleaning up rheo kernels 2024-10-02 17:35:27 -06:00
a1bb42bd6e Merge remote-tracking branch 'github/develop' into collected-small-changes 2024-10-02 19:29:35 -04:00
8a7572fd5a Merge pull request #4181 from gplummer317/ctip
Charge Transfer Interatomic Potential (CTIP) pair style and qeq fix
2024-10-02 19:26:09 -04:00
cac22c216a update kk index entries 2024-10-02 14:37:03 -04:00
26aadc25ad Update fix_cmap.rst 2024-10-02 14:31:54 -04:00
26b83602be Update Commands_fix.rst 2024-10-02 13:56:21 -04:00
8a25871db5 Update region.rst 2024-10-02 13:45:59 -04:00
fff1456553 Update fix_wall_region.rst 2024-10-02 13:43:23 -04:00
89346740e1 Update fix_recenter.rst 2024-10-02 13:42:13 -04:00
a8acd9b573 Update fix_nve_limit.rst 2024-10-02 13:41:41 -04:00
75d3566a69 move brownian to KOKKOS directory 2024-10-02 15:35:33 +00:00
948faafa0e Merge branch 'develop' of https://www.github.com/lammps/lammps into lubricate 2024-10-02 15:27:39 +00:00
715a0c3d18 sync 2024-10-02 15:27:17 +00:00
e61d9f08ee regenerate fix wall/region tests 2024-10-01 13:00:59 -04:00
8332d89a4a regenerate fix recenter tests 2024-10-01 12:46:33 -04:00
384d8cf51f compute_vector() bugfix 2024-10-01 12:43:57 -04:00
e3768f9ab0 Limiting coordination calculation in RHEO 2024-10-01 10:01:12 -06:00
51e273affd punt drude too 2024-10-01 03:30:05 -04:00
e32a2fa71a punt again 2024-10-01 02:39:17 -04:00
e29b06095d remove whitespace 2024-10-01 02:36:22 -04:00
91fc94fc1e Merge branch 'alphataubio-kokkos-fixes' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-10-01 02:31:56 -04:00
9330ccf6f9 punt to later 2024-10-01 02:30:01 -04:00
9daa1b715a Merge branch 'lammps:develop' into alphataubio-kokkos-fixes 2024-10-01 02:13:26 -04:00
9f33efc1b9 resolve conflict 2024-10-01 02:12:49 -04:00
53914162a7 rename log file to match expected naming scheme 2024-10-01 00:24:40 -04:00
5322b172bd Merge pull request #4331 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-10-01 00:22:11 -04:00
b12aeb79b0 Merge branch 'develop' into collected-small-changes 2024-09-30 22:10:14 -04:00
2749e091c7 update nemd example so it is reproducible 2024-09-30 22:10:00 -04:00
1dad5db38c remove ineffectual workflow changes 2024-09-30 21:46:16 -04:00
75f86a68a7 Merge pull request #4190 from alphataubio/kokkos-unit-testing
Improve Kokkos unit testing
2024-09-30 19:50:08 -04:00
c4b32f4b38 remove debugging lines, screen.* are inside the subfolders downloaded from the runs 2024-09-30 17:25:19 -05:00
4c91dcff3f list artifacts subfolders 2024-09-30 17:16:55 -05:00
29e995f137 keep debugging the artifacts downloaded 2024-09-30 17:09:28 -05:00
db4c6fbaaa restore changes from Kokkos upstream to support GFX1103 chips (Radeon 7xxM and 8xxM) with HIP 2024-09-30 17:59:40 -04:00
a5b94f0870 more debugging to list all files inside the artifacts folder 2024-09-30 16:46:34 -05:00
cb72f19595 temporarily put some debug lines in the workflow file 2024-09-30 16:25:24 -05:00
f5507c252d need to download the artifacts from cloud to the merge job 2024-09-30 16:10:09 -05:00
2fbfec0d11 use zipgrep for the merged zip artifact 2024-09-30 15:39:47 -05:00
97920f9fc3 try again with the github step summary 2024-09-30 15:15:30 -05:00
af2f9c06dc add #include "kokkos_few.h" 2024-09-30 15:51:37 -04:00
a199289e23 cuda bugfix 2024-09-30 15:47:06 -04:00
b25e370e63 some more fixes and rewording 2024-09-30 15:42:34 -04:00
a31f083bab update read_dump docs with respect to reading xyz style dump files 2024-09-30 14:54:35 -04:00
4cfc407605 Merge branch 'develop' of github.com:lammps/lammps into kokkos-unit-testing 2024-09-30 10:51:59 -06:00
ec392d5613 Remove failed attempts to create a job summary 2024-09-30 10:56:49 -04:00
3cefa5c9f1 try another approach for creating job summaries 2024-09-30 10:46:27 -04:00
d5f630db6c Fix sign used for atom-style potential
A positive sign in front of the electric potential is consistent with
E = -grad(electric potential).
2024-09-30 12:28:16 +01:00
d86de2862b Make signs consistent with efield = -grad(phi) 2024-09-30 12:10:33 +01:00
c36e1a9c8e save current status to git 2024-09-29 21:41:54 -04:00
563525bd6b Created fix_pimdb_nvt; added virial estimator to bosonic_exchange.
Checked 3 bosons in harmonic trap: energy seems to be OK, but virial estimator != potential energy
2024-09-29 16:45:56 +03:00
d33ecd6bbf reorder ctip style 2024-09-29 05:58:02 -06:00
622e3ed4d2 add notice after merge 2024-09-28 17:35:12 -04:00
2f53ea37e5 try printing GitHub job summary style 3 2024-09-28 13:31:56 -04:00
c16759ffc3 try printing GitHub job summary style 2 2024-09-28 13:24:41 -04:00
c1040ad9bb try printing GitHub job summary style 1 2024-09-28 13:13:43 -04:00
98834a3e27 fix cut-n-paste error 2024-09-27 20:06:27 -04:00
8b899d60fe Clarifying scoping for iterators in compute rheo/kernel 2024-09-27 15:32:54 -06:00
ba071fe55a Merge branch 'develop' into small-patches 2024-09-27 15:30:31 -06:00
c0d7b9975e avoid using std::shared_ptr. use new/delete for MPI rank 0 instead 2024-09-27 14:38:28 -04:00
65cacc7ef4 recreate log files for MS-MEAM due to changes to the code. 2024-09-27 14:29:05 -04:00
7276d5301b update unit test for change in MS-MEAM 2024-09-27 14:18:18 -04:00
51d104975a whitespace 2024-09-27 13:59:18 -04:00
0445936ac4 Added one-line change to make meam/ms correct for L12 lattice 2024-09-27 11:26:36 -06:00
7ccb7876f6 initialize *all* allocated iterms, even if we don't use them. 2024-09-27 12:40:39 -04:00
10e5f4270f Swapping srcmp to utils method
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2024-09-26 20:36:17 -06:00
13591dbdb0 Changing pour insertion note box 2024-09-26 20:02:47 -06:00
94f5f3cfa5 Fix compile issue with HIP 2024-09-26 15:25:32 -07:00
4436197081 PAdding possible note to fix pour doc 2024-09-26 16:14:57 -06:00
4035c3561e Merge branch 'develop' into collected-small-changes 2024-09-26 16:38:11 -04:00
ec2fece8db Merge pull request #4322 from stanmoore1/kk_update_4.4.0
Update Kokkos library in LAMMPS to v4.4.1
2024-09-26 16:29:31 -04:00
350551ecac Fix whitespace 2024-09-26 21:27:53 +01:00
5ee63d7afe documenting fix nonaffine/disp's incompatability with rerun 2024-09-26 13:06:32 -06:00
5d0f1aeeaf Expand documentation 2024-09-26 17:21:16 +01:00
d64be895e6 Allow for output of effective electronegativities 2024-09-26 16:42:01 +01:00
15e513958e clarification of min/max keywords in fix gcmc 2024-09-26 11:08:59 -04:00
adb3343a17 Start general document about file formats 2024-09-25 23:15:20 -04:00
ddaba91d12 Typo 2024-09-25 21:02:40 -06:00
c6fdd8ddb6 get rid of some non-ASCII characters 2024-09-25 22:01:42 -04:00
f30842ca11 first draft 2024-09-25 20:57:09 -04:00
e29e943ae6 apply clang-format 2024-09-25 18:48:47 -04:00
e44e462da6 remove redundant enum definition 2024-09-25 17:58:51 -04:00
725f6db5c1 skip no longer needed 2024-09-25 17:58:34 -04:00
e17e6e7a9d restore dihedral test 2024-09-25 17:58:22 -04:00
fee06d0d12 Merge branch 'develop' into kokkos-unit-testing 2024-09-25 17:52:59 -04:00
3a53b01ed9 Restricting options in fix wall/gran 2024-09-25 15:49:32 -06:00
2c2eb31362 Updating example logs affected by fix pour 2024-09-25 15:39:44 -06:00
149e92d1b9 Merge branch 'develop' into kokkos-unit-testing 2024-09-25 17:25:38 -04:00
7036930360 Patches to fix pour 2024-09-25 15:17:43 -06:00
385a0da892 update and correct description of running LAMMPS on Windows 2024-09-25 12:29:26 -04:00
17c5643d66 cosmetic 2024-09-25 11:59:30 -04:00
a420f1c42a Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2024-09-24 10:57:10 -04:00
bb0ead0ee3 fix cut-n-paste bug 2024-09-24 10:56:46 -04:00
d09ea909e5 Merge branch 'develop' of https://www.github.com/lammps/lammps into angle-mwlc 2024-09-24 10:34:32 +08:00
38e4df45ef mwlc angle documentation 2024-09-24 10:33:08 +08:00
9cd7d32a1c mwlc angle potential 2024-09-24 10:32:44 +08:00
80832ce763 Merge branch 'develop' of github.com:lammps/lammps into kk_update_4.4.0 2024-09-23 16:14:12 -06:00
7e31a4f482 Simplify view deallocation code 2024-09-23 16:14:06 -06:00
e95de835c0 Tweak build defaults 2024-09-23 15:38:29 -06:00
2e05cfeea9 Small code cleanup 2024-09-23 15:12:30 -06:00
2429c89eae Fix deadlock by always deallocating views of views in serial 2024-09-23 14:59:51 -06:00
e68851edae fix cut-n-modify issue 2024-09-23 14:54:54 -04:00
b9600c5a67 Merge remote-tracking branch 'github/develop' into collected-small-changes 2024-09-23 14:50:45 -04:00
d787ecdcb3 clarify docs for XYZ file format 2024-09-23 14:44:16 -04:00
cfe96064e8 Fixing errors in RHEO doc files 2024-09-23 12:39:16 -06:00
b95f7c2ab2 Merge pull request #4333 from evoyiatzis/patch-4
add extract() function to several angle styles
2024-09-23 14:27:47 -04:00
6f6e365682 unit test for extract() in angle-cosine_periodic.yaml 2024-09-22 20:24:26 +02:00
11aa128951 unit test for extract() in angle-fourier_simple.yaml 2024-09-22 20:23:32 +02:00
950bcba592 unit test for extract() in angle-fourier.yaml 2024-09-22 20:22:43 +02:00
8355d3796a unit test for extract() in angle-cosine_squared_restricted.yaml 2024-09-22 20:09:37 +02:00
662ea3a191 unit test for extract() in angle-quartic.yaml 2024-09-22 20:08:52 +02:00
517b4f4342 unit test for extract() in angle-dipole.yaml 2024-09-22 20:06:17 +02:00
d6d63b87d1 unit test for extract() in angle-class2.yaml 2024-09-22 20:05:32 +02:00
1287977bee unit test for extract() in angle-spica.yaml 2024-09-22 20:04:32 +02:00
cd4bada16f unit test for extract() in angle-charmm.yaml 2024-09-22 20:03:33 +02:00
25c9f5a6ff unit test for extract() in angle-mm3.yaml 2024-09-22 20:01:52 +02:00
96d99e3dd6 unit test for extract() in bond-fene_expand.yaml 2024-09-22 15:33:46 +02:00
0d6abcb86a unit test for extract() in bond-mm3.yaml 2024-09-22 15:31:01 +02:00
abb8b5ae45 reorder to avoid overflows 2024-09-22 00:11:03 -04:00
2a6fdfec02 improve error message and labelmap detection 2024-09-21 22:20:24 -04:00
12b67e0fd1 update ASPHERE/line example to follow conventions and avoid crashes. 2024-09-21 17:48:17 -04:00
061c80104a add docs to mention using a type labels for xyz files with string labels 2024-09-21 12:24:41 -04:00
d16d744550 enable and apply clang-format 2024-09-21 12:12:27 -04:00
29fce19c19 support typelabels for parsing xyz file with non-numeric types 2024-09-21 11:57:01 -04:00
e0253e1058 cleanup 2024-09-21 11:41:25 -04:00
8294bea7a7 Update angle section of fix_adapt.rst 2024-09-21 10:02:06 +02:00
5290779554 Merge branch 'develop' into collected-small-changes 2024-09-21 00:01:28 -04:00
3c8b846a66 Merge pull request #4330 from akohlmey/rheo-gsl-to-lapack
Convert RHEO package to use plain LAPACK instead of GSL
2024-09-21 00:00:13 -04:00
02698e9d36 Merge branch 'bond/react-molmap_option' of https://github.com/jrgissing/lammps into bond/react-molmap_option 2024-09-20 23:51:01 -04:00
1fb695f354 copy/paste error in bond/react example 2024-09-20 23:50:49 -04:00
a48c6c13a2 Merge branch 'lammps:develop' into bond/react-molmap_option 2024-09-20 21:48:45 -06:00
20f3b5a7db update readme 2024-09-20 21:44:52 -04:00
0a95bcd2cc Merge branch 'develop' of https://github.com/dhairyaiitb/lammps into develop 2024-09-20 16:42:56 -05:00
c65ff237ee Updated verlet halfstep 2024-09-20 16:39:48 -05:00
42e6880820 Merge branch 'lammps:develop' into develop 2024-09-20 13:57:25 -05:00
14dc2fb1d8 Updated verlet halfstep 2024-09-20 13:56:35 -05:00
68548cbb0d Update angle_spica.cpp 2024-09-20 20:53:22 +02:00
d8c0691684 Update bond section of fix_adapt.rst 2024-09-20 19:55:07 +02:00
b2a2cefc02 add extract() function to bond_fene_expand.cpp 2024-09-20 19:38:58 +02:00
423b058820 add extract() function to bond_fene_expand.h 2024-09-20 19:38:22 +02:00
7f0ff96324 add extract() function to angle_class2.cpp 2024-09-20 19:37:12 +02:00
b49f3412df add extract() function to angle_class2.h 2024-09-20 19:36:35 +02:00
c5e62b4a47 add extract() function to angle_dipole.cpp 2024-09-20 19:35:46 +02:00
873030982d add extract() function to angle_dipole.h 2024-09-20 19:35:11 +02:00
3ce4c782d1 add extract() function to angle_spica.cpp 2024-09-20 19:34:16 +02:00
8e07149593 add extract() function to angle_spica.h 2024-09-20 19:33:41 +02:00
8a2564fff1 add extract() function to bond_mm3.cpp 2024-09-20 19:32:41 +02:00
4272d4a390 add extract() function to bond_mm3.h 2024-09-20 19:32:05 +02:00
83b2e88b73 add extract() function to angle_mm3.cpp 2024-09-20 19:31:20 +02:00
c65a6e8b59 add extract() function to angle_mm3.h 2024-09-20 19:30:42 +02:00
cc9f45af88 add extract() function to angle_cosine_squared_restricted.cpp 2024-09-20 19:29:34 +02:00
25f12bf800 add extract() function to angle_cosine_squared_restricted.h 2024-09-20 19:28:56 +02:00
f916a0cc63 add extract() function to angle_cosine_periodic.cpp 2024-09-20 19:27:58 +02:00
42f0940aee add extract() function to angle_cosine_periodic.h 2024-09-20 19:27:18 +02:00
7b37f1ae17 add extract() function to angle_fourier.cpp 2024-09-20 19:26:25 +02:00
bf9cb26afb add extract() function to angle_fourier.h 2024-09-20 19:25:49 +02:00
1e00249b73 add extract() function to angle_quartic.cpp 2024-09-20 19:25:04 +02:00
df533d97cb add extract() function to angle_quartic.h 2024-09-20 19:24:20 +02:00
3b73f56d79 add extract() function to angle_fourier_simple.cpp 2024-09-20 19:22:29 +02:00
9d1a0240d6 add extract() function to angle_fourier_simple.h 2024-09-20 19:21:32 +02:00
438a8c9335 add extract() function to angle_charmm.cpp 2024-09-20 19:19:47 +02:00
cc24f3d240 add extract() function to angle_charmm.h 2024-09-20 19:16:55 +02:00
958f2ae58b add tests for library interface and python 2024-09-20 03:57:12 -04:00
e35a00258e add lammps_expand() to swig interface file 2024-09-20 03:56:36 -04:00
3902215018 add lammps_expand to plugin wrapper 2024-09-20 03:56:19 -04:00
95afe40f55 add lammps_expand() to Fortran wrapper 2024-09-20 03:46:36 -04:00
3905cfd0a6 avoid memory leak 2024-09-20 00:58:40 -04:00
5e15eb6949 add lammps_expand() method and make available in python 2024-09-20 00:17:06 -04:00
a43a3a50e0 ELECTRODE is going CMake-only as well 2024-09-19 09:59:53 -04:00
11838801d6 add extract() function to angle style cosine/squared 2024-09-19 07:21:15 -04:00
6f10648d5f update unit test 2024-09-19 05:03:37 -04:00
586e6bb410 must run apt-get update before installing packages to avoid failures 2024-09-19 04:55:49 -04:00
b1eefe71c7 add extract() method to bond style harmonic/shift/cut 2024-09-19 04:53:04 -04:00
3d2a344dd5 we no longer need to install GSL for workflows with RHEO 2024-09-19 03:36:09 -04:00
d23b8aa17f try to work around macOS issue 2024-09-18 23:29:49 -04:00
4eb1b1f606 clarify docs 2024-09-18 23:14:27 -04:00
bf469b347e add missing override 2024-09-18 20:51:12 -04:00
42bcc43ece add missing line in Install.sh file 2024-09-18 20:22:17 -04:00
d909b205c7 update docs for building the RHEO package 2024-09-18 20:14:43 -04:00
1ac9f0801c update build support for using LAPACK with RHEO instead of GSL 2024-09-18 19:55:59 -04:00
b16b683cb4 replace calls to GSL with calls to LAPACK 2024-09-18 19:26:00 -04:00
9f867b5f54 add LAPACK functions for matrix inversion via Cholesky decomposition 2024-09-18 19:13:37 -04:00
7263bb49b6 deprecate ML-POD from using GNU make build 2024-09-18 16:38:16 -04:00
3d4a73a739 deprecate COMPRESS and VTK package from GNU build 2024-09-18 16:22:34 -04:00
906ae818da add package removal warnings and GNU make deprecation warnings 2024-09-18 15:43:56 -04:00
3bed50c1c3 Add text that we favor now CMake based builds 2024-09-18 15:18:41 -04:00
ce13d22656 enable and apply clang-format, modernize access to list of fixes 2024-09-18 11:33:03 -04:00
575c1014d4 bugfix in lammps-open.py unit test 2024-09-17 22:13:07 -06:00
3effab8024 Merge branch 'lammps:develop' into develop 2024-09-17 13:47:55 -04:00
ae80dba958 Remove even more whitespace 2024-09-17 13:02:26 -04:00
bf492c108b Remove more whitespace 2024-09-17 12:29:12 -04:00
2d86e6b4f0 Remove whitespace 2024-09-17 11:12:06 -04:00
e1f36275f1 Update fix-timestep-epot_lepton.yaml 2024-09-17 10:49:44 -04:00
995ccd494e Update fix-timestep-epot_lepton_region.yaml 2024-09-17 10:46:17 -04:00
805c2ae131 Merge pull request #4326 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-09-17 08:48:46 -04:00
6503f297d4 support angle style hybrid with fix adapt 2024-09-16 21:21:20 -04:00
47bb1a8748 update unit test 2024-09-16 21:04:22 -04:00
516d988deb update fix adapt docs 2024-09-16 20:59:04 -04:00
5d40a9640d add support for bond style hybrid to fix adapt 2024-09-16 20:49:44 -04:00
11365e7b2e add extract method to bond style harmonic/shift 2024-09-16 20:48:41 -04:00
804aa4ee85 improve error message 2024-09-16 20:38:50 -04:00
80cd9ace57 remove documentation check (for now) 2024-09-16 01:07:38 -04:00
4a9b7b1ba7 fix typo 2024-09-16 00:59:43 -04:00
f8eac87724 make programming style check and doc info check a github action 2024-09-16 00:56:09 -04:00
44d86c378b relax epsilon or mark unstable based on test results on non-x86 architectures 2024-09-16 00:34:28 -04:00
0db24828a5 first draft delete_atoms/kk 2024-09-15 12:20:12 -04:00
4d55c53c10 update rst kk 2024-09-14 21:01:06 -04:00
1f28ac4f54 oops 2024-09-14 20:50:30 -04:00
0db92ea135 auto variables for lambda capture 2024-09-14 20:48:20 -04:00
0a9137272d replace ubuf with static_cast 2024-09-14 20:33:40 -04:00
0921c8e087 pack/unpack on device 2024-09-14 19:51:43 -04:00
ae7fa643fd oops 2024-09-14 18:08:57 -04:00
94eed6e10a sort on device 2024-09-14 18:02:33 -04:00
78b2b7a024 explicit warning(s) exchange_comm_device=0 2024-09-14 17:29:56 -04:00
02b6fa088d explicit warning(s) which fix sort_device=0 2024-09-14 17:22:11 -04:00
f133b8a4a0 cleanup 2024-09-14 17:14:57 -04:00
813fd880cd tagged operators 2024-09-14 17:09:21 -04:00
63483b3fc2 KOKKOS_CLASS_LAMBDA 2024-09-14 16:09:56 -04:00
8dfc6207c2 fix warnings 2024-09-14 16:04:15 -04:00
2556788ed2 thanks @crtrott 2024-09-14 15:02:55 -04:00
8c4e67c10b add concurrency group feature to unit test workflows, too. 2024-09-14 06:07:07 -04:00
79fbd46bd9 try out concurrency group feature on quick regression as suggested by @junghans 2024-09-14 06:04:35 -04:00
1587473ab5 fix comparison for missing arguments when using wildcards 2024-09-14 05:11:51 -04:00
bdca275f10 correct indexing when filling lmp_firstneigh array 2024-09-14 02:25:03 -04:00
fe8611bfc8 sync author info with LAMMPS home page 2024-09-13 22:55:05 -04:00
0729c04dc1 document that GNU make build support is no longer required for new contributions 2024-09-13 22:38:20 -04:00
ee50ee2a9b working with exchange 2024-09-13 21:19:48 -04:00
861be216a1 parallel_scan 2024-09-13 14:38:12 -04:00
5075c7cfa1 Update CMake 2024-09-13 12:16:58 -06:00
487f7ade68 Update Kokkos library in LAMMPS to v4.4.1 2024-09-13 12:14:49 -06:00
96c776c51f Add log files for qtpie/reaxff examples 2024-09-13 18:08:14 +01:00
3f232caf9b Fix whitespace 2024-09-13 17:13:59 +01:00
af6efcc514 Add fix qtpie/reaxff documentation 2024-09-13 16:43:13 +01:00
bd07f1e8e0 Change qeq to qtpie 2024-09-13 15:56:16 +01:00
8ec010f8ca Remove unused header file 2024-09-13 15:54:12 +01:00
d56f43b4e6 Remove unnecessary tests 2024-09-13 15:50:44 +01:00
62f82a7fe1 Remove additional fix name 2024-09-13 15:46:27 +01:00
3079d51eaf enforce that Pair::map is always initialized 2024-09-13 05:34:40 -04:00
97627bd77a fix indexing error 2024-09-13 05:34:15 -04:00
92bd9fc161 fix linking a URL and fix spelling 2024-09-13 02:20:26 -04:00
1adaab80aa make certain values for LAMMPS variables are initialized 2024-09-13 00:11:13 -04:00
f93281d868 Implement CMake upgrade and C++ standard deprecation as we did with C++11 2024-09-12 23:49:48 -04:00
2995cb76ae Merge pull request #4324 from rbberger/cmake_optional_docenv
Make CMake Doc build docenv optional
2024-09-12 17:57:45 -04:00
9339da075b Merge pull request #4299 from evoyiatzis/patch-3
Allow the definition of point in region plane using variables
2024-09-12 17:52:30 -04:00
36d73e8976 Merge branch 'kk_update_4.4.0' of https://github.com/stanmoore1/lammps into kk_update_4.4.0 2024-09-12 17:34:28 -04:00
5699e3c8cf add overridable settings 2024-09-12 17:34:12 -04:00
72024e90c9 Only check dynamic rank 2024-09-12 14:18:31 -06:00
d67d237386 Update author contributions 2024-09-12 19:41:12 +01:00
7b19228299 Make realloc_kokkos function safer, suggested in discussion with @weinbe2 2024-09-12 11:30:11 -06:00
0abcec1b22 Merge branch 'kk_update_4.4.0' of github.com:stanmoore1/lammps into kk_update_4.4.0 2024-09-12 10:50:45 -06:00
dc15e4ae81 Enforce options in CMake 2024-09-12 10:50:19 -06:00
18f1d32f8e Apply suggestions from code review
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2024-09-12 09:00:55 -06:00
58272bca00 move and update ctip example 2024-09-12 00:17:21 -04:00
5a12c762f3 Merge branch 'develop' into ctip 2024-09-11 23:36:16 -04:00
0ebd4f5ddb Make CMake Doc build docenv optional 2024-09-11 21:33:07 -06:00
9525dae7b9 Merge branch 'develop' into kk_update_4.4.0 2024-09-11 13:35:32 -04:00
fcbc37d5a4 Merge pull request #4321 from akohlmey/collected-small-fixes
Collected small changes and fixes
2024-09-11 13:07:02 -04:00
64db592a84 Update Kokkos version in CMake 2024-09-11 09:45:21 -06:00
cfcd7ddfbc Add KOKKOS_ENABLE_ATOMICS_BYPASS 2024-09-11 09:31:54 -06:00
a44955dd2e Update Kokkos library in LAMMPS to v4.4.0 2024-09-11 09:20:36 -06:00
e8184e63a5 create dummy output files to prevent test job failures 2024-09-11 09:15:05 -04:00
c3a62833c7 update 2024-09-11 06:54:06 -04:00
9f2bc30ba6 rename source files to be consistent with naming conventions 2024-09-11 06:46:51 -04:00
6b2a47d9c6 fix typo 2024-09-11 06:34:15 -04:00
4b7045d9ba Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-09-11 00:31:46 -04:00
16b19c71c1 Merge pull request #4207 from stanmoore1/kk_reaxff_overflow
Fix integer overflow for large QEq systems with KOKKOS package
2024-09-11 00:31:01 -04:00
0f4aedaf39 Merge pull request #4318 from weinbe2/bugfix/reaxff-bond-int-overflow
Fixes to ReaxFF/Kokkos integer overflow issues for bond tables + cleanup of unused compute
2024-09-11 00:30:25 -04:00
3308915a7b Merge remote-tracking branch 'github/develop' into collected-small-fixes 2024-09-11 00:11:43 -04:00
fde43d5079 Merge pull request #4143 from hagertnl/hagerty_issue4140_kokkos_collective
Implement kspace_modify collective yes in KOKKOS package
2024-09-11 00:07:10 -04:00
b74ef238c9 Merge branch 'develop' into collected-small-fixes 2024-09-10 23:32:37 -04:00
4a11b96635 update with upstream 2024-09-10 23:31:37 -04:00
94e3351e4f Merge pull request #4308 from lammps/quick-regression
Add a quick and full regression test as GitHub Actions
2024-09-10 23:28:49 -04:00
d76e10d2ca remove some more VLAs 2024-09-10 22:12:22 -04:00
ac5d2d560d remove redundant code 2024-09-10 21:49:21 -04:00
88ceae303f documentation integration and version tags 2024-09-10 21:41:20 -04:00
55fc12a5d1 add force style test 2024-09-10 21:31:27 -04:00
89f314fec2 Pair::single() is not supported 2024-09-10 21:31:14 -04:00
6b2dc5d3e8 make consistent 2024-09-10 21:23:20 -04:00
0ac23fddd3 avoid variable length arrays 2024-09-10 21:22:56 -04:00
a15c51a8c4 make reading of QEq parameters compatible with all QEq styles 2024-09-10 21:16:12 -04:00
2b1bef39e4 bring back changes from develop that were wiped out 2024-09-10 21:15:37 -04:00
6488fd2a48 reorganize example, potentials, logfiles 2024-09-10 21:14:52 -04:00
2b03a1ce17 move VLA arrays to header and initialize them only once 2024-09-10 20:31:58 -04:00
ddaba8a2c4 must not free memory that was obtained by extract() 2024-09-10 20:31:17 -04:00
1de74b46cd modernize 2024-09-10 20:30:49 -04:00
12abaf83cc Changes from @sjplimp 2024-09-10 16:25:06 -06:00
b39386afe5 count all the runs with error and failed num checks as failed 2024-09-10 17:00:57 -05:00
cbbea47718 fix the incorrect keys 2024-09-10 16:22:35 -05:00
8e2dacd0e3 put some cosmetic stuffs 2024-09-10 15:51:04 -05:00
847ce1e363 enable generating new reference log files if desirable 2024-09-10 15:39:52 -05:00
8e99835100 Merge pull request #4319 from ndtrung81/gpu_max_num_blocks
Enable large numbers of atoms per proc with the GPU package
2024-09-10 12:35:22 -04:00
6f2c4aaf0b Remove unused code 2024-09-10 16:40:19 +01:00
25f33e8721 Add water examples featuring fix qtpie/reaxff 2024-09-10 16:20:51 +01:00
b16bb27184 revert to using the max number of blocks on device for each pass, as the number of blocks (32767 or 65535) already saturates the number of SMs anyway 2024-09-10 09:47:07 -05:00
c63c88f8b6 reduced the max number of blocks for each transpose 2024-09-10 08:58:42 -05:00
5e8ecf9cb4 Rename variables and function for min exponent 2024-09-10 14:45:16 +01:00
7006e19d59 Update fix_cmap_kokkos.cpp 2024-09-10 07:57:51 -04:00
f398add7d5 fixed the value of shift being the number of rows processed in each chunk (g2y_m * b2y) 2024-09-10 00:36:13 -05:00
23bdc5ddc2 Allowed number of blocks greater than 65,535 for k_transpose 2024-09-10 00:18:50 -05:00
a6b9c17010 update reference.yaml 2024-09-09 22:30:09 -04:00
50d0eace23 more consistent conversions 2024-09-09 21:47:30 -04:00
29bd3fc11b apply clang-format 2024-09-09 21:12:03 -04:00
68e134773c move pair style and fix whitespace 2024-09-09 20:58:01 -04:00
a4a8f99471 forgot to update the --analyze step to 8 runners 2024-09-09 20:50:16 -04:00
48689d1925 Merge branch 'develop' into ctip 2024-09-09 20:46:09 -04:00
c3162b4488 increase timeout for full regression to 180 seconds. use 8 runners. 2024-09-09 20:29:23 -04:00
f875b1e110 Tweak error message to use correct style 2024-09-09 17:51:19 -06:00
f7553779ff Merge branch 'develop' of github.com:lammps/lammps into kk_reaxff_overflow 2024-09-09 15:55:02 -06:00
2be54aa454 Cleaned up the spurious calculations in Cdbo, Cdbopi, Cdbopi2 and removed the overallocations 2024-09-09 12:56:59 -07:00
8b9e2544f0 Verified that some unused data gets written to extra space in Cdbo, Cdbopi, Cdbopi2 via moving them to 3-d Views 2024-09-09 12:56:57 -07:00
fced73ffd7 Converted d_bo_list and d_hb_list to 2-d Views, removed integer overflow checks 2024-09-09 12:18:10 -07:00
8e56f37d3d Removed the variables bo_first_i, hb_first_i from build_bo/hb_list, replacing them with the strided offset calculation 2024-09-09 12:14:44 -07:00
c05390209e Removed d_bo_first, d_hb_first, replacing it with the strided offsets to the bonds for atom i 2024-09-09 12:10:13 -07:00
274112834b remove double quotes 2024-09-08 17:11:02 -05:00
4d04d8492d report the number of abs and rel diff checks failed 2024-09-08 17:09:05 -05:00
9cfd809b6e feeble attempt 2024-09-08 17:03:40 -04:00
3dcfb3f755 replace error->all() with kokkos::abort() 2024-09-08 16:54:44 -04:00
29e0ec3809 revert to original cmap plus minimal changes for kk 2024-09-08 16:46:16 -04:00
7724502e90 Merge branch 'alphataubio-kokkos-fixes' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-09-08 16:40:42 -04:00
b67b38ab68 kokkos parallel_for 2024-09-08 16:36:39 -04:00
4e8e84a1e4 Merge branch 'lammps:develop' into alphataubio-kokkos-fixes 2024-09-08 13:48:43 -04:00
bce51ea2c9 Update fix_nve_limit_kokkos.cpp 2024-09-08 12:53:49 -04:00
77bf224b3f report if a run is timeout to progress.yaml 2024-09-08 00:24:33 -05:00
397ca4bd25 correct the file names in examples phonon that are actually not LAMMPS input 2024-09-07 09:10:25 -05:00
6b68656a74 fix a typo 2024-09-07 09:06:22 -05:00
57353566d6 one more fix (it is getting late...) 2024-09-07 00:35:57 -04:00
fa5a3446c0 add forgotten file 2024-09-07 00:28:59 -04:00
5aea0a061f provide updated reference and update command line 2024-09-07 00:22:56 -04:00
e5c870fcd2 switch full regression back to serial execution 2024-09-06 23:15:32 -04:00
c853b8d81a switch quick run back to serial 2024-09-06 23:14:09 -04:00
b6e78c1f20 another attempt to avoid oversubscription error 2024-09-06 21:46:18 -04:00
6cd710444d add dedicated config for quick regression test. allow oversubscription. 2024-09-06 21:34:10 -04:00
6e0c44a25c temporarily run the full test with the pull request 2024-09-06 21:18:58 -04:00
afc9f72887 whitespace 2024-09-06 21:18:31 -04:00
6214182fd0 remove unused imports, reformat 2024-09-06 21:06:01 -04:00
93b4e91801 update docs and add ref 2024-09-06 20:51:56 -04:00
0b92bf2c0c oops 2024-09-06 19:40:21 -04:00
d19f5e0e8e bugfix 2024-09-06 19:30:15 -04:00
bca271a286 mention regression tester in Build_development 2024-09-06 17:34:35 -05:00
1318e3590e Merge branch 'develop' into group-bitmap-accessor 2024-09-06 17:10:27 -04:00
b09e88a179 Merge pull request #4314 from akohlmey/collected-small-changes
Collected small changes and fixes
2024-09-06 16:24:31 -04:00
8fcdb5c271 silence compiler warnings 2024-09-06 14:58:42 -04:00
42a7294bc1 silence compiler warnings 2024-09-06 14:00:27 -04:00
d20ce26bd8 Merge pull request #4313 from cjknight/aurora_updates
Intel GPU updates: kspace & cmake
2024-09-06 13:51:43 -04:00
932f10e3b6 update README for syntax and added arguments in run_tests.py 2024-09-06 12:46:42 -05:00
1683205fed cleanup 2024-09-06 13:42:33 -04:00
b4e01aaa45 fix warnings 2024-09-06 13:42:16 -04:00
2a2ea89524 fix warnings 2024-09-06 13:40:47 -04:00
e65fb63a97 match base class in kokkos 2024-09-06 13:39:18 -04:00
eedcbc6b5f Revert "match base class in kokkos"
This reverts commit 36494af3c7.
2024-09-06 13:36:34 -04:00
36494af3c7 match base class in kokkos 2024-09-06 13:36:13 -04:00
638bba5319 fix warnings 2024-09-06 13:27:08 -04:00
1335774593 Update fix_recenter_kokkos.cpp 2024-09-06 13:24:13 -04:00
8eeba71f5f cleanup 2024-09-06 13:19:47 -04:00
b468e1cb9a kokkos atan2 2024-09-06 13:04:31 -04:00
74e61c05b9 fix warnings 2024-09-06 12:42:49 -04:00
78342e5b6f fix typo 2024-09-06 12:28:46 -04:00
6b83ef8d33 auto var lambda capture 2024-09-06 12:21:29 -04:00
e25979386a Update fix_nve_limit_kokkos.cpp 2024-09-06 12:18:33 -04:00
bbc3dc2958 auto atomKK variables for lambda capture 2024-09-06 11:56:19 -04:00
842896040d Merge branch 'develop' into aurora_updates, resolve merge conflicts 2024-09-06 11:20:29 -04:00
0c788f831e Merge pull request #4294 from rbberger/add_kspace_nvpl_support
Add Kspace NVPL FFT support
2024-09-06 11:04:51 -04:00
b2cc2582e1 switch to config.yaml in actual runs in quick and full tests 2024-09-06 09:33:23 -05:00
de8dc82801 report walltime normalized by the reference walltime for completed runs in the progress.yaml file 2024-09-06 09:19:00 -05:00
e1d6bb91a8 get reference walltime from running bench/in.lj, guess the default config file if not specified from the command line args 2024-09-06 09:06:45 -05:00
bafe7c91fa switch to using config.yaml with 4 procs for testing 2024-09-06 08:29:55 -05:00
f179f2a80d update a few reference data files for current LAMMPS 2024-09-06 07:32:19 -04:00
513fc95f81 update msi2lmp manpage 2024-09-06 07:30:50 -04:00
93de00f649 move kspace style definition after reading the data file to comply with needs of recent LAMMPS versions 2024-09-06 07:25:52 -04:00
683643c248 sort lists of bonds, angles, dihedrals and impropers by atom IDs before comparing 2024-09-06 07:25:01 -04:00
4554c0367b use memcpy() instead of strncpy() to avoid issues with adding a terminal zero and array boundaries 2024-09-06 07:24:07 -04:00
3e2f929f31 must call Error::all() from all MPI ranks. 2024-09-05 23:22:04 -04:00
360fdabc19 small clarification 2024-09-05 23:05:25 -04:00
d67e0e6a41 consolidate spelling 2024-09-05 21:47:35 -04:00
03631aab00 whitespace and spelling fixes 2024-09-05 21:46:32 -04:00
95cb7d7dd8 Merge branch 'develop' into quick-regression 2024-09-05 17:23:52 -04:00
3357889d57 install MPI 2024-09-05 17:21:42 -04:00
5881a60f50 Revert change to fix shake that is no longer needed 2024-09-05 14:42:51 -06:00
688cff71e6 print out more info for failed tests if verbose is True, indent output 2024-09-05 11:22:00 -05:00
dfd0772aff list the failed tests (including crashed, with error, or numerical checks) into a separate file 2024-09-05 10:38:32 -05:00
e22ff76132 fix cuda warnings 2024-09-05 08:32:21 -04:00
33080199e7 fix cuda warnings 2024-09-05 08:29:08 -04:00
3312ef9793 KOKKOS_INLINE_FUNCTION powint() to replace MathSpecial::powint 2024-09-05 08:25:13 -04:00
04ff7b4736 add missing import 2024-09-05 04:18:23 -04:00
79dc5ee130 Merge branch 'python-lint' into collected-small-changes 2024-09-05 04:04:52 -04:00
274f86b142 Merge branch 'develop' into python-lint 2024-09-05 04:03:06 -04:00
e3ced6d26f docs 2024-09-04 23:44:44 -05:00
29cd430da6 no longer need the warnings module since the deprecated functions were removed 2024-09-04 23:09:10 -04:00
7e6eb96422 Merge branch 'alphataubio-kokkos-fixes' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-kokkos-fixes 2024-09-04 22:38:24 -04:00
9932c4e38b add 3d float views to ArrayTypes<LMPHostType> 2024-09-04 22:38:19 -04:00
ee602a7daa Merge branch 'lammps:develop' into alphataubio-kokkos-fixes 2024-09-04 21:05:58 -04:00
4ed5dfe88d reported the total wall time of each run in the progress.yaml file 2024-09-04 15:32:20 -05:00
ab10f2d723 Update fix_efield.cpp 2024-09-04 16:12:23 -04:00
49d2a4026d Update fix_efield.h 2024-09-04 16:11:17 -04:00
18514f404f docs: mentiond build options for NVPL FFT 2024-09-04 12:00:31 -06:00
37e6f3ef21 kspace: add NVPL FFT support 2024-09-04 12:00:31 -06:00
9e8a1f4734 Remove comment 2024-09-04 11:15:59 -06:00
26af8878c9 More general fix 2024-09-04 11:13:35 -06:00
7a1dd6e82e Merge branch 'develop' of github.com:lammps/lammps into aurora_updates 2024-09-04 11:08:12 -06:00
7d93460717 add commented example for implementing a command style 2024-09-04 08:23:29 -04:00
311cac0348 Add document describing how to implement a new command style 2024-09-04 05:47:59 -04:00
ec98481d01 move check for libcurl to EXTRA-COMMAND.cmake package CMake module 2024-09-04 04:22:49 -04:00
597c53756e update plumed library to version 2.9.2 2024-09-03 22:33:39 -04:00
e240619b94 update pace plugin loader to include the two additional styles added 2024-09-03 22:30:32 -04:00
7b025e1a1f Merge branch 'develop' into qtpie 2024-09-03 17:31:16 -04:00
4aefb894bb remove comments 2024-09-03 15:56:16 -05:00
42b6c0f62c enable cmake support 2024-09-03 20:10:29 +00:00
2f7a7d1edb forgot shake header 2024-09-03 20:07:53 +00:00
3a5e764730 Fix whitespace 2024-09-03 17:50:14 +01:00
787c49d841 Add information about mixing and shift into doc and improve code format 2024-09-03 21:14:10 +08:00
49dcb679f6 Change names of orbital exponents 2024-09-03 12:22:10 +01:00
a48b67baae Fix angle cutoff logical error
Angle should > angle cutoff instead of <
2024-09-03 11:09:35 +08:00
4b56e81b66 fix typo 2024-09-02 21:03:16 -04:00
61ffe1ece1 correct link 2024-09-02 21:00:02 -04:00
9cfbf3dcdd fix link and grammar 2024-09-02 20:58:40 -04:00
e763f9e052 use correct style in error messages 2024-09-02 20:49:41 -04:00
6aa592d286 build system integration 2024-09-02 20:43:48 -04:00
9f2e542c80 integrate into manual build 2024-09-02 20:42:33 -04:00
7c13562c41 spelling 2024-09-02 20:42:15 -04:00
9f73494c91 correct ReStructuredText and LaTeX formatting issues 2024-09-02 20:42:05 -04:00
0d151b948f remove commented code in store 2024-09-02 12:27:57 -04:00
36d6f1f95c forgot to hit save 2024-09-02 12:24:39 -04:00
0aa4118e89 implement exchange store and restore 2024-09-02 12:24:13 -04:00
5fab9e665f Update with changes made to fix_qeq_reaxff.cpp 2024-09-02 16:59:07 +01:00
ba2217a4b4 Improve exceptions in reading of gauss file 2024-09-02 16:12:23 +01:00
dff91accb0 Correct calculation of cut off distance 2024-09-02 16:12:23 +01:00
f3e5e4b4c1 Rename misleading variable name 2024-09-02 16:12:23 +01:00
79cc70c9da Rename variable for sum of local and ghost atoms 2024-09-02 16:12:23 +01:00
62b14aa702 Remove unused include 2024-09-02 16:12:23 +01:00
c2e4816717 Update contributing authors 2024-09-02 16:12:23 +01:00
6dd45ccfdb Add fix_qtpie_reaxff 2024-09-02 16:12:23 +01:00
eb6e5b438a Remove virtual keyword 2024-09-02 16:12:23 +01:00
149d9b310d Remove dual as a possible keyword argument 2024-09-02 16:12:23 +01:00
5021c8c971 Replace qeq with qtpie 2024-09-02 16:12:23 +01:00
27e911cd10 Remove chi_field 2024-09-02 16:12:23 +01:00
6d47e41741 Update calculation of chi_eff
chi_eff can now be calculated when atom or equal style variables are
used for the electric field, under the restriction that the electric
field is applied to all atoms.
2024-09-02 16:12:23 +01:00
8c8882927c Rename variables in calc_chi_eff() 2024-09-02 16:12:23 +01:00
bfb1c64b64 Add functionality for calculating chi_eff 2024-09-02 16:12:23 +01:00
be43a2bdeb Allow for reading of Gaussian exponents from file 2024-09-02 16:12:23 +01:00
d9151d745a Create fix qtpie/reaxff 2024-09-02 16:12:23 +01:00
bb1624b20d Add documentation for modified pair_hbond_dreiding with angleoffset 2024-09-02 20:33:34 +08:00
27d5ad1714 convert string to int 2024-09-01 08:49:13 -04:00
a9573551a7 run 100 quick test inputs at the most 2024-09-01 08:43:16 -04:00
14dc326160 fix typo 2024-09-01 08:36:50 -04:00
6aa6ed86be Curb number of (randomly) selected tests for quick regression run 2024-09-01 08:33:12 -04:00
da98d30cf7 update README 2024-09-01 08:31:52 -04:00
898d97e603 Add angle offset for pair_hbond_dreiding 2024-09-01 16:13:20 +08:00
d2b5f55737 Copy and rename base files 2024-09-01 16:10:29 +08:00
aa901b205d only run quick regression if there are actual input files to process 2024-09-01 00:59:15 -04:00
d3d9094ad0 update settings when the actions will be triggered automatically 2024-09-01 00:44:23 -04:00
3ea0612795 small cleanups 2024-09-01 00:39:27 -04:00
af747ac6c0 restore old code structure so we can test subsets again 2024-09-01 00:17:25 -04:00
0f1b7b5bd6 simplify even more 2024-09-01 00:09:19 -04:00
f39e795bca revert changes to create_box 2024-08-31 23:19:16 -04:00
591d20b00d Merge branch 'develop' into quick-regression 2024-08-31 23:16:27 -04:00
6fb50cbdc1 integrate quick regression support into regression tester 2024-08-31 23:16:02 -04:00
37f7f62b77 add more control to mol ID updates 2024-08-31 16:48:29 -04:00
62bfd7dc74 Move Linux unit test workflow to PR #4304 2024-08-31 16:05:55 -04:00
56ae7e465e Merge branch 'develop' of https://github.com/lammps/lammps into aurora_updates 2024-08-31 11:33:51 -05:00
7492ab7541 sync forces on step 0 2024-08-31 11:18:43 -05:00
a764930998 consolidate replicated enum to base class header and inside the class definition 2024-08-31 02:00:30 -04:00
d908010ead Merge branch 'develop' into patch-3 2024-08-31 01:54:29 -04:00
b2ce4051aa Consistent spacing after full stops. 2024-08-31 01:53:54 -04:00
59fdfaf884 consistent indentation 2024-08-31 01:50:58 -04:00
dab9d4bc59 Merge branch 'develop' into hagerty_issue4140_kokkos_collective 2024-08-31 00:08:30 -04:00
9a295d73b6 Merge branch 'develop' into group-bitmap-accessor 2024-08-31 00:07:46 -04:00
1fe905d8a2 update types 2024-08-30 15:15:18 -05:00
9a11570836 cleanup 2024-08-30 19:08:35 +00:00
d9e6dff93b cleanup 2024-08-30 14:05:36 -05:00
d95d65bb69 Major updates 2024-08-30 13:47:25 -04:00
742e6d4ff4 Update doc/src/fix_epot_lepton.rst
Co-authored-by: Shern Tee <shernren@gmail.com>
2024-08-30 09:38:20 -04:00
2d8e473807 Merge branch 'develop' of github.com:lammps/lammps into kk_reaxff_overflow 2024-08-29 14:37:16 -06:00
0c753d92ba single & double support ; fix plan bug 2024-08-29 18:21:26 +00:00
f0513bad4c cleanup 2024-08-29 18:20:41 +00:00
af560356fe Merge branch 'develop' of https://github.com/lammps/lammps into aurora_updates 2024-08-29 12:50:17 -05:00
ba51b59add first pass on MKL FFT for Intel GPUs; rhodo benchmark results are close to CPU... 2024-08-29 12:28:54 -05:00
2d3cd2a0b9 fix typo in the per-job artifact names 2024-08-28 17:22:13 -05:00
a1a3e4e5b7 name the artifacts with their matrix idx 2024-08-28 16:45:00 -05:00
04bd62a677 add another job with the action merge 2024-08-28 16:13:10 -05:00
796a0f18d3 upload per-job artifacts, try action merge in a separate job 2024-08-28 16:07:13 -05:00
5306f5ff18 provide path to the artifacts 2024-08-28 15:35:25 -05:00
aa088da59b pack test output into separate artifacts 2024-08-28 14:43:27 -05:00
4e40b4ba63 upload the artifacts of the full regression test workflow 2024-08-28 14:11:23 -05:00
c60e69ea1e have a single job definition with matrix strategy, the build and env do not persist between jobs 2024-08-28 14:06:40 -05:00
f5ffb28a1f use the log file with 1 proc in serial runs, removed examples/bpm/impact/brokenDump 2024-08-28 12:57:58 -05:00
e3119155e1 Update doc/src/region.rst
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2024-08-28 18:20:18 +02:00
709ab8fbe9 Update region.rst 2024-08-28 11:04:47 +02:00
40cd70465c Code for variable point definition in region_plane.cpp 2024-08-28 10:57:02 +02:00
5c11c5ead8 include variable definitions in region_plane.h 2024-08-28 10:48:12 +02:00
a59ac7ec86 Reduced the timeout for quick reg tests 2024-08-26 17:43:36 -05:00
1148f5f5c8 cast into PosixPath to str before writing to file 2024-08-25 16:41:26 -05:00
9f20e5b7f7 put a timeout for a run, specified in the config file 2024-08-25 16:19:52 -05:00
04400e10a8 Updated the regression tester run_tests.py to handle list of input scripts 2024-08-25 16:02:16 -05:00
37c312bf8a added pair coeffs 2024-08-24 05:28:38 -04:00
149ae74631 debug matrix strategy 2024-08-23 17:06:11 -05:00
afb1e499af debugging the issue with the runs, list index out of range for run 7 2024-08-23 16:28:51 -05:00
d09e9d46fa specify the config file when analyzing the examples folder 2024-08-23 16:00:15 -05:00
5a9b742086 experiment with the matrix feature at the job level 2024-08-23 15:52:41 -05:00
9e172665f2 enable full regression tests 2024-08-23 15:45:13 -05:00
380447c6ba updated regression test config files 2024-08-23 14:44:08 -05:00
b69a9847f7 add a config file for running regression tests in serial (no mpirun), modify run_tests.py to handle this case 2024-08-23 14:40:07 -05:00
e1b324a3e9 upload artifacts 2024-08-23 14:18:40 -05:00
0d00578978 move download artifacts to a separate step 2024-08-23 14:03:25 -05:00
b1d40014a6 allow to download artifact from the regression test 2024-08-23 14:00:13 -05:00
ebe3bd2f7e activate the env before running the python scripts 2024-08-23 11:59:16 -05:00
7475e5a5ef run the regression tester tool with the list of suggested inputs 2024-08-23 11:49:20 -05:00
40cae6e79a first draft charmm_c36_jul24.gz to LAMMPS data converter 2024-08-22 21:06:04 -04:00
abbfa9470e remove debug print() statement 2024-08-22 17:07:12 -04:00
bda862a3a2 actually honor the branch argument 2024-08-22 16:50:03 -04:00
dc4e4988a9 do not fetch specific commit hash 2024-08-22 16:37:35 -04:00
a204f8e69f refer to branch with origin/develop 2024-08-22 16:30:02 -04:00
613e053373 check out whole history 2024-08-22 16:23:57 -04:00
1c5c3b41a9 more debugging 2024-08-22 16:20:27 -04:00
50cd510e79 no merge commit so we get differences 2024-08-22 16:16:26 -04:00
f1f7eb01c8 tweak settings in action 2024-08-22 16:15:06 -04:00
f3df42ec02 include debug info 2024-08-22 16:07:26 -04:00
27ff1fa5d4 pass string instead of compiled regexp 2024-08-22 15:57:28 -04:00
db9a618a7b more fault tolerance 2024-08-22 15:51:15 -04:00
66d6804d23 apply clang-format to some pair style headers 2024-08-22 15:43:55 -04:00
022d1d7959 get-quick-list.py script is feature complete 2024-08-22 15:41:31 -04:00
1916d0be06 add incomplete draft of quick input file lister 2024-08-22 11:41:56 -04:00
61fd2ba25c apply clang-format to have some files with changes 2024-08-22 11:40:26 -04:00
10dce38a76 small tweaks 2024-08-22 11:40:01 -04:00
664c6f908a must use different ccache keys to avoid conflicts between concurrent jobs 2024-08-22 11:02:43 -04:00
8c6351b6b9 remove unneeded stuff from quick regression test 2024-08-22 10:43:30 -04:00
8adc90b71f add Linux unit test with -DLAMMPS_BIGBIG 2024-08-22 10:41:54 -04:00
d5c245cb3b add workflow for full regression testing 2024-08-22 10:40:19 -04:00
9d80c22a0b install a few extra packages 2024-08-22 09:43:43 -04:00
5562d66931 need sudo for software installation 2024-08-22 08:43:07 -04:00
b540f572a3 prototype workflow for a quick regression test 2024-08-22 08:40:24 -04:00
4a115d66e0 update region doc for sphere/kk 2024-08-21 20:54:08 -04:00
d07e1b918e update email and fix typo 2024-08-21 20:07:43 -04:00
623e1d68e5 oops 2024-08-21 20:07:14 -04:00
5ea26e6cc1 added RegSphereKokkos to bugfix dynamic_cast in FixWallRegionKokkos 2024-08-21 20:07:04 -04:00
3ea74b1725 update atom_style template test for added charge 2024-08-21 16:20:17 -04:00
c968787c41 fix molecule add for MESH and remove 'not compatible' error message 2024-08-21 16:19:09 -04:00
3aadd8bd84 fix typo in comment 2024-08-20 19:12:27 -04:00
cac0c56687 add charge to atom style template 2024-08-20 19:12:09 -04:00
d75fe348f1 bugfix for compute_scalar() to work, test PASSED 2024-08-20 05:40:02 -04:00
5f5e2d9a64 added fix nve/limit/kk 2024-08-19 20:58:41 -04:00
90aaaea75a cleanup 2024-08-09 03:05:23 -04:00
ce4e01fb78 author information only in cpp, kokkos version needs protected instead of private variables 2024-08-07 00:12:11 -04:00
5509cd4a19 remove include/using/enum's no longer needed 2024-08-06 11:32:18 -04:00
3c524871f7 Revert "remove include/using/enum's no longer needed"
This reverts commit 83ce042a86.
2024-08-06 11:26:02 -04:00
83ce042a86 remove include/using/enum's no longer needed 2024-08-06 11:25:47 -04:00
056e3c0853 comply with @akohlmey's request
- revert my DBL_EPSILON change to EXPECT_FP_LE_WITH_EPS macro

- round the reference data for global_vector() to zeros for 2 unit tests to pass
2024-08-06 02:12:52 -04:00
1166531594 add 4 units tests for fix wall/region/kk 2024-08-06 01:24:21 -04:00
83ab240921 remove whitespaces 2024-08-06 01:21:02 -04:00
a98e9edd30 cleanup 2024-08-06 01:10:45 -04:00
7d6ef008e0 uncomment after debugging done 2024-08-06 00:58:49 -04:00
fa4c1d6190 oops 2024-08-06 00:51:11 -04:00
cac6b5dc02 bugfix for gpu and simplify by replacing functor with operator() 2024-08-06 00:43:07 -04:00
f73a7bca5f "Not necessary, the variable is the same." 2024-08-05 22:10:05 -04:00
88a32e6916 refactor domain and fix_deform for KOKKOS 2024-08-05 22:01:40 -04:00
f6ea649585 add fix wall/region/kk 2024-08-05 06:30:01 -04:00
ab558fb174 remove whitespace 2024-08-04 23:39:57 -04:00
ea6905a4b7 bugfix for NPH target temperature ptemp 2024-08-04 23:33:19 -04:00
093490afad Update fix-timestep-nph_sphere.yaml 2024-08-04 23:21:29 -04:00
b83521b22e regenerated unit tests with run_torque 2024-08-04 23:15:33 -04:00
90cdb023dd added dipole support to kokkos version, plus 2 unit tests 2024-08-04 22:57:05 -04:00
af203f7fc7 added run_torque and EXPECT_TORQUES 2024-08-04 22:40:36 -04:00
d1804fc776 Merge branch 'alphataubio-kokkos-bio' of https://github.com/alphataubio/lammps-alphataubio into alphataubio-kokkos-bio 2024-08-04 17:38:21 -04:00
c2e192e734 call the plumber to fix some leaks 2024-08-04 17:33:11 -04:00
0ebb56e5e8 remove commented out code 2024-08-04 17:14:20 -04:00
298329dc74 bugfix dilate option, test now passes 2024-08-04 03:29:34 -04:00
0e9a419593 updated find_fix to get_fix_by_id for kokkos_omp test 2024-08-04 01:53:08 -04:00
84afef94f6 added "fix_modify test virial yes" and regenerated yaml files 2024-08-04 01:52:15 -04:00
c8c9e34e2d significant rewrite, all 3 tests pass 2024-08-04 01:51:26 -04:00
755fdc5986 fix false negative floating point test 2024-08-04 00:07:01 -04:00
62a2486d95 virial bugfix 2024-08-02 23:59:03 -04:00
2ef1e9936f partial bugfix (kokkos_omp test passes, fix_modify test virial yes still crashes) 2024-08-02 11:59:57 -04:00
24fc761396 remove nodiscard warning 2024-08-01 19:55:54 -04:00
f62d1b5d55 complete rewrite of kokkos version
- array of structs set[i] from base class, converted to view- Host, converted to execution_space
- atom->nlocal converted to atomKK->nlocal- domain converted to domainKK- class now templated for DeviceType- SCALE not implemented in kokkos version
... actually by the time i was done it was a complete rewrite of the kokkos version
2024-08-01 18:55:16 -04:00
99a2bd799e Merge branch 'develop' into kokkos-unit-testing 2024-08-01 16:23:35 -04:00
d0b023e6b5 Merge branch 'lammps:develop' into alphataubio-kokkos-bio 2024-08-01 16:18:15 -04:00
4bec1788a6 make operator and inline functions const, plus remove printf debugging 2024-08-01 01:31:11 -04:00
fbf1451a2f add more crossterms to cmap unit test 2024-08-01 01:28:57 -04:00
3da8e9a9a5 add cmap unit test 2024-07-31 12:59:24 -04:00
4f89b0b783 first draft fix cmap/kk 2024-07-31 12:58:14 -04:00
d8d3ddc140 Merge branch 'develop' into group-bitmap-accessor 2024-07-30 20:30:37 -04:00
4a972c4311 fix recenter/kk works with coords, init, null plus 3 tests 2024-07-30 04:28:40 -04:00
53ae731e09 first draft fix recenter/kk and unit test 2024-07-30 03:30:38 -04:00
bbe1ba4499 Merge branch 'lammps:develop' into alphataubio-kokkos-bio 2024-07-30 02:09:44 -04:00
8751d07375 fix bug in dihedral_charmmfsw_kokkos and update tests 2024-07-27 23:38:03 -04:00
16fabe83ae Merge branch 'develop' into kokkos-unit-testing 2024-07-27 03:27:35 -04:00
91f462e70b Add #include
Add #include that prevents Windows compile
minor touch-ups
2024-07-26 21:13:08 -04:00
282183dc57 Update fix_epot_lepton.cpp
Add flags for .getVariableReference()
Add initialization in constructor
2024-07-25 17:52:24 -04:00
c25f9032ad add unit test inputs for fix epot/lepton 2024-07-25 05:24:40 -04:00
5d418e90a5 version is still TBD 2024-07-25 05:16:24 -04:00
4af280c9f0 small fixups 2024-07-25 05:14:46 -04:00
2251ac9127 apply clang-format 2024-07-25 05:12:11 -04:00
339911eeed whitespace 2024-07-25 05:11:14 -04:00
efdaf57058 Merge remote-tracking branch 'github/develop' into gsalkuin_develop 2024-07-25 05:10:21 -04:00
f2b778aa5e add new fix to .gitignore 2024-07-25 05:09:59 -04:00
c75b9a929c Fix typo 2024-07-24 20:35:12 -04:00
fa2db39c55 Edit docs 2024-07-24 19:43:18 -04:00
8ef96f6ff8 Add new fix 2024-07-24 19:05:44 -04:00
25a4117e67 Merge branch 'develop' into group-bitmap-accessor 2024-07-24 00:08:55 -04:00
884b9dd9bd add PALS env var 2024-07-19 15:34:02 +00:00
bae822fea7 update Makefiles 2024-07-19 15:23:49 +00:00
7739c7ad90 Add files via upload 2024-07-02 14:50:12 -07:00
2b84cd0524 Add files via upload 2024-07-02 14:47:48 -07:00
44ff2698c5 Delete examples/log.ctip 2024-07-02 14:47:12 -07:00
b6a007b769 Delete examples/in.ctip 2024-07-02 14:47:01 -07:00
a170ecc202 Delete examples/data.ctip 2024-07-02 14:46:49 -07:00
567d492121 Delete examples/NiO.eam.fs 2024-07-02 14:46:35 -07:00
ba675c0806 Delete examples/NiO.ctip 2024-07-02 14:46:20 -07:00
b98b82fb09 Create in.ctip 2024-07-02 14:45:34 -07:00
6dd47fbbb0 Add files via upload 2024-07-02 14:40:26 -07:00
5bd4b92826 Merge branch 'lammps:develop' into ctip 2024-07-02 14:39:24 -07:00
9513c0edac small cleanup 2024-07-02 13:28:46 -06:00
9d529c6995 Merge branch 'hagerty_issue4140_kokkos_collective' of github.com:hagertnl/lammps-fork into hagerty_issue4140_kokkos_collective 2024-07-02 15:10:58 -04:00
d630fc67ab Updated remap kokkos to remove unused recv_proc and recv_bufloc buffers 2024-07-02 15:10:44 -04:00
abcc9ed08d Merge branch 'develop' of github.com:lammps/lammps into hagerty_issue4140_kokkos_collective 2024-07-01 12:33:17 -06:00
09c121ebbc Prevent overflow in neighbor output 2024-06-26 14:56:28 -06:00
7da7e69ccb Fix integer overflow for large ReaxFF systems with KOKKOS package 2024-06-26 15:14:55 -04:00
69b9deca39 Merge branch 'develop' of github.com:athomps/lammps into develop 2024-06-25 13:49:30 -06:00
53f39eeae4 Rolled back a premature update for MS-MEAM 2024-06-25 13:46:12 -06:00
7a3dd2231b Merge branch 'develop' into group-bitmap-accessor 2024-06-21 14:31:55 -04:00
663aa8aa80 fix missing pairs within same bin 2024-06-20 22:33:11 -05:00
f9a95f7256 fix virial accumulate for gran/hooke/history/kokkos 2024-06-19 16:55:18 -05:00
b217bf4b24 Resolving conflict in src/MEAM/meam_force.cpp 2024-06-18 10:03:39 -06:00
241d36b14e skip kokkos_omp test for dihedral_style_charmmfsw
pair_style lj/charmmfsw/coul/charmmfsh is not available in kokkos so the kokkos unit test for dihedral_style charmmfsw fails.
2024-06-14 14:48:57 -04:00
1c4b2d460b remove respa from kokkos_omp tests 2024-06-14 14:47:56 -04:00
360d59fc88 Create dihedral-charmmfsw-kokkos.yaml 2024-06-13 12:32:09 -04:00
424fb7ce06 Revert "Update dihedral-charmmfsw.yaml"
This reverts commit 1eb8afcba4.
2024-06-13 12:28:49 -04:00
af9d97ea07 Revert "added dihedral charmfsw kokkos test"
This reverts commit 95af3cdab2.
2024-06-13 12:27:56 -04:00
95af3cdab2 added dihedral charmfsw kokkos test 2024-06-13 12:27:08 -04:00
f915c144fd Revert "added dihedral charmfsw kokkos test"
This reverts commit 55b1b5d008.
2024-06-13 12:17:41 -04:00
55b1b5d008 added dihedral charmfsw kokkos test 2024-06-13 12:16:49 -04:00
bdf243e36a more kokkos tests 2024-06-07 19:41:58 -04:00
1eb8afcba4 Update dihedral-charmmfsw.yaml 2024-06-07 16:25:52 -04:00
0f4065f6cd Update test_improper_style.cpp 2024-06-07 15:41:14 -04:00
c4b1704bd3 added kokkos_omp tests 2024-06-07 11:13:41 -04:00
3defe567df Merge branch 'develop' of github.com:lammps/lammps into hagerty_issue4140_kokkos_collective 2024-06-07 07:28:58 -06:00
991f09905e Merge branch 'develop' into group-bitmap-accessor 2024-06-06 02:18:11 -04:00
8d1c5734c4 Merge branch 'develop' into group-bitmap-accessor 2024-06-05 10:56:54 -04:00
d415db4106 Merge branch 'develop' into group-bitmap-accessor 2024-06-04 17:15:47 -04:00
8573152988 Update src/QEQ/fix_qeq_ctip.cpp
Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
2024-06-03 11:11:40 -07:00
a0939c4fcc use new bitmap accessor function and simplify code 2024-06-01 17:57:31 -04:00
5f2c81804d add unit test for bitmap accessor 2024-06-01 16:45:53 -04:00
279b218af1 fix logic bug 2024-06-01 16:45:39 -04:00
7acc46475d Merge branch 'develop' into group-bitmap-accessor 2024-06-01 12:17:25 -04:00
e2e17b1326 CTIP pair style and qeq fix implemented 2024-05-31 13:29:49 -07:00
b5f8d4b46c fix memory leak for fix_dynamic(a.k.a. neigh/history) 2024-05-30 14:34:15 -05:00
bdbfa7f6e2 track pair_brownian changes in COLLOID 2024-05-29 03:29:37 +00:00
8abaf20ae6 Merge branch 'develop' of https://github.com/lammps/lammps into lubricate 2024-05-29 03:18:36 +00:00
13d42b7955 update sphere_flag to radius_flag 2024-05-28 22:11:52 -05:00
c9049c090d Cleaned up memory deallocation logic, improved comments on remap_kokkos.h for collective fields 2024-05-13 15:47:25 -04:00
bd52e31128 Added optimization to collective to local copy to self 2024-05-11 20:58:47 -04:00
d5fdefa40a Update fix_pimdb_langevin.cpp 2024-05-04 17:51:38 +03:00
4889f1b9fd remove print statements 2024-05-01 15:55:35 +00:00
8cee2604eb remove debug output 2024-05-01 15:55:35 +00:00
7261c833df clean up & fix virial 2024-05-01 15:55:35 +00:00
8002f985da enable half neighlist + kk support; correct except for neighbor list difference... 2024-05-01 15:55:35 +00:00
26f52f7552 enable base classes to support Kokkos style 2024-05-01 15:55:35 +00:00
ed18f3014a fix virial when both global and per-atom requested 2024-05-01 15:55:35 +00:00
83c9d47f5e correct forces + virial 2024-05-01 15:55:35 +00:00
9749c0658a need to update velocities on host for non-kokkos computes 2024-05-01 15:55:34 +00:00
1be59745fb correct forces and per-atom virials, but thermo still off 2024-05-01 15:55:34 +00:00
8d3c7cca94 add PairBrownianKokkos::init_one() 2024-05-01 15:55:34 +00:00
e9f7b62f04 fix FULL (as much as it can since not conservative) 2024-05-01 15:55:34 +00:00
8ddceeb7af fix instantiation of compute; now correct pressure on step zero and support for FULL 2024-05-01 15:55:34 +00:00
a4b3eea189 brownian/kk almost correct on cpu 2024-05-01 15:55:34 +00:00
8c3dab03b7 downgrade macOS to version 13 2024-04-27 02:49:52 -04:00
3f9d96d38d make pip install packages in virtual environment 2024-04-27 02:49:52 -04:00
71f82e70ef Refactored kspace+kokkos collective remap. Need to go back and tidy up memory allocations 2024-04-25 13:16:03 -04:00
1a431b02ae Split collective and non-collective into conditionals. Multi-node test passing. Beginning optimization of collective 2024-04-24 09:23:29 -04:00
65e8a5c981 Relocated send & recv initializations to occur together, since they are independent 2024-04-23 14:59:42 -04:00
f9e349a2bc Fix load balancing issue with 2D FFTs 2024-04-23 13:42:46 -04:00
5c5dd1efb4 Updated kspace kokkos to use input file for collective setting 2024-04-22 10:26:34 -04:00
f43fec417d Updated collective flag keyword in KOKKOS PPPM to use setting from input file 2024-04-22 10:23:14 -04:00
0af4fe2702 Enable collective comm for PPPMKokkos 2024-04-20 09:39:41 -06:00
3116250da9 Initial port of kspace_modify collective yes to KOKKOS package 2024-04-19 16:00:58 -04:00
38874c5aaa make more consistent 2024-04-18 00:27:38 -04:00
d16d3ee02b replace wildcard imports with explicit ones 2024-04-18 00:21:53 -04:00
ebd77afd58 initialize in the constructor for the class that defines variable 2024-04-18 00:09:07 -04:00
6683976ce0 use explicit imports instead of wildcards 2024-04-17 04:45:16 -04:00
61d6220aa6 override the primitive estimator 2024-03-25 19:38:37 +02:00
c49168bba3 correct spring energy properties. more epxlicit handling of vector outputs 2024-03-25 19:32:10 +02:00
8e099b30da Merge branch 'bosonic-pimd-langevin' of https://github.com/yotamfe/lammps into bosonic-pimd-langevin 2024-03-25 17:56:52 +02:00
623bf2dddb Merge branch 'develop' of https://github.com/lammps/lammps into bosonic-pimd-langevin 2024-03-25 17:54:56 +02:00
e2b8d999c0 Account for the fact that beta is actually beta_np in the bosonic primitive kinetic energy estimator 2024-03-14 10:23:31 +02:00
ba8d1587d4 Merge branch 'bosonic-pimd-langevin' of https://github.com/yotamfe/lammps into bosonic-pimd-langevin 2024-03-11 15:39:28 +02:00
33fb1c1e45 override total spring energy, remove ad-hoc computation of kinetic energy estimators (should be done in fix_pimd_langevin) 2024-03-11 15:37:58 +02:00
5c3c0588f1 Remove minuses in the spring energies because spring_constant is positive 2024-03-11 14:28:06 +02:00
1cc83bb1ac Pass beta_np instead of beta to the bosonic code 2024-03-11 14:26:17 +02:00
3ffa5908ca add get_bitmask_by_id() accessor to Group class 2024-02-27 10:16:34 -05:00
44c8f722a3 Merge remote-tracking branch 'upstream/develop' into develop 2024-02-24 14:32:03 -07:00
2ef030f33c Fixed error in forces that only affects non-zero t1m MS-MEAM models 2024-02-24 14:14:52 -07:00
1c9d62543b Merge pull request #3 from rohskopf/sna-grid-kokkos
Kokkos SNAP grid local compute
2024-02-22 13:58:21 +01:00
a6ac272e7e fix negation operator and arg starting number 2024-01-29 12:29:27 -05:00
e374b073bc pass integrator as arg for rigid, typo fix 2024-01-25 14:53:40 -05:00
846e365e94 added flags for single execution to init and setup 2024-01-25 14:25:59 -05:00
64fe4c171c added checks for seed, temp ge 0.0 2024-01-24 14:35:46 -05:00
b23f70daf7 Bump actions/cache from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 17:37:35 +00:00
33c52c2a4a Merge branch 'develop' into draneyj/develop 2024-01-04 21:12:46 -05:00
aa1382b2ac Merge branch 'develop' into fix-set-command 2024-01-04 15:11:49 -07:00
e83f0d3f26 update fix hmc examples and add reference log files 2023-12-19 17:53:48 -05:00
2f692b9bff silence compiler warnings about unused variables 2023-12-19 17:28:00 -05:00
33bfc1d1ca changed vector output 2023-12-19 15:28:01 -05:00
b0205dbe07 add examples for hmc 2023-12-19 15:02:53 -05:00
8968cbf49d setup fix_rigid before saving state 2023-12-19 14:07:24 -05:00
08f78f8060 properly force reneighbor on next timestep 2023-12-19 09:57:57 -05:00
64dc621027 check for rigid flag before fix_rigid 2023-12-18 19:34:13 -05:00
acdc4244ec initialize stored_body 2023-12-18 19:32:00 -05:00
c18de5dbd8 change how check for additional virial fixes is done 2023-12-18 18:48:20 -05:00
c13455bfa3 removed redundant acc_frac calculation in compute_vector 2023-12-18 18:00:41 -05:00
19be6d5f94 remove access to internal members of modify in loops 2023-12-18 17:59:30 -05:00
c234d6e997 Bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 17:51:12 +00:00
66411317cb check for tags and compatible neighbor list settings 2023-12-17 15:37:09 -05:00
b895b52fc1 small programming style update 2023-12-17 15:36:43 -05:00
17ddf26121 plug some more memory leaks 2023-12-17 12:07:53 -05:00
a65e85a12e avoid memory leaks and uninitialized data 2023-12-17 12:01:48 -05:00
2da1800357 must move function to Fix::init() since queried info may not be current during constructor 2023-12-17 12:01:33 -05:00
d392b17ff1 some more simplification and cleanup 2023-12-17 11:49:19 -05:00
623f2c4ea0 simplify creation of internal fixes and computes, use unique ID 2023-12-17 11:38:33 -05:00
7761b6022b small doc fix 2023-12-17 11:37:12 -05:00
1b9e33a17f initialized all class member pointer to NULL 2023-12-17 11:00:32 -05:00
f67b045f02 explain dependency on RIGID package 2023-12-17 10:52:31 -05:00
e91c72a0d2 replace non-ASCII characters so that PDF builds won't fail 2023-12-15 19:41:52 -05:00
dc17dc3f84 update for coding convention compliance 2023-12-15 18:53:46 -05:00
81a4da5da3 build system integration and handling of dependency on fix rigid/small 2023-12-15 18:50:42 -05:00
5506f42005 documentation intergration and fixes 2023-12-15 18:48:27 -05:00
51b38c5b24 make the Body struct standalone so we can use a forward declaration 2023-12-15 18:14:28 -05:00
06a445fd4c revert protection settings and add FixHMC as friend class instead 2023-12-15 17:46:51 -05:00
4a7f543036 change my email 2023-12-15 13:49:09 -05:00
f4e9523152 exclude .git-blame-ignore 2023-12-15 13:44:12 -05:00
c37ba54d27 rename git blame ignore file 2023-12-15 13:30:44 -05:00
a307d5ca7e add set_v back to public 2023-12-15 13:27:33 -05:00
e9ed0ec9cb add line at eof 2023-12-15 13:06:16 -05:00
a8df05939c merge upstream 2023-12-15 13:04:33 -05:00
d9ed0c2288 Added kinetic energy estimators. 2023-12-15 12:21:28 +02:00
5bd14e1b0f Added MC pkg to CI files 2023-12-14 14:49:39 -05:00
c8756f7f55 fixing merge issues 2023-12-14 13:34:55 -05:00
8f338f785e fixing merge issues 2023-12-14 13:33:28 -05:00
1033e727b8 reallocation conflict resolved 2023-12-14 13:26:48 -05:00
063e966ec3 Merge branch 'norealloc' into develop 2023-12-14 13:19:56 -05:00
473ccd98dc only copying ntotal in save peratom 2023-12-14 13:19:32 -05:00
52e14995fc removed realloc to test 2023-12-14 13:12:30 -05:00
c9a14ad8fb faster by not reallocating peratom vector 2023-12-14 12:38:45 -05:00
bd69063088 trying to increase speed by minimizing reallocations 2023-12-14 12:08:24 -05:00
c78e2a5dd3 touch up docs 2023-12-14 11:47:08 -05:00
8d252d75cf Added ra (resampling upon acceptance) to hmc doc). 2023-12-14 11:30:51 -05:00
dbf716edd0 moving hmc to MC package 2023-12-14 11:08:01 -05:00
19235f072f add contributing authors 2023-12-14 11:03:23 -05:00
940778b2ec more formatting 2023-12-14 10:55:09 -05:00
8115785673 formatting 2023-12-14 10:53:37 -05:00
129b63ac54 added memory usage calculation 2023-12-14 10:46:53 -05:00
c6417581bc minor edit to reset atom_map 2023-12-14 09:13:27 -05:00
31f753c7d0 current_peratom updated every time 2023-12-14 09:09:52 -05:00
95c6a9c25b make resample on accept default no 2023-12-13 12:07:34 -05:00
0461caf23e make resample on accept an option 2023-12-13 12:05:54 -05:00
57554c48b9 check for nullptr at source before copying or allocating 2023-12-13 12:03:48 -05:00
24e408b463 uncomment reverse_comm 2023-12-13 11:59:17 -05:00
539385afff remove unnecessary code and comments 2023-12-13 11:53:10 -05:00
63d6f1a1e2 removed random p when move accepted 2023-12-13 11:11:50 -05:00
37ba666309 remove tuning 2023-12-13 10:56:28 -05:00
1fc6a0e6dd Clarified the hmc algorithm in the doc file fix_hmc.rst 2023-12-12 15:18:11 -05:00
be22c63659 Added the default to the docs file fix_hmc.rst 2023-12-12 15:11:59 -05:00
3be9cc0a4f Touched up the docs file fix_hmc.rst 2023-12-12 14:56:05 -05:00
57ce8ee6ab Bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 17:50:00 +00:00
7d8ec9f8be temporarily removing parameter tuning 2023-12-10 17:18:57 -05:00
31869a5d6b adding more stored vectors just in case 2023-12-10 16:34:11 -05:00
1a908b2edd Merge branch 'develop' of github.com:draneyj/lammps_hmc into develop 2023-12-10 15:14:31 -05:00
c3fe7d4b58 added xcmimage to restoration, fixed lost atoms 2023-12-10 15:11:49 -05:00
f42f861328 Updated GA CI files to work on draneyj/lammps_hmc repo. 2023-12-10 14:58:53 -05:00
d4c0b24eac added atom tag storage 2023-12-10 10:57:55 -05:00
d155ac70f1 comment out rot keyword 2023-12-09 18:47:28 -05:00
83bbdd71f3 initialize map flag 2023-12-09 18:46:43 -05:00
cf68591184 remove erroneous line 2023-12-09 18:38:09 -05:00
8171741ccb trying to accept chaning number of atoms 2023-12-09 18:24:13 -05:00
5120af1aba added more keywords to the documentation 2023-12-01 16:26:23 -05:00
1356cb54a9 Documentation description modified, related commands, default and references added. 2023-12-01 14:17:58 -05:00
fa71278070 Syntax, Examples and Description added to fix_hmc.rst 2023-12-01 13:51:06 -05:00
5a91f3d51a Added fix_hmc.rst 2023-12-01 12:13:21 -05:00
d56868c675 Remove redundant broadcasting in evaluate_cycle_energies. 2023-12-01 16:52:56 +02:00
1fe2891e74 Correct indices for temp_nbosons_array. 2023-12-01 16:46:43 +02:00
1d64be30d9 finished initial refactoring Set class 2023-11-30 10:42:59 -07:00
b0550648bf Added group filter to body random velocities 2023-11-29 16:00:57 -05:00
8339cdc76a properly weight vcm for rigid bodies 2023-11-29 15:33:00 -05:00
6c9c537ab1 more refactoring 2023-11-29 10:29:40 -07:00
04a7c6e920 modernize arg parse syntax 2023-11-29 00:35:59 -05:00
e1c1cc34bb random velocities for bodies and mom arg for zero vcm 2023-11-29 00:31:33 -05:00
c583a52402 more refactoring 2023-11-28 16:44:07 -07:00
d1290dc6cc add body copy for rigid bodies 2023-11-27 14:22:40 -05:00
bbed056c73 Merge branch 'develop' into fix-set-command 2023-11-27 10:26:40 -07:00
a1fc55b479 more refactoring 2023-11-27 10:23:50 -07:00
ee0a050f65 alphabetize methods 2023-11-25 15:46:15 -07:00
36afc91dfa draft version of refactored set command as set2 2023-11-25 15:20:28 -07:00
dd99ea371d Merge remote-tracking branch 'upstream/develop' into develop 2023-11-22 10:30:51 -07:00
84b1ecff6f change sign of forces (difference in spring constant's sign_, remove separate virial calculation 2023-11-21 16:40:04 +02:00
a80406347c pimdb works only in method pimd 2023-11-20 17:39:38 +02:00
f4a133c47a translate between orders from bosonic exchange force to atom force 2023-11-20 17:36:30 +02:00
148c23e24d fix fix 2023-11-20 17:13:28 +02:00
12ef219da6 pass correct positions to exchange 2023-11-20 17:11:25 +02:00
966398d470 missed a line I needed to remove 2023-11-20 09:15:12 -05:00
3588fddef2 Merge pull request #1 from draneyj/pr_practice
added templates to class, allowing error
2023-11-20 07:40:48 -05:00
4907a530c2 fix beta passing to bosonic exchange, mic optional 2023-11-20 14:27:52 +02:00
eb8070b7c3 start work on integrating bosonic exchange to fix_pimd/langevin 2023-11-19 23:47:30 +02:00
e7313515c1 added templates to class, allowing error 2023-11-19 16:35:45 -05:00
040b23ab27 removed warning aboout rigid support 2023-11-19 16:20:11 -05:00
496802c908 remove comments in restore_saved_state 2023-11-19 16:18:17 -05:00
920b49d5a8 peratom copy working (for x at least) 2023-11-18 18:56:30 -05:00
7692824bcf runs with new atom copy 2023-11-17 15:52:51 -05:00
aab3773a90 restored accidentally deleted code 2023-11-17 14:16:47 -05:00
e5f4d60888 re-added restoration function 2023-11-17 12:46:58 -05:00
d20b4c4c94 added restoration function 2023-11-17 12:19:49 -05:00
ebe287555c trying to store peratom data 2023-11-16 11:06:51 -05:00
645541bcc7 properly initialize vector output 2023-11-14 15:37:17 -05:00
e865df16a8 now runs without error 2023-11-14 14:33:44 -05:00
18583434b1 hacked away at the outdated code until it compiled 2023-11-11 18:03:48 -05:00
2413da64a4 adding source files from original implementation 2023-11-08 14:24:44 -05:00
a5b262aefa Hotfixing a small bug in the Kokkos Gaussian Compute
Co-authored-by: Drew Rohskopf <<drew.rohskopf@gmail.com>
2023-09-08 00:20:45 +02:00
36e24d00d1 Merge remote-tracking branch 'upstream/stable' into develop 2023-08-14 14:42:11 -06:00
27d065a682 sync with develop 2023-08-03 11:33:14 -04:00
f1dd7f1415 Merge tag 'patch_2Aug2023' into maintenance
LAMMPS feature release 2 August 2023
2023-08-03 11:14:29 -04:00
79e05595db Remove destructor prints 2023-07-11 13:11:50 -06:00
63a3c3f30c Merge branch 'lammps:develop' into mala 2023-07-11 15:43:30 +02:00
cb915cdce7 Fill local sna/grid array 2023-07-10 10:22:52 -06:00
b5dc7d58a8 Destruct sna/grid/local/kk properly and use local arrays 2023-07-09 10:20:45 -06:00
3f9cc8f0fd Initial sna/grid/local/kk implement 2023-07-07 17:08:41 -06:00
2fc1844443 Merge pull request #2 from rohskopf/sna-grid-kokkos
Kokkos Gaussian grid
2023-07-03 14:26:20 +02:00
be5eb198c3 Clean up debug prints 2023-06-27 11:50:00 -06:00
969cc5dc03 Tweak TeamPolicy settings for speedup 2023-06-26 17:41:13 -06:00
c871fe8505 Fill grid geometry info 2023-06-26 17:03:05 -06:00
9eb26e4cd0 Shallow copy Kokkos written array to returned array variable 2023-06-26 16:43:28 -06:00
5885f49b75 Prevent polymorphic destructor calls with copymode 2023-06-26 14:50:44 -06:00
fc5e583c56 Initial Gaussian grid implementation 2023-06-24 15:56:54 -06:00
5e01ffe6a6 Merge pull request #1 from rohskopf/sna-grid-kokkos
compute sna/grid/kokkos
2023-06-07 13:57:50 +02:00
904fde8189 Merge remote-tracking branch 'fork_drew/sna-grid-kokkos' into sna-grid-kokkos 2023-06-06 15:28:48 +02:00
788fd3a9ac Re-Adding Gaussian grid again, originally authored by Aidan Thompson
Co-authored-by: Aidan Thompson <athomps@sandia.gov>
2023-06-06 15:28:41 +02:00
b1105a231b Add triclinic cell conversion 2023-06-04 05:03:06 -06:00
b1ffcbcd41 Fix cutoff factor when switchflag = 0 2023-06-02 17:38:48 -06:00
be5476e442 Loop over chunks on GPU to write values properly when using default chunk size 2023-06-02 15:10:45 -06:00
95e39ba89a Clean up kernels 2023-05-30 22:53:24 -06:00
1037e4a4eb Use normal loop over ntotal inside neighbor team policy 2023-05-30 22:40:12 -06:00
709da60474 Replace limited parallel for with normal for for now 2023-05-30 11:08:43 -06:00
e169327162 Merge branch 'lammps:develop' into mala 2023-05-23 10:23:42 +02:00
59e8b9370f plug memory leak in FixNHIntel class 2023-04-24 20:58:33 -04:00
39fa2021e2 avoid 32-bit integer overflow when allocating memory for neighbor list copy 2023-04-24 20:45:49 -04:00
83f492a195 must initialize vest_temp to null to avoid segfaults 2023-04-24 20:44:44 -04:00
933457acbe Templated functions calling math libraries should use type-aware calls 2023-04-24 19:55:39 -04:00
06f4099566 Vector masking is part of AVX512, not limited to Intel compiler 2023-04-24 19:54:19 -04:00
5624a78b17 Fix uninitialized memebr 2023-04-24 19:53:57 -04:00
66def742c4 Organize deallocator calls 2023-04-24 11:29:04 -06:00
47e875142f update version string 2023-04-22 18:37:52 -04:00
62c844d5ac update version string for stable release update 2023-04-22 14:56:44 -04:00
263b6d4d6f compilation fix for Fedora 38 from upstream 2023-04-22 14:32:11 -04:00
4acca38a65 remove text that only applies to newer LAMMPS versions 2023-04-22 12:19:37 -04:00
4cf642b526 correct docs for fix edpd/source and fix tdpd/source 2023-04-22 12:12:38 -04:00
470581d469 Organize sna method calls and clean up 2023-04-10 17:18:00 -06:00
52fc8f05ee update CMake script for PLUMED package to support cross-compilation to Windows 2023-04-10 09:23:19 -04:00
40db9b1701 Agreement between Kokkos and original compute sna/grid with switchflag = 1; note that switchflag = 0 gives wrongly zeroed values for Kokkos because of bug in compute_s_dsfac function of sna_kokkos_impl.h causing sfac to be zero 2023-04-09 15:54:47 -06:00
d75ceabfb0 Fix neighbor criteria so atoms sharing positions with gridpoints aren't included as neighbors 2023-04-08 21:55:04 -06:00
a720328770 Matching descriptors when no neighbors, good checkpoint for debugging 2023-04-08 21:32:46 -06:00
a3d8ab3088 Add cutoff view properly 2023-04-08 19:03:25 -06:00
02122c809c Change ntotal to n_ninside 2023-04-08 17:52:35 -06:00
bd1134c083 Debug inability to deep copy 2023-04-08 17:21:27 -06:00
7539264846 Sync device and host compute arrays 2023-04-08 13:08:24 -06:00
212b864052 Add all SNAP computations and 4D view Kokkos memory allocator 2023-04-08 11:19:07 -06:00
047df9aa9e mark as maintenance branch version 2023-03-31 09:52:58 -04:00
fb3bd20dff update fmtlib to version 9.1.0 to avoid compilation issues with PGI/NVHPC compilers 2023-03-23 18:34:42 -04:00
c7d62c4709 fix ids once bug in compute chunk/atom 2023-03-22 22:21:13 -04:00
b18008c58d add useful comments 2023-03-22 22:18:29 -04:00
9469321e3d Fixed bug in fep tools 2023-03-22 22:18:04 -04:00
a4a9efeefc Fixed bug in fep tools 2023-03-22 22:17:55 -04:00
70744f10e0 backport fix property/atom bugfix for KOKKOS 2023-03-22 22:17:10 -04:00
9bea55bd77 update fix mscg example 2023-03-16 14:55:20 -04:00
73525b3bbc Download the latest MSCG snapshot to address bug in library. 2023-03-16 14:55:05 -04:00
9cf67699cc include fixes and updates from upstream 2023-03-16 12:44:18 -04:00
666fe4cfbe fix two bugs in the ndx2group command 2023-03-16 12:35:53 -04:00
ed7bd50500 must recompile main.o when MDI package is installed/uninstalled 2023-03-12 22:31:06 -04:00
de4dbec661 Remove swo 2023-03-12 20:03:35 -06:00
584a6200f5 Mimic pair snap kokkos pattern 2023-03-12 20:02:57 -06:00
a0a7f14db5 Remove swo 2023-03-12 17:01:20 -06:00
234346c37d Experiment with different implementations 2023-03-12 17:00:48 -06:00
e1e7984822 Start ComputeSNAGridKokkos implementation 2023-03-10 16:19:24 -07:00
d241e26d03 allow dynamic groups with fix oneway 2023-02-25 12:03:40 -05:00
73e7163ed6 don't store topology information with ghost atoms. they will be ignored. 2023-02-24 22:56:17 -05:00
5a5a86684a Fix the adios2::ADIOS constructor calls that were deprecated in adios 2.8 and removed in 2.9. The fix is backward compatible with older adios2 versions as well. 2023-02-23 15:39:01 -05:00
ae3f57e89a fix bug in fix wall/morse that was computing forces incorrectly 2023-02-23 15:38:20 -05:00
fff7b2a859 update unit test for correct fix wall/morse 2023-02-23 15:37:58 -05:00
83ba1c9d20 Merge pull request #3645 from akohlmey/more-backports-to-stable
More backports of fixes to stable release
2023-02-17 16:27:13 -05:00
ce10614cab backport region check move to init() function for fix gcmc and fix widom 2023-02-17 12:44:58 -05:00
facbeac052 move definition of MAXBIGINT_DOUBLE to variable.cpp 2023-02-17 12:29:17 -05:00
188ee5af15 use MAXBIGINT_DOUBLE which does not overflow when casting back to bigint 2023-02-12 04:08:11 -05:00
f176b8b14c consistently support special_bonds settings in pair style gauss 2023-02-10 05:09:58 -05:00
2396b2feea Fixed bugs with gauss/gpu in bonded systems, including factor_lj in forces and energies 2023-02-10 05:02:43 -05:00
4399c1b6c1 Merge pull request #3593 from akohlmey/maintenance-2022-06-23
Third round of maintenance fixes and backports for the stable release
2023-02-09 22:53:11 -05:00
fd046c8fd8 Merge branch 'maintenance' into maintenance-2022-06-23 2023-02-09 20:17:06 -05:00
09b7694601 Merge pull request #3595 from akohlmey/maintenance-many-files
Additional non-functional maintenance changes for the stable version
2023-02-09 20:09:28 -05:00
df20503434 make fallback url function available to plugin compilations 2023-02-09 08:14:23 -05:00
f4aa24a36a roll back changes for vec3_scale() and vec3_scaleadd() and use temporary vector 2023-02-08 20:33:38 -05:00
007c04bc97 correct preprocessor logic for non-Linux machines 2023-02-08 16:45:48 -05:00
418d1e16e1 recover compilation of tersoff kernels with CUDA 2023-02-08 11:17:09 -05:00
6471d781d0 recover kernel failure for tersoff with mixed and single precision 2023-02-08 09:14:37 -05:00
97ddc5917c another OpenCL bugfix attempt from Trung 2023-02-08 08:26:22 -05:00
a95ff20647 swap nvcc default arch from Maxwell to Pascal
This is to avoid deprecation warnings with CUDA 11.6 and later
2023-02-07 08:34:01 -05:00
9e0a9e2601 correct logic 2023-02-07 00:00:17 -05:00
8b34d65970 add download fallback handling 2023-02-07 00:00:07 -05:00
0a1c2bcccc fix failing unit tests with OpenCL 2023-02-06 18:40:07 -05:00
c9442c591c re-enable new neighbor lists for CUDA 12.0 and later 2023-02-05 03:01:46 -05:00
b7d316031d nullify freed pointers in list of dump data 2023-02-03 20:39:47 -05:00
361e9f3ea5 avoid illegal memory access in destructor after variables have been deleted 2023-02-03 20:26:42 -05:00
28120793b8 backport PR #3631 2023-02-02 22:21:15 -05:00
f32ce8377e change default arch in nvcc_wrapper, so it can still run with cuda 12 2023-02-01 11:35:59 -05:00
9021b8bc6a implement download fallback for traditional make build 2023-02-01 06:53:53 -05:00
838fe3020d add support for building a static lammps-shell executable with Linux/MUSL 2023-01-31 22:23:41 -05:00
b4d4dcbcbc simplify 2023-01-31 20:35:18 -05:00
52a892ec46 simplify 2023-01-31 20:32:41 -05:00
0ee3d9da5d port triclinic region vs box check from fix gcmc to fix widom 2023-01-31 20:29:18 -05:00
50afb292b0 compare region extent with box bounds for triclinic 2023-01-31 20:28:25 -05:00
275ef9da17 update n2p2 lib version for traditional make, too. 2023-01-31 20:28:15 -05:00
b6a87390a3 revert MD5 hash to current value after GitHub reversed its change 2023-01-31 20:28:04 -05:00
72178631c5 update N2P2 library to version 2.2.0 2023-01-31 20:27:57 -05:00
f8859c5fca implement download fallback URLs pointing to download.lammps.org for CMake 2023-01-31 20:22:06 -05:00
979119a29b backport fixes to KOKKOS and REAXFF from PR #3621 2023-01-31 20:18:38 -05:00
bc66572275 Fix out of bounds access in pair_vashishta_kokkos with skip list 2023-01-31 20:00:45 -05:00
609231675f Allow neighbor class to set newton flag in Kokkos neigh list 2023-01-31 19:55:07 -05:00
d9675b5da4 Fix QUIP compilation with Intel compilers. 2023-01-30 08:11:52 -05:00
7d32b4f42a make Kokkos lib compatible with musl-libc
Note: this was adapted from https://github.com/kokkos/kokkos/pull/5678
to be usable without requiring C++17
2023-01-27 12:21:39 -05:00
697e5b15ec forcibly disable COMPRESS package is zlib is not found 2023-01-27 07:29:25 -05:00
ade0718c11 make compatible to non-glibc Linux 2023-01-27 07:26:23 -05:00
31033ff6e0 must initialize "np" in constructor 2023-01-26 18:34:21 -05:00
9a598ba5a8 backport fix pimd bugfix from develop 2023-01-26 15:59:26 -05:00
ff20448b1d add image to the cover page of the PDF version of the manual 2023-01-26 11:23:46 -05:00
af5229ba58 swap constexpr back to const 2023-01-26 09:58:26 -05:00
b180200c48 check if variable value is a valid number before converting it 2023-01-26 07:10:50 -05:00
27441cf2ea update developer contact info in a few more files 2023-01-25 22:24:22 -05:00
db61bf609b plug memory leaks in couple examples 2023-01-25 21:48:29 -05:00
015fa4cb0a update embedded docs 2023-01-25 21:44:04 -05:00
62f6f91146 minor typo and rewording 2023-01-25 21:42:37 -05:00
e163b0b1d7 portability improvements for Solaris/OpenIndiana 2023-01-25 21:40:23 -05:00
169a886898 cannot test PYTHON package if it is not installed 2023-01-25 21:37:22 -05:00
cbd276c49d correct prototype for documentation 2023-01-25 21:32:03 -05:00
183c6c06ff small tweaks to the "breadcrumbs" part of the theme to avoid double inserting a separation character 2023-01-25 21:28:18 -05:00
93a46da58e add image to the cover page of the PDF version of the manual 2023-01-25 21:24:27 -05:00
6b6a47bd3c Small tweaks 2023-01-25 21:21:08 -05:00
4a0a98a0fd Small bugfixes for Kokkos 2023-01-25 21:20:59 -05:00
369ea4fd26 Add this 2023-01-25 21:17:30 -05:00
d63c002bf5 Use group for Kokkos nvt temp compute 2023-01-25 21:17:22 -05:00
e931d3153b small improvements from upstream 2023-01-13 17:52:28 -05:00
2913c063d4 whitespace 2023-01-13 14:51:21 -05:00
5606b57646 Update SECURITY.md
I found the overlapping meanings of release/update/patch a bit confusing, especially when sometimes referring to a branch name and sometimes used as a general description.  So I reworked it, trying to preserve meaning. I deleted the last sentence, because I did not understand it, it may need to be added again.
2023-01-13 11:30:07 -07:00
0fafe34008 import updates to library plugin loader from upstream 2023-01-13 05:21:33 -05:00
a9a1640d67 reorder 2023-01-12 18:28:17 -05:00
812363fb99 lammpsplugin bugfix from Stan 2023-01-12 18:24:04 -05:00
b40e0be1c9 reset to current state of the library interface and remove parts from upstream that have crept in 2023-01-12 12:08:00 -05:00
be94176c03 Re-starting MALA branch in MALA fork 2023-01-12 15:44:04 +01:00
1be973da07 update from upstream 2023-01-11 22:31:06 -05:00
aca2c52795 update LAMMPS developer contact info 2023-01-11 22:25:25 -05:00
536b2ab7e5 restore accidentally deleted file 2023-01-11 22:16:31 -05:00
ccef293161 remove obsolete comment 2023-01-11 22:11:53 -05:00
4b0de87813 silence compiler warning 2023-01-11 21:59:35 -05:00
fa22aef31b Fix obscure bug in Kokkos neigh list build 2023-01-11 21:53:16 -05:00
cb7544a615 import modernization from upstream 2023-01-11 21:41:58 -05:00
a9be4906b7 import safer ghost cutoff determination for manybody GPU styles from upstream 2023-01-11 21:41:43 -05:00
6f36d21a04 GPU library updates 2023-01-11 21:34:42 -05:00
c55a15c4dc make AWPMD compatible with MSVC and c++-linalg on Windows 2023-01-11 21:23:03 -05:00
8f01dad1a9 add tools/tabulate 2023-01-11 21:21:51 -05:00
db6e1aa20d some more documentation updates 2023-01-11 21:21:03 -05:00
3cee69a077 correct Kokkos device/arch info ouput in CMake summary 2023-01-11 18:15:56 -05:00
69ffe71595 update unit tests for code corrections 2023-01-11 07:45:50 -05:00
16fa033111 fix issues with bundled meam/spline potentials 2023-01-11 06:40:54 -05:00
8e494aa771 updates and bugfixes for liblammpsplugin plugin loader for LAMMPS shared lib 2023-01-11 06:11:46 -05:00
d203cce8b5 documentation updates from upstream 2023-01-11 06:07:19 -05:00
f8de1b1a75 use official API for utils::logmesg(), stricter/consistent checking for integer and floats 2023-01-11 05:54:35 -05:00
de89a25a25 final CMake sync with upstream 2023-01-11 05:03:00 -05:00
f982e95267 update developer info in unittest tree 2023-01-11 01:28:52 -05:00
293d0cdb58 fix typo 2023-01-11 01:26:54 -05:00
011f2651ee update 2023-01-11 01:26:48 -05:00
a8d3c43a77 update version 2023-01-11 01:26:35 -05:00
c19641f8b3 synchronize CMake scripting with upstream 2023-01-11 01:04:32 -05:00
6596b343ff sync docs with fire minimizer code features 2023-01-10 21:55:56 -05:00
b6dbb0330c update list of commands in pygments LAMMPS lexer 2023-01-10 21:55:56 -05:00
0dd138666a update for accelerated versions 2023-01-10 21:55:56 -05:00
33b9fec150 synchronize sphinx configuration with upstream 2023-01-10 21:55:56 -05:00
32b020a165 Increase communication cutoff for TIP4P pair styles, if needed
This avoids error of H atom not found when the O atom is a ghost.
2023-01-10 21:55:56 -05:00
c1db230331 Fix bug in Kokkos ReaxFF on GPUs 2023-01-10 21:55:56 -05:00
254c052ecc Fix GPU tag issues in other Kokkos styles 2023-01-10 21:55:56 -05:00
8e889dfa7c offset is not used (by construction of the potential) 2023-01-10 21:55:55 -05:00
5b6a52a646 correct suffix handling with compute fep 2023-01-10 21:55:55 -05:00
55f56deb63 bugfix for minimization with KOKKOS when using fix box/relax 2023-01-10 21:55:55 -05:00
bfe127a720 cosmetic 2023-01-10 21:55:55 -05:00
d95c8911a3 tweak intel compiler settings 2023-01-10 21:55:55 -05:00
0380f9d854 consistently prefix deep_copy() with Kokkos:: 2023-01-10 21:55:55 -05:00
71b1d60363 bugfix for gaussian bond/angle styles to avoid premature truncation of potential 2023-01-10 21:55:55 -05:00
8b1f92fabd better error handling when reading table files 2023-01-10 21:55:55 -05:00
419af0cf28 dead code removal 2023-01-10 21:55:45 -05:00
9030c59932 bugfix for nm/cut argument parsing 2023-01-10 21:55:21 -05:00
ee88078150 bugfix for DPD with exclusions other than 0.0 or 1.0 2023-01-10 21:55:21 -05:00
04451f6072 recover compilation 2023-01-10 21:55:21 -05:00
2364f7f08b bugfix for incorrect stress tally in dihedral style table 2023-01-10 21:55:21 -05:00
7f82a58f51 auto loop optimizations 2023-01-10 21:55:21 -05:00
1caf074ba1 avoid excess string copy in auto loops 2023-01-10 21:55:20 -05:00
34677f78c2 initialize ADIOS dumps only the first time when used in multiple runs 2023-01-10 21:55:20 -05:00
e095609ac6 update lammps theme base theme from read-the-docs version 1.0.0 to 1.1.1 2023-01-10 21:54:35 -05:00
1122408957 dynamic cast whitespace 2023-01-10 21:53:53 -05:00
5f9b78ca01 update developer reference text 2023-01-10 21:53:09 -05:00
fe138fc75c add support for building/using the ADIOS package without MPI
This needs the ADIOS2 installation being configured accordingly.
2023-01-10 12:38:20 -05:00
31c324ff61 remove references to long obsolete .d dependency files 2023-01-10 12:32:22 -05:00
30564ed8b7 import traditional build system updates and fixes from develop branch 2023-01-10 12:16:59 -05:00
f05bfe45a8 Synchronize GitHub related files and settings with develop branch 2023-01-10 11:50:49 -05:00
88c8b6ec6f Merge pull request #3460 from akohlmey/maintenance-2022-06-23
Second round of maintenance fixes and backports for the stable release
2022-11-03 12:21:59 -04:00
f01e28f574 add missing parts to ELECTRODE package docs for traditional make. sync with upstream. 2022-10-27 16:29:28 -04:00
96627d27b1 add support to detect the BuildID of Windows 10 22H2 2022-10-27 12:56:30 -04:00
b3fc574a6a use googletest aliased targets consistently 2022-10-26 22:46:31 -04:00
8a3f7560c9 drop special OpenMP flags from presets. Will be detected by FindOpenMP. 2022-10-26 22:46:21 -04:00
8406e92a9a downgrade KOKKOS OpenMP check to version 3.1
need to apply special exception for NVHPC/PGI compilers
2022-10-26 22:46:13 -04:00
3b376b4448 modernize OpenMP detection and check for omp.h in CMake 2022-10-26 22:46:03 -04:00
ca3b7be623 add compatibility to VTK version 9.0 and above 2022-10-24 16:25:25 -04:00
c825c52d2f update required version 2022-10-23 03:45:57 -04:00
0ea0e4ce59 modernize calls to access the list of fixes in the Modify class 2022-10-23 03:16:26 -04:00
d53d4b4d99 use inline insertion sort for short array 2022-10-23 03:16:13 -04:00
b37cd14dd1 avoid superfluous calls to utils::strdup and improve error messages 2022-10-23 03:15:58 -04:00
a921a6bdc1 silence compiler warning about not copying the final null byte 2022-10-23 03:15:47 -04:00
51a0345941 Update fix_bond_react.rst 2022-10-23 03:15:35 -04:00
8d70960e2d bond/react: create atoms error check
check that post-reaction template has 'Coords' section if it has 'CreateIDs' section
2022-10-23 03:15:12 -04:00
5661703b30 Update pair_threebody_table.cpp
Correcting for hard coded ntheta = 79 in the extreme case that theta is exactly equal to 180.0 degrees.
2022-10-23 03:13:50 -04:00
bc30304f72 update plumed package version to 2.8.1 2022-10-22 23:01:47 -04:00
c76da483fb must bootstrap centos 7 from dockerhub now 2022-10-22 22:59:52 -04:00
036a1e47d2 replace one more suffix 2022-10-22 22:28:35 -04:00
5430c3b592 add workaround for missing links to fortran functions in sphinx output 2022-10-21 19:01:31 -04:00
9b7cb8200c small sphinx tweaks. require sphinx 5.2 or later. 2022-10-21 19:01:24 -04:00
550eedbb1f make Linux behavior default for loading Python shared lib
This adds portability to platforms like FreeBSD
2022-10-21 15:52:26 -04:00
3a058f278d Python support in ML-IAP requires NumPy. Check for it if CMake supports it. 2022-10-21 15:50:08 -04:00
0f7f0b5f86 find cythonize executable on recent FreeBSD versions 2022-10-21 11:39:02 -04:00
3de7534b84 try to make more portable (in case this ever gets ported to windows) 2022-10-21 11:38:50 -04:00
7065462faf add md5sums for plumed 2.7.5 and 2.8.1, update default version to 2.8.1 2022-10-21 11:38:40 -04:00
2e9d8e1ccb preserve pair/only package setting during clear command 2022-10-19 14:50:27 -04:00
19b84f7cbd delete atomfile variables when using the clear command 2022-10-19 14:44:10 -04:00
9b7c445a15 include non-buffered flag 2022-10-19 14:44:04 -04:00
91e56444ce add CMake check that will refuse compilation of unit tests or skip tests
This is mainly because the default compilers on RHEL/CentOS 7.x are
not sufficient to compile googletest. Also some Fortran module test
requires a working F90 module and others are more recent Fortran compiler.
2022-10-17 18:12:21 -04:00
9b3c8c36bd update version 2022-10-14 21:35:16 -04:00
3403520967 Fix issue with KSpace slab correction energy with non-neutral systems 2022-10-11 16:37:45 -04:00
d8f969f1df update python package requirements for building the manual 2022-09-30 20:18:05 -04:00
3487deccb6 update broken URLs 2022-09-27 08:03:11 -04:00
0926fc627d step update counter 2022-09-25 09:04:45 -04:00
7999778d94 initialize sllod fixes consistently 2022-09-25 07:02:35 -04:00
b4ef4c1ff2 correct indentation 2022-09-25 07:02:35 -04:00
72b08e4b87 backport dump fixes from develop 2022-09-25 07:02:28 -04:00
faa64a84e8 bugfixes and updates to the DIELECTRIC package from upstream 2022-09-09 19:42:01 -04:00
32b67fff2b print an error if the filename before '*' is too long for the regex matcher 2022-09-07 21:06:19 -04:00
f3dbf4122d extend the length to which the regex matcher checks strings to 256 chars. 2022-09-07 20:47:16 -04:00
e25ac786da must apply bond/angle offsets when determining shake bond/angle types 2022-09-05 10:52:06 -04:00
f30fba0061 support paths with blanks and avoid race condition when updating potentials 2022-09-02 21:33:30 -04:00
03f319604f recover dump_modify every behavior 2022-08-31 17:26:09 -04:00
0782dab1ec properly initialize result storage for per-chunk arrays 2022-08-29 13:04:40 -04:00
c43cce54ab re-initialize neighbor lists at end to clear out the occasional list entry 2022-08-28 11:47:27 -04:00
281a368702 correct pair coeff mixing diagnostic for CLASS2 pair styles 2022-08-28 05:51:38 -04:00
f28d69b429 bugfix for writing data files with atom style dielectric 2022-08-19 16:18:38 -04:00
e674e0c927 correctly handle the case where there are no atoms in the fix group 2022-08-14 03:53:02 -04:00
eebabf99b8 adjust location of local ref targets for recent sphinx versions 2022-08-05 22:09:01 -04:00
23a19f4431 need new CSS hack to hide duplicate headers derived from the navigation bar 2022-08-05 21:46:38 -04:00
d618b0ffc0 Merge pull request #3324 from akohlmey/maintenance-2022-06-23
First round of maintenance fixes for the stable release
2022-08-05 16:57:43 -04:00
ffc71b8733 energy is not an array 2022-08-05 08:23:23 -04:00
564df78698 fix typo 2022-08-05 08:22:59 -04:00
8db0b5ca39 fix index copy-n-paste error 2022-08-05 08:22:09 -04:00
79e26fe829 correct bond style bpm/rotational example 2022-08-05 03:24:29 -04:00
523d4b0242 correct issues in fix adapt and fix adapt/fep related to using fix STORE 2022-08-04 10:19:26 -04:00
fe39a3e581 Documentation updates for simulations including dipoles 2022-08-03 16:47:29 -04:00
081cc1f992 clarification on what constituets single, double, and triple quotes. 2022-08-03 01:51:43 -04:00
53c80c2c00 match pow(0,0) = 1.0 behavior in powint() 2022-07-31 18:52:08 -04:00
554b64a147 avoid deprecation warning and update PyPy package requirements 2022-07-30 17:37:35 -04:00
dc08dba592 update embedded search box 2022-07-28 18:58:58 -04:00
0eaa2775cd document missing call 2022-07-27 22:13:33 -04:00
852673ce41 fix off-by-one bug 2022-07-27 21:44:22 -04:00
8c711e405a correct make command line example 2022-07-27 08:38:37 -04:00
25b9f95061 add check on extracting elements twice from the library to avoid opaque error later 2022-07-26 15:01:03 -04:00
ee66a6f8c1 correct formatting 2022-07-26 12:34:05 -04:00
b694a5f582 add reference 2022-07-26 12:33:57 -04:00
7ab3fce93f correct typos 2022-07-26 12:33:48 -04:00
1f9509cb6f strip off -pendantic-errors flag when compiling with nvcc_wrapper to fix error compiling ML-PACE 2022-07-18 14:00:53 -04:00
cad1d8ece4 correct unit tests for dump local 2022-07-17 12:16:01 -04:00
b709d75f80 add support for dump_modify colname to dump local 2022-07-17 11:52:15 -04:00
5839909061 fix cut-n-paste error and improve error message 2022-07-17 11:46:51 -04:00
30f374de58 clarify 2022-07-16 06:42:19 -04:00
0f9fec05fb disallow use of variable functions vdisplace(), swiggle(), and cwiggle() with fix dt/reset 2022-07-16 06:42:11 -04:00
972a86f0ec fix cut-n-paste typo 2022-07-15 19:06:14 -04:00
7338ebfc94 Update Errors_warnings.rst 2022-07-15 12:28:07 -04:00
7132152693 Update Errors_messages.rst 2022-07-15 12:27:57 -04:00
c9925f64f7 cosmetic changes, silence warnings, avoid temporary char buffers 2022-07-15 12:27:48 -04:00
6da523c8b8 very-small-templates bugfix 2022-07-15 12:27:36 -04:00
0522284589 bugfix: specials update corner case 2022-07-15 12:27:26 -04:00
e10a66dabc allow ramp(x,y) to be used in between runs (returning x) and avoid division by zero on run 0 2022-07-15 05:41:12 -04:00
51dd631a76 Fix bug in vtk dump 2022-07-15 04:29:54 -04:00
d37249787e work around issues with Intel compilers compiling the GPU package 2022-07-12 00:38:51 -04:00
f44841de69 update unit test 2022-07-07 10:32:47 -04:00
54c5337d2d apply clang-format 2022-07-07 10:32:32 -04:00
efb0e63bf6 correct force and energy for excluded pairs 2022-07-07 10:32:20 -04:00
13d78c3afa Update Kokkos version in CMake 2022-07-04 10:49:03 -04:00
f2910b1d9c Update Kokkos library in LAMMPS to v3.6.1 2022-07-04 10:48:51 -04:00
78b22a64aa formatting corrections and minor tweaks to the Argon viscosity howto 2022-07-01 09:27:43 -04:00
8bb1880c9d Fixed temperature in argon GK example 2022-07-01 09:27:36 -04:00
e7b36c7b90 make certain to switch to the expected source folder when building n2p2 lib 2022-07-01 05:49:07 -04:00
d7804e3770 MPI may need to include multiple folders (e.g. on Ubuntu with OpenMPI) 2022-06-30 23:53:57 -04:00
8d0f9695d2 update googletest to version 1.12.1 2022-06-30 14:57:22 -04:00
52b2e4f364 add Update 1 string to version info 2022-06-29 17:44:29 -04:00
41140149ea whitespace 2022-06-29 17:06:11 -04:00
85e556ac8f add more unit tests for boolean expressions 2022-06-29 17:05:37 -04:00
cd5437a7e2 fix bug in recent bugfix 2022-06-29 17:05:27 -04:00
00cc82ac94 update and expand unit tests for if() command boolean evaluation 2022-06-29 17:04:49 -04:00
20f87e3f1d change boolean = single string to an error 2022-06-29 17:04:34 -04:00
97e34f0667 better error strings 2022-06-29 17:04:23 -04:00
3e5da9b09a more consistency checks 2022-06-29 17:04:12 -04:00
a62fcca7a4 Boolean expression corner case 2022-06-29 17:04:01 -04:00
778d59fa6b whitespace 2022-06-29 05:19:10 -04:00
3833a85d7a Add missing grow to Kokkos unpack_exchange 2022-06-29 05:17:55 -04:00
6d961ab29f Fix small memory leak in SNAP 2022-06-29 05:17:46 -04:00
001824e0f6 Small tweaks 2022-06-29 05:17:36 -04:00
953d32f9b3 Prevent view bounds error when a proc has no atoms 2022-06-29 05:17:26 -04:00
edba922665 Add missing GPU <--> CPU data transfer in minimize Kokkos 2022-06-29 05:17:17 -04:00
53806d4601 Add more missing Kokkos data movement 2022-06-29 05:17:06 -04:00
67597722d5 intergrate references to dump cfg/uef into the dump command docs 2022-06-25 06:19:04 -04:00
337794a9e9 add crosscompiling with MPI support to plugins package 2022-06-24 06:52:08 -04:00
5f5fb895ff add "package" target to support building a windows installer with NSIS 2022-06-24 01:25:54 -04:00
0302d03bc6 must set thirdparty download URL variable for downloading MPICH4Win 2022-06-23 23:20:49 -04:00
0a4fef369f may check for MPI library Fortran support only if MPI is enabled 2022-06-23 15:57:54 -04:00
7d5fc356fe Merge pull request #3311 from akohlmey/next-stable-release
Update stable branch to next stable release
2022-06-22 17:33:34 -04:00
8103e5a18f Merge branch 'release' into next-stable-release 2022-06-22 16:29:19 -04:00
e5b56b67fe Merge branch 'next_patch_release' into next-stable-release 2022-06-21 09:00:40 -04:00
8ffb7e5f89 Merge branch 'collected-small-fixes' into next-stable-release 2022-06-21 09:00:31 -04:00
cb9ab48ce7 Merge branch 'develop' into next-stable-release 2022-06-21 09:00:12 -04:00
1ebb1cee40 Merge branch 'release' into next-stable-release 2022-06-02 21:49:47 -04:00
f0e7101bd2 Merge branch 'develop' into next-stable-release 2022-05-18 06:35:57 -04:00
6fd8b2b177 Merge pull request #3122 from akohlmey/maintenance-2021-09-29
Third round of maintenance fixes for the stable release
2022-03-24 14:20:52 -04:00
6edaf42b3d fix temperature initialization bug in KOKKOS nose-hoover code 2022-03-24 11:44:24 -04:00
79c047487d fix parallel execution bug for shell command 2022-03-24 07:38:44 -04:00
ac5acb9abf update threebody example 2022-03-24 07:31:02 -04:00
87fbbd3b13 small kokkos fixes from upstream 2022-03-24 07:18:24 -04:00
8ac0ec6473 Changes needed to compile LAMMPS with latest Kokkos develop 2022-03-24 06:09:03 -04:00
8acba74c4d correct input to load potential file from local folder 2022-03-22 22:32:39 -04:00
34bcbdf41d update extep potential file 2022-03-22 22:31:48 -04:00
d519ca0213 add missing reaxff files to purge list 2022-03-21 14:34:14 -04:00
a392e8dc09 accept infile with 0 lines, so we can create a template from the restart 2022-03-21 00:33:40 -04:00
a4d4f77bc2 run setup_bodies_dynamic() before processing infile in case that is not resetting all data 2022-03-21 00:32:49 -04:00
83a8f72d83 fix off-by-one bug when writing restart files for rigid bodies 2022-03-20 19:14:13 -04:00
3c54b56cfe update overlooked date stamp 2022-03-19 21:00:14 -04:00
ff1a08f148 fixes to CMake build for ML-QUIP package from upstream 2022-03-17 18:07:12 -04:00
5a53b0fc03 import python3 compatibility changes to tools/python from upstream 2022-03-16 13:24:53 -04:00
e550600ebe Error fixed. Epsilon and sigma must also be symmetric 2022-03-16 09:09:52 -04:00
7cb13be52a fix bug where it was not possible to use an absolute path for write_coeff 2022-03-16 09:08:47 -04:00
ab56d7ecd7 augment cmake library search path to include the CUDA stubs library folder
this will help configuring and compiling LAMMPS with CUDA support on
machines where there is no CUDA driver installed
2022-03-10 23:02:57 -05:00
bd6ac3ee6d for 2d systems, rigid bodies always have a moment of inertia and no DOFs need to be subtracted 2022-03-02 16:41:35 -05:00
27ca0a8f41 trigger building an "intel" style neighbor list so that buffers are allocated 2022-02-27 14:50:48 -05:00
f688b9b6b5 use consistent names, avoid memory leaks, fix off-by-1 error in fourier dihedral 2022-02-27 12:25:32 -05:00
16c61b3cc0 add support for plumed 2.6.5, 2.6.6, 2.7.3, 2.7.4, and 2.8.0 (default 2.7.4) 2022-02-25 16:37:00 -05:00
fb480f22fc make cythonize detection compatible with /bin/dash on ubunutu 2022-02-24 21:24:04 -05:00
d0507559a4 when updating ML-IAP due to adding/removing PYTHON we need to delete and re-add cythonize support 2022-02-24 20:40:55 -05:00
ali
58eb331b08 Python 3 compatibility for log commands in tools/python 2022-02-23 10:22:29 -05:00
c68015ca87 Bug fix for Intel package skip lists with multiple runs. 2022-02-18 05:11:34 -05:00
583c22d6e0 update tools/eam_database from upstream 2022-02-16 11:46:11 -05:00
58a4694d92 Remove incorrect error check in ReaxFF 2022-02-11 16:19:00 -05:00
97cf345528 don't allow exceptions to "escape" a destructor 2022-02-10 21:13:26 -05:00
0658abbdd4 silence possible warnings about missing files on "make clean-all" 2022-02-10 21:10:34 -05:00
72026a58bf make certain that "offset" is always initialized 2022-02-10 21:05:12 -05:00
7152231a10 plug memory leak 2022-02-10 20:56:51 -05:00
8fe8a667b6 update create.f with changes from NIST database
also add parameters for Cr and document in README file and change
the code to create output files with .eam.alloy extension
2022-02-10 20:45:16 -05:00
560c543e69 add extra communication of special neighbors when using angle constraints 2022-02-10 20:44:39 -05:00
c5e6650924 import bugfixes for crashes and memory leaks in MSM kspace style from develop 2022-02-10 20:36:35 -05:00
10373ea5c9 avoid failures with "most" presets 2022-02-10 20:11:00 -05:00
992b1cf582 label as update #3 2022-01-25 07:42:00 -05:00
1505f3de06 fix tag caching issue in INTEL package 2022-01-25 07:41:37 -05:00
566efe04f2 always fall back to using the .so extension if available in the LAMMPS module folder 2022-01-19 10:12:50 -05:00
7586adbb6a Merge pull request #3029 from akohlmey/maintenance-2021-09-29
Second round of maintenance fixes for the stable release
2022-01-06 19:58:51 -05:00
69d6ddccc5 create missing de,df table elements from linear extrapolation 2022-01-05 15:34:30 -05:00
5ae496dcef backport array dimension bugfix for NETCDF package in simplified form 2022-01-03 19:55:23 -05:00
bc5d742623 explain that the computed force in python pair is force/r same as in Pair:single() 2022-01-03 10:12:38 -05:00
882e699163 Incorporate bugfixes from issue #3074, a few additional cleanups 2022-01-03 10:11:18 -05:00
9c725d79d6 correct code example for current code 2022-01-01 16:42:28 -05:00
79fbf437a3 correct format string for Error::one() 2021-12-29 16:19:10 -05:00
d130aa4289 address segfault issue with fix nve/gpu when group is not "all" 2021-12-29 14:06:52 -05:00
5d8b83a251 backport GPU package build system updates from upstream 2021-12-27 20:30:43 -05:00
5a2548a83d have internal fix/compute ids include the fix id for fix reaxff/species
this allows using the fix multiple times
also remove code and warning that checks for multiple fix instances

# Conflicts:
#	src/REAXFF/fix_reaxff_species.cpp
2021-12-23 11:36:28 -05:00
a85b310e1f add missing fclose() 2021-12-23 11:28:24 -05:00
e51fd40547 correct names of the pack/unpack routines for forward communication 2021-12-09 18:33:13 -05:00
62f271658b correct setting forward/reverse buffer size info 2021-12-08 13:58:12 -05:00
0aa742934f correct docs for pair style local/density 2021-12-08 00:51:52 -05:00
a26a709a7b correct handling of data packing for forward and reverse communication 2021-12-08 00:51:52 -05:00
027293d285 whitespace 2021-11-24 15:47:05 -05:00
f7d049ac2d generate atom tags for newly created atoms, if tags are enabled. triclinic support. 2021-11-24 15:36:16 -05:00
ea0ff1c8f7 Update CMake utility function get_lammps_version()
With the introduction of LAMMPS_UPDATE, version.h is no longer a single line
file. With this change the CMake utility will only process the LAMMPS_VERSION
line. Fixes issue #3038
2021-11-23 10:44:40 -05:00
5c1bb5f13a Write dump header after sort to fix incorrect atom count for multiproc 2021-11-22 15:52:27 -05:00
24d9b4b611 Update lebedeva potential file and docs based on email on mailing list
https://matsci.org/t/lammps-users-webpage-and-parameter-file-for-the-lebedeva-potential/39059
2021-11-17 08:45:55 -05:00
a0e75c9006 correct unit description of eta_n0 parameters. fixes #3016 2021-11-17 08:38:09 -05:00
2435b953e1 increment update counter 2021-11-17 07:04:44 -05:00
c042e12323 clarifications and corrections for the discussion of the main git branches 2021-11-17 07:04:13 -05:00
e9efe46db9 update branch names 2021-11-17 07:03:56 -05:00
ecc14b7308 update documentation to refer to the new branch names (develop, release) 2021-11-17 07:03:27 -05:00
0152fe5cdf fix segfault when using atom style smd as part of a hybrid style
also remove redundant for clearing
2021-11-16 21:49:56 -05:00
892d17af22 plug memory leaks 2021-11-16 21:49:41 -05:00
2cca00203e Avoid file name collisions in dump unit tests
# Conflicts:
#	unittest/formats/test_dump_atom.cpp
2021-11-16 15:08:27 -05:00
9f4626a62a correct uninitialized data access bug due to shadowing of a base class member 2021-11-16 10:51:46 -05:00
e890a0b45e Merge pull request #2999 from akohlmey/maintenance-2021-09-29
Maintenance fixes for the stable release
2021-11-09 15:11:19 -05:00
68223f0385 mention that dump sorting is limited to less than 2 billion atoms 2021-11-07 08:31:15 -05:00
1291a88bff skip MPI tests if they would be oversubscribing the available processors 2021-11-07 08:30:19 -05:00
d9b687450a account for increased floating point errors when summing numbers to zero 2021-11-07 08:30:04 -05:00
bd950b37d7 change git:// protocol for accessing github to https:// protocol
https://github.blog/2021-09-01-improving-git-protocol-security-github/
2021-11-02 15:30:27 -04:00
21fcdf8c56 Fix bug in Kokkos neighborlist where stencil wasn't updated for occasional list 2021-11-02 13:17:28 -04:00
6b400fb4bf fix indexing bug 2021-10-31 16:19:17 -04:00
d982298ab2 update new LAMMPS paper citation info 2021-10-28 10:09:01 -04:00
765fd7f763 Use correct sizeof in memset 2021-10-27 17:46:37 -04:00
0325047c01 update a few GPU kernels so they can be compiled on GPUs without double precisions support 2021-10-21 07:34:05 -04:00
2dce8923ee more direct version of clearing out loaded plugins 2021-10-19 08:28:19 -04:00
8d1ba074be wipe out all loaded plugins before destroying the LAMMPS instance 2021-10-18 18:06:09 -04:00
4675a3b560 Only check for GPU double precision support if a GPU is present 2021-10-18 13:44:37 -04:00
8999b1f69f add a LAMMPS_UPDATE string define to signal updates to stable releases 2021-10-17 18:06:04 -04:00
6c2b19c11b Add support for an "Update #" appendix to the version string
This is for informative output only, so that any code depending
on the LAMMPS_VERSION define will not have to be changed and no
warnings will be printed etc.
2021-10-17 18:05:29 -04:00
a425334928 port dump vtk to correctly support custom per-atom arrays and fix some bugs 2021-10-17 11:00:33 -04:00
db2faf2789 fix bugs related to custom per-atom properties in dump style custom 2021-10-17 11:00:21 -04:00
fdbb7d0da4 Report only compatible GPU, i.e. no GPU if mixed/double precision is requested by the hardware does not support it 2021-10-15 20:26:47 -04:00
52cd99918f pppm kspace styles also require -DFFT_SINGLE when using GPUs in single precision 2021-10-15 20:24:47 -04:00
a3e6a95ffb allow single precision FFT introspection 2021-10-15 20:24:47 -04:00
5b65169997 correct expansion of fix/compute/variable arguments to avoid bogus thermo outpu 2021-10-15 20:23:57 -04:00
5f3bf69e30 plug memory leaks 2021-10-15 17:00:46 -04:00
507c02b9af must set define to "see" the lammps_open() library function 2021-10-09 10:21:31 -04:00
b7fe47ba48 Fix bugs and compilation issues in KOKKOS 2021-10-08 09:39:53 -04:00
7dfd11da4b re-freeze Sphinx and other pip installed packages for doc build
The change relative to the stable release fixes a bug with python 3.10 support
2021-10-05 10:52:34 -04:00
97ba95f30e fix a couple more bugs like in 5246cedda6 2021-10-05 10:39:03 -04:00
c1945b4ec9 Fix misplaced MPI calls bug in pair style drip 2021-10-04 07:12:50 -04:00
c4291a4b8e unfreeze versions of python packages used to build the documentation 2021-10-02 23:57:23 -04:00
5b5dfa86c5 also update eigen download for traditional build 2021-10-02 23:56:28 -04:00
3ca3f6959f update eigen3 to the latest release and move download to our own server 2021-10-02 22:55:06 -04:00
f7b7bfa406 Avoid assertions in PythonCapabilities check when using external KOKKOS 2021-10-01 12:05:59 -04:00
3d2f29c92d fix memory allocation bug causing memory corruption on 32-bit arches 2021-10-01 01:16:45 -04:00
3784 changed files with 467651 additions and 110617 deletions

6
.github/CODEOWNERS vendored
View File

@ -71,7 +71,10 @@ 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-DUMP/dump_extxyz.* @fxcoudert
src/EXTRA-FIX/fix_deform_pressure.* @jtclemm
src/EXTRA-PAIR/pair_dispersion_d3.* @soniasolomoni @arthurfl
src/EXTRA-PAIR/d3_parameters.h @soniasolomoni @arthurfl
src/MISC/*_tracker.* @jtclemm
src/MC/fix_gcmc.* @athomps
src/MC/fix_sgcmc.* @athomps
@ -101,7 +104,8 @@ src/group.* @sjplimp
src/improper.* @sjplimp
src/info.* @akohlmey
src/kspace.* @sjplimp
src/lmptyp.h @sjplimp
src/lmptype.h @sjplimp
src/label_map.* @jrgissing @akohlmey
src/library.* @sjplimp @akohlmey
src/main.cpp @sjplimp
src/min_*.* @sjplimp

370
.github/release_steps.md vendored Normal file
View File

@ -0,0 +1,370 @@
# LAMMPS Release Steps
The following notes chronicle the current steps for preparing and
publishing LAMMPS releases. For definitions of LAMMPS versions and
releases, please refer to [the corresponding section in the LAMMPS
manual](https://docs.lammps.org/Manual_version.html).
## LAMMPS Feature Release
A LAMMPS feature release is currently prepared after about 500 to 750
commits to the 'develop' branch or after a period of four weeks up to
two months. This is not a fixed rule, though, since external
circumstances can cause delays in preparing a release, or pull requests
that are desired to be merged for the release are not yet completed.
### Preparing a 'next\_release' branch
Create a 'next\_release' branch off 'develop' and make the following changes:
- set the LAMMPS\_VERSION define to the planned release date in
src/version.h in the format "D Mmm YYYY" or "DD Mmm YYYY"
- remove the LAMMPS\_UPDATE define in src/version.h
- update the release date in doc/lammps.1
- update all TBD arguments for ..versionadded::, ..versionchanged::
..deprecated:: to the planned release date in the format "DMmmYYYY" or
"DDMmmYYYY"
- check release notes for merged new features and check if
..versionadded:: or ..versionchanged:: are missing and need to be
added
Submit this pull request. This is the last pull request merged for the
release and should not contain any other changes. (Exceptions: this
document, last minute trivial(!) changes).
This PR shall not be merged before **all** pending tests have completed
and cleared. We currently use a mix of automated tests running on
either Temple's Jenkins cluster or GitHub workflows. Those include time
consuming tests not run on pull requests. If needed, a bug-fix pull
request should be created and merged to clear all tests.
### Create release on GitHub
When all pending pull requests for the release are merged and have
cleared testing, the 'next\_release' branch is merged into 'develop'.
Check out or update the 'develop' branch locally, pull the latest
changes, merge them into 'release' with a fast forward(!) merge, and
apply a suitable release tag (for historical reasons the tag starts with
"patch_" followed by the date, and finally push everything back to
GitHub. There should be no commits made to 'release' but only
fast forward merges. Example:
```
git checkout develop
git pull
git checkout release
git pull
git merge --ff-only develop
git tag -s -m "LAMMPS feature release 4 February 2025" patch_4Feb2025
git push git@github.com:lammps/lammps.git --tags develop release
```
Applying this tag will trigger two actions on the Temple Jenkins cluster:
- The online manual at https://docs.lammps.org/ will be updated to the
state of the 'release' branch. Merges to the 'develop' branch will
trigger updating https://docs.lammps.org/latest/ so by reviewing the
version of the manual under the "latest" URL, it is possible to preview
what the updated release documentation will look like.
- A downloadable tar archive of the LAMMPS distribution that includes the
html format documentation and a PDF of the manual will be created and
uploaded to the download server at https://download.lammps.org/tars
Note that the file is added, but the `index.html` file is not updated,
so it is not yet publicly visible.
Go to https://github.com/lammps/lammps/releases and create a new (draft)
release page with a summary of all the changes included and references
to the pull requests they were merged from or check the existing draft
for any necessary changes from pull requests that were merged but are
not listed. Then select the applied tag for the release in the "Choose
a tag" drop-down list. Go to the bottom of the list and select the "Set
as pre-release" checkbox. The "Set as the latest release" button is
reserved for stable releases and updates to them.
If everything is in order, you can click on the "Publish release"
button. Otherwise, click on "Save draft" and finish pending tasks until
you can return to edit the release page and publish it.
### Prepare pre-compiled packages, update packages to GitHub
A suitable build environment is provided with the
https://download.lammps.org/static/fedora41_musl_mingw.sif container
image. The corresponding container build definition file is maintained
in the tools/singularity folder of the LAMMPS source distribution.
#### Fully portable static Linux x86_64 non-MPI binaries
The following commands use the Fedora container to build a fully static
LAMMPS installation using a musl-libc cross-compiler, install it into a
`lammps-static` folder, and create a tarball called
`lammps-linux-x86_64-4Feb2025.tar.gz` (or using a corresponding date
with a future release) from the `lammps-static` folder.
``` sh
rm -rf release-packages
mkdir release-packages
cd release-packages
wget https://download.lammps.org/static/fedora41_musl_mingw.sif
apptainer shell fedora41_musl_mingw.sif
git clone -b release --depth 10 https://github.com/lammps/lammps.git lammps-release
cmake -S lammps-release/cmake -B build-release -G Ninja -D CMAKE_INSTALL_PREFIX=$PWD/lammps-static -D CMAKE_TOOLCHAIN_FILE=/usr/musl/share/cmake/linux-musl.cmake -C lammps-release/cmake/presets/most.cmake -C lammps-release/cmake/presets/kokkos-openmp.cmake -D DOWNLOAD_POTENTIALS=OFF -D BUILD_MPI=OFF -D BUILD_TESTING=OFF -D CMAKE_BUILD_TYPE=Release -D PKG_ATC=ON -D PKG_AWPMD=ON -D PKG_MANIFOLD=ON -D PKG_MESONT=ON -D PKG_MGPT=ON -D PKG_ML-PACE=ON -D PKG_ML-RANN=ON -D PKG_MOLFILE=ON -D PKG_PTM=ON -D PKG_QTB=ON -D PKG_SMTBQ=ON
cmake --build build-release --target all
cmake --build build-release --target install
/usr/musl/bin/x86_64-linux-musl-strip -g lammps-static/bin/*
tar -czvvf ../lammps-linux-x86_64-4Feb2025.tar.gz lammps-static
exit # fedora 41 container
cd ..
```
The resulting tar archive can be uploaded to the GitHub release page with:
``` sh
gh release upload patch_4Feb2025 lammps-linux-x86_64-4Feb2025.tar.gz
```
#### Linux x86_64 Flatpak bundle with GUI included
Make sure you have the `flatpak` and `flatpak-builder` packages
installed locally (they require binaries that run with elevated
privileges and thus cannot be used from the container) and build a
LAMMPS and LAMMPS-GUI flatpak bundle in the `release-packages` folder
with:
``` sh
cd release-packages
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak-builder --force-clean --verbose --repo=$PWD/flatpak-repo --install-deps-from=flathub --state-dir=$PWD --user --ccache --default-branch=release flatpak-build lammps-release/tools/lammps-gui/org.lammps.lammps-gui.yml
flatpak build-bundle --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo --verbose $PWD/flatpak-repo ../LAMMPS-Linux-x86_64-GUI-4Feb2025.flatpak org.lammps.lammps-gui release
cd ..
```
The resulting flatpak bundle file can be uploaded to the GitHub release page with:
``` sh
gh release upload patch_4Feb2025 LAMMPS-Linux-x86_64-GUI-4Feb2025.flatpak
```
#### LAMMPS Source tarball
The container for the static binary can also be used to prepare the source
tarball including the HTML and PDF manual (this is currently done automatically
when the releases is created and the tarball uploaded to https://download.lammps.org/tars/).
The steps are as follows:
``` sh
cd release-packages
apptainer shell fedora41_musl_mingw.sif
cd lammps-release
rm -f ../release.tar*
git archive --output=../release.tar --prefix=lammps-4Feb2025/ HEAD
cd doc
make clean-all
make html pdf
tar -rf ../../release.tar --transform 's,^,lammps-4Feb2025/doc/,' html Manual.pdf
gzip -9v ../../release.tar
mv ../../release.tar.gz ../../lammps-src-4Feb2025.tar.gz
exit # fedora41 container
cd ..
```
The resulting source tarball can be uploaded to the GitHub release page with:
``` sh
gh release upload patch_4Feb2025 lammps-src-4Feb2025.tar.gz
```
#### Build Windows Installer Packages with MinGW Linux-to-Windows Cross-compiler
The various Windows installer packages can also be built with
apptainer container image.
``` sh
cd release-packages
apptainer shell fedora41_musl_mingw.sif
git clone --depth 10 https://github.com/lammps/lammps-packages.git lammps-packages
cd lammps-packages/mingw-cross
ln -sf ../../lammps-release lammps
./buildall.sh release >& mk.log & less +F mk.log
```
The installer with the GUI included can be uploaded to the GitHub release page with:
``` sh
ln -sf LAMMPS-64bit-GUI-4Feb2025.exe LAMMPS-Win10-64bit-GUI-4Feb2025.exe
gh release upload patch_4Feb2025 LAMMPS-Win10-64bit-GUI-4Feb2025.exe
```
The symbolic link is used to have a consistent naming scheme for the packages
attached to the GitHub release page.
#### Clean up:
``` sh
cd ..
rm -r release-packages
```
#### Build Multi-arch App-bundle with GUI for macOS
Building app-bundles for macOS is not as easily automated and portable
as some of the other steps. It requires a machine actually running
macOS. In that machine the Xcode compiler package needs to be
installed. This also includes tools for building and manipulating disk
images. This compiler supports building executables for both, the
x86_64 and the arm64 architectures. This requires building with CMake
and using the CMake settings:
``` sh
-D CMAKE_OSX_ARCHITECTURES=arm64;x86_64
-D CMAKE_OSX_DEPLOYMENT_TARGET=11.0
```
This will add the compiler flags `-arch arm64 -arch x86_64
-mmacosx-version-min=11.0` and thus produce object for both
architectures and support for macOS versions back to version 11 (aka Big
Sur). With these settings the following libraries should be compiled
and installed (e.g. to `$HOME/.local`) as static libraries only:
- libomp taken from the LLVM/Clang source distribution (to support OpenMP)
- jpeg
- zlib
- png
- Qt (for LAMMPS-GUI)
When configuring LAMMPS the `cmake/presets/clang.cmake` should be used
and as many packages as possible enabled. For LAMMPS-GUI, MPI should be
disabled with `-D BUILD_MPI=OFF` and LAMMPS-GUI enabled with
`-D BUILD_LAMMPS_GUI=ON`. If the CMake configuration is successful,
settings for building a macOS app-bundle are enabled and with `cmake
--build build --target dmg` extra steps will be executed that will build
a macOS application installer image under the name
`LAMMPS_GUI-macOS-multiarch-4Feb2025.dmg`
The application image can be uploaded to the GitHub release page with:
``` sh
ln -sf LAMMPS_GUI-macOS-multiarch-4Feb2025.dmg LAMMPS-macOS-multiarch-GUI-4Feb2025.dmg
gh release upload patch_4Feb2025 LAMMPS-macOS-multiarch-GUI-4Feb2025.dmg
```
The symbolic link is used to have a consistent naming scheme for the packages
attached to the GitHub release page.
We are currently building the application images on macOS 12 (aka Monterey).
#### Build Linux x86_64 binary tarball with GUI on Ubuntu 20.04LTS
While the flatpak Linux version uses portable runtime libraries provided
by the flatpak environment, we also build regular Linux executables that
use a wrapper script and matching shared libraries in a tarball. To be
compatible with many Linux distributions, one has to build this on a
very old Linux distribution, since most Linux system libraries are
usually backward compatible but not forward compatible. This is
currently done on an Ubuntu 20.04LTS system. Once LAMMPS moves to
require CMake 3.20 and C++17, we will have to move to Ubuntu 22.04LTS.
This installation (either on a real or a virtual machine) should have
the packages installed that are indicated in
`tools/singularity/ubuntu20.04.def` plus Qt version 5.x with development
headers, so that LAMMPS-GUI can be compiled.
Also the building of the binary tarball and setup of the bundled
libraries and wrapper scripts is automated and can executed with `cmake
--build build --target tgz`. This should produce a file
`LAMMPS_GUI-Linux-amd64-4Feb2025.tar.gz` which can be uploaded to the
GitHub release page with:
``` sh
ln -sf LAMMPS_GUI-Linux-amd64-4Feb2025.tar.gz LAMMPS-Linux-x86_64-GUI-4Feb2025.tar.gz
gh release upload patch_4Feb2025 LAMMPS-Linux-x86_64-GUI-4Feb2025.tar.gz
```
### Update download page on LAMMPS website
Check out the LAMMPS website repo
https://github.com/lammps/lammps-website.git and edit the file
`src/download.txt` for the new release. Test translation with `make
html` and review `html/download.html` Then add and commit to git and
push the changes to GitHub. The Temple Jenkis cluster will
automatically update https://www.lammps.org/download.html accordingly.
Also notify Steve of the release so he can update `src/bug.txt` on the
website from the available release notes.
## LAMMPS Stable Release
A LAMMPS stable release is prepared about once per year in the months
July, August, or September. One (or two, if needed) feature releases
before the stable release shall contain only bug fixes or minor feature
updates in optional packages. Also substantial changes to the core of
the code shall be applied rather toward the beginning of a development
cycle between two stable releases than toward the end. The intention is
to stablilize significant change to the core and have outside users and
developers try them out during the development cycle; the sooner the
changes are included, the better chances for spotting peripheral bugs
and issues.
### Prerequesites
Before making a stable release all remaining backported bugfixes shall
be released as a (final) stable update release (see below).
A LAMMPS stable release process starts like a feature release (see
above), only that this feature release is called a "Stable Release
Candidate" and no assets are uploaded to GitHub.
### Synchronize 'maintenance' branch with 'release'
The state of the 'release' branch is then transferred to the
'maintenance' branch (which will have diverged significantly from
'release' due to the selectively backported bug fixes).
### Fast-forward merge of 'maintenance' into 'stable' and apply tag
At this point it should be possible to do a fast-forward merge of
'maintenance' to 'stable' and then apply the stable\_DMmmYYYY tag.
### Push branches and tags
## LAMMPS Stable Update Release
After making a stable release, bugfixes from the 'develop' branch
are selectively backported to the 'maintenance' branch. This is
done with "git cherry-pick \<commit hash\>' wherever possible.
The LAMMPS\_UPDATE define in "src/version.h" is set to "Maintenance".
### Prerequesites
When a sufficient number of bugfixes has accumulated or an urgent
or important bugfix needs to be distributed a new stable update
release is made. To make this publicly visible a pull request
is submitted that will merge 'maintenance' into 'stable'. Before
merging, set LAMMPS\_UPDATE in "src/version.h" to "Update #" with
"#" indicating the update count (1, 2, and so on).
Also draft suitable release notes under https://github.com/lammps/lammps/releases
### Fast-forward merge of 'maintenance' into 'stable', apply tag, and publish
Do a fast-forward merge of 'maintenance' to 'stable' and then
apply the stable\_DMmmYYYY\_update# tag and push branch and tag
to GitHub. The corresponding pull request will be automatically
closed. Example:
```
git checkout maintenance
git pull
git checkout stable
git pull
git merge --ff-only maintenance
git tag -s -m 'Update 2 for Stable LAMMPS version 29 August 2024' stable_29Aug2024_update2
git push git@github.com:lammps/lammps.git --tags maintenance stable
```
Associate draft release notes with new tag and publish as "latest release".
On https://ci.lammps.org/ go to "dev", "stable" and manually execute
the "update\_release" task. This will update https://docs.lammps.org/stable
and prepare a stable tarball.
### Build and upload binary packages and source tarball to GitHub
The build procedure is the same as for the feature releases, only
that packages are built from the 'stable' branch.

103
.github/workflows/check-cpp23.yml vendored Normal file
View File

@ -0,0 +1,103 @@
# GitHub action to build LAMMPS on Linux with gcc or clang and C++23
name: "Check for C++23 Compatibility"
on:
push:
branches:
- develop
pull_request:
branches:
- develop
workflow_dispatch:
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{github.event_name == 'pull_request'}}
jobs:
build:
name: Build with C++23 support enabled
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: ubuntu-latest
strategy:
max-parallel: 2
matrix:
idx: [ gcc, clang ]
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Install extra packages
run: |
sudo apt-get update
sudo apt-get install -y ccache \
clang \
libcurl4-openssl-dev \
libeigen3-dev \
libfftw3-dev \
libomp-dev \
mold \
mpi-default-bin \
mpi-default-dev \
ninja-build \
python3-dev
- name: Create Build Environment
run: mkdir build
- name: Set up ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: linux-cpp23-ccache-${{ matrix.idx }}-${{ github.sha }}
restore-keys: linux-cpp23-ccache-${{ matrix.idx }}
- name: Building LAMMPS via CMake
shell: bash
run: |
ccache -z
python3 -m venv linuxenv
source linuxenv/bin/activate
python3 -m pip install numpy
python3 -m pip install pyyaml
cmake -S cmake -B build \
-C cmake/presets/most.cmake \
-C cmake/presets/kokkos-openmp.cmake \
-C cmake/presets/${{ matrix.idx }}.cmake \
-D CMAKE_CXX_STANDARD=23 \
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
-D CMAKE_C_COMPILER_LAUNCHER=ccache \
-D CMAKE_BUILD_TYPE=Debug \
-D CMAKE_CXX_FLAGS_DEBUG="-Og -g" \
-D DOWNLOAD_POTENTIALS=off \
-D FFT=KISS \
-D BUILD_MPI=on \
-D BUILD_SHARED_LIBS=on \
-D BUILD_TOOLS=off \
-D ENABLE_TESTING=off \
-D MLIAP_ENABLE_ACE=on \
-D MLIAP_ENABLE_PYTHON=off \
-D PKG_AWPMD=on \
-D PKG_GPU=on \
-D GPU_API=opencl \
-D PKG_KOKKOS=on \
-D PKG_LATBOLTZ=on \
-D PKG_MDI=on \
-D PKG_MANIFOLD=on \
-D PKG_ML-PACE=on \
-D PKG_ML-RANN=off \
-D PKG_MOLFILE=on \
-D PKG_RHEO=on \
-D PKG_PTM=on \
-D PKG_PYTHON=on \
-D PKG_QTB=on \
-D PKG_SMTBQ=on \
-G Ninja
cmake --build build
ccache -s

View File

@ -27,9 +27,9 @@ jobs:
- name: Install extra packages
run: |
sudo apt-get update
sudo apt-get install -y ccache \
libeigen3-dev \
libgsl-dev \
libcurl4-openssl-dev \
mold \
mpi-default-bin \
@ -77,7 +77,7 @@ jobs:
-D PKG_MDI=on \
-D PKG_MANIFOLD=on \
-D PKG_ML-PACE=on \
-D PKG_ML-RANN=off \
-D PKG_ML-RANN=on \
-D PKG_MOLFILE=on \
-D PKG_RHEO=on \
-D PKG_PTM=on \

View File

@ -1,4 +1,4 @@
# GitHub action to build LAMMPS on Windows with Visual C++
# GitHub action to test LAMMPS on Windows with Visual C++
name: "Windows Unit Tests"
on:
@ -11,6 +11,10 @@ on:
workflow_dispatch:
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{github.event_name == 'pull_request'}}
jobs:
build:
name: Windows Compilation Test

View File

@ -67,7 +67,6 @@ jobs:
-D PKG_MANIFOLD=on \
-D PKG_MDI=on \
-D PKG_MGPT=on \
-D PKG_ML-PACE=on \
-D PKG_ML-RANN=on \
-D PKG_MOLFILE=on \
-D PKG_NETCDF=on \

109
.github/workflows/full-regression.yml vendored Normal file
View File

@ -0,0 +1,109 @@
# GitHub action to build LAMMPS on Linux and run regression tests
name: "Full Regression Test"
on:
push:
branches:
- develop
workflow_dispatch:
jobs:
build:
name: Build LAMMPS
# restrict to official LAMMPS repository
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: ubuntu-latest
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
strategy:
max-parallel: 8
matrix:
idx: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
show-progress: false
- name: Install extra packages
run: |
sudo apt-get update
sudo apt-get install -y ccache ninja-build libeigen3-dev \
libcurl4-openssl-dev python3-dev \
mpi-default-bin mpi-default-dev
- name: Create Build Environment
run: mkdir build
- name: Set up ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: linux-full-ccache-${{ github.sha }}
restore-keys: linux-full-ccache-
- name: Building LAMMPS via CMake
shell: bash
run: |
ccache -z
python3 -m venv linuxenv
source linuxenv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install numpy pyyaml junit_xml
cmake -S cmake -B build \
-C cmake/presets/gcc.cmake \
-C cmake/presets/most.cmake \
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
-D CMAKE_C_COMPILER_LAUNCHER=ccache \
-D BUILD_SHARED_LIBS=off \
-D DOWNLOAD_POTENTIALS=off \
-D PKG_MANIFOLD=on \
-D PKG_ML-PACE=on \
-D PKG_ML-RANN=on \
-D PKG_RHEO=on \
-D PKG_PTM=on \
-D PKG_PYTHON=on \
-D PKG_QTB=on \
-D PKG_SMTBQ=on \
-G Ninja
cmake --build build
ccache -s
- name: Run Full Regression Tests
shell: bash
run: |
source linuxenv/bin/activate
python3 tools/regression-tests/run_tests.py \
--lmp-bin=build/lmp \
--config-file=tools/regression-tests/config_serial.yaml \
--examples-top-level=examples --analyze --num-workers=8
python3 tools/regression-tests/run_tests.py \
--lmp-bin=build/lmp \
--config-file=tools/regression-tests/config_serial.yaml \
--list-input=input-list-${{ matrix.idx }}.txt \
--output-file=output-${{ matrix.idx }}.xml \
--progress-file=progress-${{ matrix.idx }}.yaml \
--log-file=run-${{ matrix.idx }}.log
tar -cvf full-regression-test-${{ matrix.idx }}.tar run-${{ matrix.idx }}.log progress-${{ matrix.idx }}.yaml output-${{ matrix.idx }}.xml
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: full-regression-test-artifact-${{ matrix.idx }}
path: full-regression-test-${{ matrix.idx }}.tar
merge:
runs-on: ubuntu-latest
needs: build
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
with:
name: merged-full-regresssion-artifact
pattern: full-regression-test-artifact-*

126
.github/workflows/kokkos-regression.yaml vendored Normal file
View File

@ -0,0 +1,126 @@
# GitHub action to build LAMMPS on Linux and run selected regression tests
name: "Kokkos OpenMP Regression Test"
on:
push:
branches:
- develop
workflow_dispatch:
jobs:
build:
name: Build LAMMPS with Kokkos OpenMP
# restrict to official LAMMPS repository
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: ubuntu-latest
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
strategy:
max-parallel: 6
matrix:
idx: [ 'pair-0', 'pair-1', 'fix-0', 'fix-1', 'compute', 'misc' ]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
show-progress: false
- name: Install extra packages
run: |
sudo apt-get update
sudo apt-get install -y ccache ninja-build libeigen3-dev \
libcurl4-openssl-dev python3-dev \
mpi-default-bin mpi-default-dev
- name: Create Build Environment
run: mkdir build
- name: Set up ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: linux-kokkos-ccache-${{ github.sha }}
restore-keys: linux-kokkos-ccache-
- name: Building LAMMPS via CMake
shell: bash
run: |
ccache -z
python3 -m venv linuxenv
source linuxenv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install numpy pyyaml junit_xml
cmake -S cmake -B build \
-C cmake/presets/gcc.cmake \
-C cmake/presets/basic.cmake \
-C cmake/presets/kokkos-openmp.cmake \
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
-D CMAKE_C_COMPILER_LAUNCHER=ccache \
-D BUILD_SHARED_LIBS=off \
-D DOWNLOAD_POTENTIALS=off \
-D PKG_AMOEBA=on \
-D PKG_ASPHERE=on \
-D PKG_BROWNIAN=on \
-D PKG_CLASS2=on \
-D PKG_COLLOID=on \
-D PKG_CORESHELL=on \
-D PKG_DIPOLE=on \
-D PKG_DPD-BASIC=on \
-D PKG_EXTRA-COMPUTE=on \
-D PKG_EXTRA-FIX=on \
-D PKG_EXTRA-MOLECULE=on \
-D PKG_EXTRA-PAIR=on \
-D PKG_GRANULAR=on \
-D PKG_LEPTON=on \
-D PKG_MC=on \
-D PKG_MEAM=on \
-D PKG_POEMS=on \
-D PKG_PYTHON=on \
-D PKG_QEQ=on \
-D PKG_REAXFF=on \
-D PKG_REPLICA=on \
-D PKG_SRD=on \
-D PKG_SPH=on \
-D PKG_VORONOI=on \
-G Ninja
cmake --build build
ccache -s
- name: Run Regression Tests for Selected Examples
shell: bash
run: |
source linuxenv/bin/activate
python3 tools/regression-tests/get_kokkos_input.py \
--examples-top-level=examples --batch-size=50 \
--filter-out="balance;fire;gcmc;granregion;hyper;mc;mdi;mliap;neb;pace;prd;pour;python;rigid;snap;streitz;shear;ttm"
export OMP_PROC_BIND=false
python3 tools/regression-tests/run_tests.py \
--lmp-bin=build/lmp \
--config-file=tools/regression-tests/config_kokkos_openmp.yaml \
--list-input=input-list-${{ matrix.idx }}-kk.txt \
--output-file=output-${{ matrix.idx }}.xml \
--progress-file=progress-${{ matrix.idx }}.yaml \
--log-file=run-${{ matrix.idx }}.log \
--quick-max=100
tar -cvf kokkos-regression-test-${{ matrix.idx }}.tar run-${{ matrix.idx }}.log progress-${{ matrix.idx }}.yaml output-${{ matrix.idx }}.xml
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: kokkos-regression-test-artifact-${{ matrix.idx }}
path: kokkos-regression-test-${{ matrix.idx }}.tar
merge:
runs-on: ubuntu-latest
needs: build
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
with:
name: merged-kokkos-regresssion-artifact
pattern: kokkos-regression-test-artifact-*

View File

@ -0,0 +1,53 @@
# GitHub action to build LAMMPS-GUI as a flatpak bundle
name: "Build LAMMPS-GUI as flatpak bundle"
on:
push:
branches:
- develop
workflow_dispatch:
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{github.event_name == 'pull_request'}}
jobs:
build:
name: LAMMPS-GUI flatpak build
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Install extra packages
run: |
sudo apt-get update
sudo apt-get install -y ccache \
libeigen3-dev \
libcurl4-openssl-dev \
mold \
ninja-build \
python3-dev \
flatpak \
flatpak-builder
- name: Set up access to flatpak repo
run: flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
- name: Build flatpak
run: |
mkdir flatpack-state
sed -i -e 's/branch:.*/branch: develop/' tools/lammps-gui/org.lammps.lammps-gui.yml
flatpak-builder --force-clean --verbose --repo=flatpak-repo \
--install-deps-from=flathub --state-dir=flatpak-state \
--user --ccache --default-branch=${{ github.ref_name }} \
flatpak-build tools/lammps-gui/org.lammps.lammps-gui.yml
flatpak build-bundle --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo \
--verbose flatpak-repo LAMMPS-Linux-x86_64-GUI.flatpak \
org.lammps.lammps-gui ${{ github.ref_name }}
flatpak install -y -v --user LAMMPS-Linux-x86_64-GUI.flatpak

118
.github/workflows/quick-regression.yml vendored Normal file
View File

@ -0,0 +1,118 @@
# GitHub action to build LAMMPS on Linux and run selected regression tests
name: "Quick Regression Test"
on:
pull_request:
branches:
- develop
workflow_dispatch:
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{github.event_name == 'pull_request'}}
jobs:
build:
name: Build LAMMPS
# restrict to official LAMMPS repository
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: ubuntu-latest
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
strategy:
max-parallel: 4
matrix:
idx: [ 0, 1, 2, 3 ]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
show-progress: false
- name: Install extra packages
run: |
sudo apt-get update
sudo apt-get install -y ccache ninja-build libeigen3-dev \
libcurl4-openssl-dev python3-dev \
mpi-default-bin mpi-default-dev
- name: Create Build Environment
run: mkdir build
- name: Set up ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: linux-quick-ccache-${{ github.sha }}
restore-keys: linux-quick-ccache-
- name: Building LAMMPS via CMake
shell: bash
run: |
ccache -z
python3 -m venv linuxenv
source linuxenv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install numpy pyyaml junit_xml
cmake -S cmake -B build \
-C cmake/presets/gcc.cmake \
-C cmake/presets/most.cmake \
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
-D CMAKE_C_COMPILER_LAUNCHER=ccache \
-D BUILD_SHARED_LIBS=off \
-D DOWNLOAD_POTENTIALS=off \
-D PKG_MANIFOLD=on \
-D PKG_ML-PACE=on \
-D PKG_ML-RANN=on \
-D PKG_RHEO=on \
-D PKG_PTM=on \
-D PKG_PYTHON=on \
-D PKG_QTB=on \
-D PKG_SMTBQ=on \
-G Ninja
cmake --build build
ccache -s
- name: Run Regression Tests for Modified Styles
shell: bash
run: |
source linuxenv/bin/activate
python3 tools/regression-tests/run_tests.py \
--lmp-bin=build/lmp \
--config-file=tools/regression-tests/config_quick.yaml \
--examples-top-level=examples \
--quick-reference=tools/regression-tests/reference.yaml \
--quick --quick-branch=origin/develop --quick-max=100 --num-workers=4
if [ -f input-list-${{ matrix.idx }}.txt ]
then \
python3 tools/regression-tests/run_tests.py \
--lmp-bin=build/lmp \
--config-file=tools/regression-tests/config_quick.yaml \
--list-input=input-list-${{ matrix.idx }}.txt \
--output-file=output-${{ matrix.idx }}.xml \
--progress-file=progress-${{ matrix.idx }}.yaml \
--log-file=run-${{ matrix.idx }}.log
fi
tar -cvf quick-regression-test-${{ matrix.idx }}.tar run-${{ matrix.idx }}.log progress-${{ matrix.idx }}.yaml output-${{ matrix.idx }}.xml
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: quick-regression-test-artifact-${{ matrix.idx }}
path: quick-regression-test-${{ matrix.idx }}.tar
merge:
runs-on: ubuntu-latest
needs: build
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
with:
name: merged-quick-regresssion-artifact
pattern: quick-regression-test-artifact-*

38
.github/workflows/style-check.yml vendored Normal file
View File

@ -0,0 +1,38 @@
# GitHub action to run checks from tools/coding_standard
name: "Check for Programming Style Conformance"
on:
push:
branches:
- develop
pull_request:
branches:
- develop
workflow_dispatch:
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{github.event_name == 'pull_request'}}
jobs:
build:
name: Programming Style Conformance
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Tests
working-directory: src
shell: bash
run: |
make check-whitespace
make check-permissions
make check-homepage
make check-errordocs
make check-fmtlib

81
.github/workflows/unittest-arm64.yml vendored Normal file
View File

@ -0,0 +1,81 @@
# GitHub action to build LAMMPS on Linux with ARM64 and run standard unit tests
name: "Unittest for Linux on ARM64"
on:
push:
branches: [develop]
workflow_dispatch:
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{github.event_name == 'pull_request'}}
jobs:
build:
name: Linux ARM64 Unit Test
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: ubuntu-22.04-arm
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Install extra packages
run: |
sudo apt-get update
sudo apt-get install -y ccache \
libeigen3-dev \
libcurl4-openssl-dev \
mold \
ninja-build \
python3-dev
- name: Create Build Environment
run: mkdir build
- name: Set up ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: linux-unit-ccache-${{ github.sha }}
restore-keys: linux-unit-ccache-
- name: Building LAMMPS via CMake
shell: bash
run: |
ccache -z
python3 -m venv linuxenv
source linuxenv/bin/activate
python3 -m pip install numpy
python3 -m pip install pyyaml
cmake -S cmake -B build \
-C cmake/presets/gcc.cmake \
-C cmake/presets/most.cmake \
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
-D CMAKE_C_COMPILER_LAUNCHER=ccache \
-D BUILD_SHARED_LIBS=on \
-D DOWNLOAD_POTENTIALS=off \
-D ENABLE_TESTING=on \
-D MLIAP_ENABLE_ACE=on \
-D MLIAP_ENABLE_PYTHON=off \
-D PKG_MANIFOLD=on \
-D PKG_ML-PACE=on \
-D PKG_ML-RANN=on \
-D PKG_RHEO=on \
-D PKG_PTM=on \
-D PKG_PYTHON=on \
-D PKG_QTB=on \
-D PKG_SMTBQ=on \
-G Ninja
cmake --build build
ccache -s
- name: Run Tests
working-directory: build
shell: bash
run: ctest -V -LE unstable

View File

@ -11,6 +11,10 @@ on:
workflow_dispatch:
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{github.event_name == 'pull_request'}}
jobs:
build:
name: Linux Unit Test
@ -27,9 +31,9 @@ jobs:
- name: Install extra packages
run: |
sudo apt-get update
sudo apt-get install -y ccache \
libeigen3-dev \
libgsl-dev \
libcurl4-openssl-dev \
mold \
ninja-build \

View File

@ -11,6 +11,10 @@ on:
workflow_dispatch:
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{github.event_name == 'pull_request'}}
jobs:
build:
name: MacOS Unit Test

16
README
View File

@ -23,17 +23,21 @@ more information about the code and its uses.
The LAMMPS distribution includes the following files and directories:
README this file
LICENSE the GNU General Public License (GPL)
bench benchmark problems
LICENSE the GNU General Public License (GPLv2)
CITATION.cff Citation information for LAMMPS in CFF format
bench benchmark inputs
cmake CMake build files
doc documentation
examples simple test problems
fortran Fortran wrapper for LAMMPS
examples example inputs for many LAMMPS commands
fortran Fortran 2003 module for LAMMPS
lib additional provided or external libraries
potentials interatomic potential files
python Python wrappers for LAMMPS
python Python module for LAMMPS
src source files
third_party Copies of thirdparty software bundled with LAMMPS
tools pre- and post-processing tools
unittest test programs for use with CTest
.github Git and GitHub related files and tools
Point your browser at any of these files to get started:
@ -42,6 +46,8 @@ https://docs.lammps.org/Intro.html hi-level introduction
https://docs.lammps.org/Build.html how to build LAMMPS
https://docs.lammps.org/Run_head.html how to run LAMMPS
https://docs.lammps.org/Commands_all.html Table of available commands
https://docs.lammps.org/Howto.html Short tutorials and HowTo discussions
https://docs.lammps.org/Errors.html How to interpret and debug errors
https://docs.lammps.org/Library.html LAMMPS library interfaces
https://docs.lammps.org/Modify.html how to modify and extend LAMMPS
https://docs.lammps.org/Developer.html LAMMPS developer info

View File

@ -4,6 +4,10 @@
# This file is part of LAMMPS
cmake_minimum_required(VERSION 3.16)
########################################
# initialize version variables with project command
if(POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
endif()
# set policy to silence warnings about ignoring <PackageName>_ROOT but use it
if(POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
@ -24,7 +28,10 @@ endif()
########################################
project(lammps CXX)
project(lammps
DESCRIPTION "The LAMMPS Molecular Dynamics Simulator"
HOMEPAGE_URL "https://www.lammps.org"
LANGUAGES CXX C)
set(SOVERSION 0)
get_property(BUILD_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
@ -41,6 +48,7 @@ set(LAMMPS_DOC_DIR ${LAMMPS_DIR}/doc)
set(LAMMPS_TOOLS_DIR ${LAMMPS_DIR}/tools)
set(LAMMPS_PYTHON_DIR ${LAMMPS_DIR}/python)
set(LAMMPS_POTENTIALS_DIR ${LAMMPS_DIR}/potentials)
set(LAMMPS_THIRDPARTY_DIR ${LAMMPS_DIR}/third_party)
set(LAMMPS_DOWNLOADS_URL "https://download.lammps.org" CACHE STRING "Base URL for LAMMPS downloads")
set(LAMMPS_POTENTIALS_URL "${LAMMPS_DOWNLOADS_URL}/potentials")
@ -102,51 +110,45 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Qrestrict")
endif()
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
set(CMAKE_TUNE_DEFAULT "/QxCOMMON-AVX512")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /QxCOMMON-AVX512")
else()
set(CMAKE_TUNE_DEFAULT "/QxHost")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /QxHost")
endif()
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict")
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xCOMMON-AVX512")
else()
set(CMAKE_TUNE_DEFAULT "-xHost -fp-model fast=2 -no-prec-div -qoverride-limits -diag-disable=10441 -diag-disable=11074 -diag-disable=11076 -diag-disable=2196")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xHost -fp-model fast=2 -no-prec-div -qoverride-limits -diag-disable=10441 -diag-disable=11074 -diag-disable=11076 -diag-disable=2196")
endif()
endif()
endif()
# silence excessive warnings for new Intel Compilers
if(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
set(CMAKE_TUNE_DEFAULT "-Wno-tautological-constant-compare -Wno-unused-command-line-argument")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fp-model precise -Wno-tautological-constant-compare -Wno-unused-command-line-argument")
endif()
# silence excessive warnings for PGI/NVHPC compilers
if((CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC") OR (CMAKE_CXX_COMPILER_ID STREQUAL "PGI"))
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()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Minform=severe")
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")
if((PKG_KOKKOS) AND (Kokkos_ENABLE_CUDA) AND NOT
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
OR (CMAKE_CXX_COMPILER_ID STREQUAL "XLClang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang")))
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xcudafe --diag_suppress=unrecognized_pragma,--diag_suppress=128")
endif()
# we require C++11 without extensions. Kokkos requires at least C++17 (currently)
# we *require* C++11 without extensions but prefer C++17.
# Kokkos requires at least C++17 (currently)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11)
if(cxx_std_17 IN_LIST CMAKE_CXX_COMPILE_FEATURES)
set(CMAKE_CXX_STANDARD 17)
else()
set(CMAKE_CXX_STANDARD 11)
endif()
endif()
if(CMAKE_CXX_STANDARD LESS 11)
message(FATAL_ERROR "C++ standard must be set to at least 11")
@ -154,6 +156,10 @@ endif()
if(PKG_KOKKOS AND (CMAKE_CXX_STANDARD LESS 17))
set(CMAKE_CXX_STANDARD 17)
endif()
# turn off C++17 check in lmptype.h
if(LAMMPS_CXX11)
add_compile_definitions(LAMMPS_CXX11)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Use compiler extensions")
# ugly hacks for MSVC which by default always reports an old C++ standard in the __cplusplus macro
@ -165,6 +171,7 @@ if(MSVC)
add_compile_options(/wd4267)
add_compile_options(/wd4250)
add_compile_options(/EHsc)
add_compile_options(/utf-8)
endif()
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
endif()
@ -190,10 +197,14 @@ if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND BUILD_SHARED_LIBS)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
# do not include the (obsolete) MPI C++ bindings which makes for leaner object files
# and avoids namespace conflicts. Put this early to increase its visbility.
set(MPI_CXX_SKIP_MPICXX TRUE CACHE BOOL "Skip MPI C++ Bindings" FORCE)
########################################################################
# User input options #
########################################################################
# backward compatibility with CMake before 3.12 and older LAMMPS documentation
# backward compatibility with older LAMMPS documentation
if (PYTHON_EXECUTABLE)
set(Python_EXECUTABLE "${PYTHON_EXECUTABLE}")
endif()
@ -209,6 +220,12 @@ if(DEFINED ENV{VIRTUAL_ENV} AND NOT Python_EXECUTABLE)
" Setting Python interpreter to: ${Python_EXECUTABLE}")
endif()
find_package(Python COMPONENTS Interpreter QUIET)
# NOTE: RHEL 8.0 and Ubuntu 18.04LTS ship with Python 3.6, Python 3.8 was EOL in 2024
if(Python_VERSION VERSION_LESS 3.6)
message(FATAL_ERROR "LAMMPS requires Python 3.6 or later")
endif()
set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically")
mark_as_advanced(LAMMPS_MACHINE)
if(LAMMPS_MACHINE)
@ -221,15 +238,6 @@ option(CMAKE_POSITION_INDEPENDENT_CODE "Create object compatible with shared lib
option(BUILD_TOOLS "Build and install LAMMPS tools (msi2lmp, binary2txt, chain)" 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,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()
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})
@ -254,6 +262,7 @@ option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
set(STANDARD_PACKAGES
ADIOS
AMOEBA
APIP
ASPHERE
ATC
AWPMD
@ -350,12 +359,12 @@ endforeach()
# packages with special compiler needs or external libs
######################################################
target_include_directories(lammps PUBLIC $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}>)
target_include_directories(lammps PUBLIC $<BUILD_INTERFACE:${LAMMPS_THIRDPARTY_DIR}>)
if(PKG_ADIOS)
# The search for ADIOS2 must come before MPI because
# it includes its own MPI search with the latest FindMPI.cmake
# script that defines the MPI::MPI_C target
enable_language(C)
find_package(ADIOS2 REQUIRED)
if(BUILD_MPI)
if(NOT ADIOS2_HAVE_MPI)
@ -370,21 +379,18 @@ if(PKG_ADIOS)
endif()
if(NOT CMAKE_CROSSCOMPILING)
find_package(MPI QUIET)
find_package(MPI QUIET COMPONENTS CXX)
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
else()
option(BUILD_MPI "Build MPI version" OFF)
endif()
if(BUILD_MPI)
# do not include the (obsolete) MPI C++ bindings which makes
# for leaner object files and avoids namespace conflicts
set(MPI_CXX_SKIP_MPICXX TRUE)
# We use a non-standard procedure to cross-compile with MPI on Windows
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
include(MPI4WIN)
else()
find_package(MPI REQUIRED)
find_package(MPI REQUIRED COMPONENTS CXX)
option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF)
if(LAMMPS_LONGLONG_TO_LONG)
target_compile_definitions(lammps PRIVATE -DLAMMPS_LONGLONG_TO_LONG)
@ -398,8 +404,8 @@ else()
target_link_libraries(lammps PUBLIC mpi_stubs)
endif()
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall)
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
set(LAMMPS_SIZES_VALUES smallbig bigbig)
set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES})
validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES)
string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES)
@ -417,6 +423,19 @@ if(NOT ${LAMMPS_MEMALIGN} STREQUAL "0")
target_compile_definitions(lammps PRIVATE -DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN})
endif()
# this hack is required to compile fmt lib with CrayClang version 15.0.2
# CrayClang is only directly recognized by CMake 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"))
target_compile_definitions(lammps PRIVATE -DFMT_STATIC_THOUSANDS_SEPARATOR)
endif()
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang")
target_compile_definitions(lammps PRIVATE -DFMT_STATIC_THOUSANDS_SEPARATOR)
endif()
endif()
# "hard" dependencies between packages resulting
# in an error instead of skipping over files
pkg_depends(ML-IAP ML-SNAP)
@ -432,6 +451,7 @@ pkg_depends(ELECTRODE KSPACE)
pkg_depends(EXTRA-MOLECULE MOLECULE)
pkg_depends(MESONT MOLECULE)
pkg_depends(RHEO BPM)
pkg_depends(APIP ML-PACE)
# detect if we may enable OpenMP support by default
set(BUILD_OMP_DEFAULT OFF)
@ -474,13 +494,13 @@ if(BUILD_OMP)
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")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fopenmp")
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} -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")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fopenmp")
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} -fopenmp")
endif()
endif()
endif()
@ -497,8 +517,7 @@ if((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_STANDARD GREATER_EQUA
PROPERTIES COMPILE_OPTIONS "-std=c++14")
endif()
if(PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_ML-POD OR PKG_ELECTRODE OR BUILD_TOOLS)
enable_language(C)
if(PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_ML-POD OR PKG_ELECTRODE OR PKG_RHEO OR BUILD_TOOLS)
if (NOT USE_INTERNAL_LINALG)
find_package(LAPACK)
find_package(BLAS)
@ -515,14 +534,6 @@ 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)
@ -580,12 +591,22 @@ 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 RHEO)
PLUMED QMMM ML-QUIP SCAFACOS MACHDYN VTK KIM COMPRESS ML-PACE LEPTON EXTRA-COMMAND)
if(PKG_${PKG_WITH_INCL})
include(Packages/${PKG_WITH_INCL})
endif()
endforeach()
# settings for misc packages and styles
if(PKG_MISC)
option(LAMMPS_ASYNC_IMD "Asynchronous IMD processing" OFF)
mark_as_advanced(LAMMPS_ASYNC_IMD)
if(LAMMPS_ASYNC_IMD)
target_compile_definitions(lammps PRIVATE -DLAMMPS_ASYNC_IMD)
message(STATUS "Using IMD in asynchronous mode")
endif()
endif()
# optionally enable building script wrappers using swig
option(WITH_SWIG "Build scripting language wrappers with SWIG" OFF)
if(WITH_SWIG)
@ -593,15 +614,6 @@ if(WITH_SWIG)
add_subdirectory(${LAMMPS_SWIG_DIR} swig)
endif()
set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler and machine specific optimization flags (compilation only)")
separate_arguments(CMAKE_TUNE_FLAGS)
foreach(_FLAG ${CMAKE_TUNE_FLAGS})
target_compile_options(lammps PRIVATE ${_FLAG})
# skip these flags when linking the main executable
if(NOT (("${_FLAG}" STREQUAL "-Xcudafe") OR (("${_FLAG}" STREQUAL "--diag_suppress=unrecognized_pragma"))))
target_compile_options(lmp PRIVATE ${_FLAG})
endif()
endforeach()
########################################################################
# Basic system tests (standard libraries, headers, functions, types) #
########################################################################
@ -830,9 +842,15 @@ foreach(_DEF ${LAMMPS_DEFINES})
set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -D${_DEF}")
endforeach()
if(BUILD_SHARED_LIBS)
install(TARGETS lammps EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS lammps EXPORT LAMMPS_Targets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
if(NOT BUILD_MPI)
install(TARGETS mpi_stubs EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS mpi_stubs EXPORT LAMMPS_Targets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
@ -900,7 +918,7 @@ endif()
include(Testing)
include(CodeCoverage)
include(CodingStandard)
find_package(ClangFormat 11.0)
find_package(ClangFormat 11.0 QUIET)
if(ClangFormat_FOUND)
add_custom_target(format-src
@ -1084,12 +1102,15 @@ if(BUILD_TOOLS)
message(STATUS "<<< Building Tools >>>")
endif()
if(BUILD_LAMMPS_GUI)
message(STATUS "<<< Building LAMMPS GUI >>>")
message(STATUS "<<< Building LAMMPS-GUI >>>")
if(LAMMPS_GUI_USE_PLUGIN)
message(STATUS "Loading LAMMPS library as plugin at run time")
else()
message(STATUS "Linking LAMMPS library at compile time")
endif()
if(BUILD_WHAM)
message(STATUS "<<< Building WHAM >>>")
endif()
endif()
if(ENABLE_TESTING)
message(STATUS "<<< Building Unit Tests >>>")

View File

@ -7,76 +7,76 @@
# For Python coverage the coverage package needs to be installed
###############################################################################
if(ENABLE_COVERAGE)
find_program(GCOVR_BINARY gcovr)
find_package_handle_standard_args(GCOVR DEFAULT_MSG GCOVR_BINARY)
find_program(GCOVR_BINARY gcovr)
find_package_handle_standard_args(GCOVR DEFAULT_MSG GCOVR_BINARY)
find_program(COVERAGE_BINARY coverage)
find_package_handle_standard_args(COVERAGE DEFAULT_MSG COVERAGE_BINARY)
find_program(COVERAGE_BINARY coverage)
find_package_handle_standard_args(COVERAGE DEFAULT_MSG COVERAGE_BINARY)
if(GCOVR_FOUND)
get_filename_component(ABSOLUTE_LAMMPS_SOURCE_DIR ${LAMMPS_SOURCE_DIR} ABSOLUTE)
if(GCOVR_FOUND)
get_filename_component(ABSOLUTE_LAMMPS_SOURCE_DIR ${LAMMPS_SOURCE_DIR} ABSOLUTE)
add_custom_target(
gen_coverage_xml
COMMAND ${GCOVR_BINARY} -s -x -r ${ABSOLUTE_LAMMPS_SOURCE_DIR} --object-directory=${CMAKE_BINARY_DIR} -o coverage.xml
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Generating XML coverage report..."
)
add_custom_target(
gen_coverage_xml
COMMAND ${GCOVR_BINARY} -s -x -r ${ABSOLUTE_LAMMPS_SOURCE_DIR} --object-directory=${CMAKE_BINARY_DIR} -o coverage.xml
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Generating XML coverage report..."
)
set(COVERAGE_HTML_DIR ${CMAKE_BINARY_DIR}/coverage_html)
set(COVERAGE_HTML_DIR ${CMAKE_BINARY_DIR}/coverage_html)
add_custom_target(coverage_html_folder
COMMAND ${CMAKE_COMMAND} -E make_directory ${COVERAGE_HTML_DIR})
add_custom_target(coverage_html_folder
COMMAND ${CMAKE_COMMAND} -E make_directory ${COVERAGE_HTML_DIR})
add_custom_target(
gen_coverage_html
COMMAND ${GCOVR_BINARY} -s --html --html-details -r ${ABSOLUTE_LAMMPS_SOURCE_DIR} --object-directory=${CMAKE_BINARY_DIR} -o ${COVERAGE_HTML_DIR}/index.html
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Generating HTML coverage report..."
)
add_dependencies(gen_coverage_html coverage_html_folder)
add_custom_target(
gen_coverage_html
COMMAND ${GCOVR_BINARY} -s --html --html-details -r ${ABSOLUTE_LAMMPS_SOURCE_DIR} --object-directory=${CMAKE_BINARY_DIR} -o ${COVERAGE_HTML_DIR}/index.html
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Generating HTML coverage report..."
)
add_dependencies(gen_coverage_html coverage_html_folder)
add_custom_target(clean_coverage_html
${CMAKE_COMMAND} -E remove_directory ${COVERAGE_HTML_DIR}
COMMENT "Deleting HTML coverage report..."
)
add_custom_target(clean_coverage_html
${CMAKE_COMMAND} -E remove_directory ${COVERAGE_HTML_DIR}
COMMENT "Deleting HTML coverage report..."
)
add_custom_target(reset_coverage
${CMAKE_COMMAND} -E remove -f */*.gcda */*/*.gcda */*/*/*.gcda
*/*/*/*/*.gcda */*/*/*/*/*.gcda */*/*/*/*/*/*.gcda
*/*/*/*/*/*/*/*.gcda */*/*/*/*/*/*/*/*.gcda
*/*/*/*/*/*/*/*/*/*.gcda */*/*/*/*/*/*/*/*/*/*.gcda
WORKIND_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Deleting coverage data files..."
)
add_dependencies(reset_coverage clean_coverage_html)
endif()
add_custom_target(reset_coverage
${CMAKE_COMMAND} -E remove -f */*.gcda */*/*.gcda */*/*/*.gcda
*/*/*/*/*.gcda */*/*/*/*/*.gcda */*/*/*/*/*/*.gcda
*/*/*/*/*/*/*/*.gcda */*/*/*/*/*/*/*/*.gcda
*/*/*/*/*/*/*/*/*/*.gcda */*/*/*/*/*/*/*/*/*/*.gcda
WORKIND_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Deleting coverage data files..."
)
add_dependencies(reset_coverage clean_coverage_html)
endif()
if(COVERAGE_FOUND)
set(PYTHON_COVERAGE_HTML_DIR ${CMAKE_BINARY_DIR}/python_coverage_html)
configure_file(.coveragerc.in ${CMAKE_BINARY_DIR}/.coveragerc @ONLY)
if(COVERAGE_FOUND)
set(PYTHON_COVERAGE_HTML_DIR ${CMAKE_BINARY_DIR}/python_coverage_html)
configure_file(.coveragerc.in ${CMAKE_BINARY_DIR}/.coveragerc @ONLY)
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/unittest/python/.coverage
COMMAND ${COVERAGE_BINARY} combine
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
COMMENT "Combine Python coverage files..."
)
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/unittest/python/.coverage
COMMAND ${COVERAGE_BINARY} combine
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
COMMENT "Combine Python coverage files..."
)
add_custom_target(
gen_python_coverage_html
COMMAND ${COVERAGE_BINARY} html --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -d ${PYTHON_COVERAGE_HTML_DIR}
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
COMMENT "Generating HTML Python coverage report..."
)
add_custom_target(
gen_python_coverage_html
COMMAND ${COVERAGE_BINARY} html --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -d ${PYTHON_COVERAGE_HTML_DIR}
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
COMMENT "Generating HTML Python coverage report..."
)
add_custom_target(
gen_python_coverage_xml
COMMAND ${COVERAGE_BINARY} xml --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -o ${CMAKE_BINARY_DIR}/python_coverage.xml
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
COMMENT "Generating XML Python coverage report..."
)
endif()
add_custom_target(
gen_python_coverage_xml
COMMAND ${COVERAGE_BINARY} xml --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -o ${CMAKE_BINARY_DIR}/python_coverage.xml
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
COMMENT "Generating XML Python coverage report..."
)
endif()
endif()

View File

@ -1,40 +1,39 @@
# use default (or custom) Python executable, if version is sufficient
if(Python_VERSION VERSION_GREATER_EQUAL 3.6)
# use default (or custom) Python executable.
# Python version check is in main CMakeLists.txt file
if(Python_EXECUTABLE)
set(Python3_EXECUTABLE ${Python_EXECUTABLE})
endif()
find_package(Python3 COMPONENTS Interpreter)
if(Python3_EXECUTABLE)
if(Python3_VERSION VERSION_GREATER_EQUAL 3.6)
add_custom_target(
check-whitespace
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/whitespace.py .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Check for whitespace errors")
add_custom_target(
check-homepage
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/homepage.py .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Check for homepage URL errors")
add_custom_target(
check-permissions
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/permissions.py .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Check for permission errors")
add_custom_target(
fix-whitespace
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/whitespace.py -f .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Fix whitespace errors")
add_custom_target(
fix-homepage
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/homepage.py -f .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Fix homepage URL errors")
add_custom_target(
fix-permissions
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/permissions.py -f .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Fix permission errors")
endif()
add_custom_target(
check-whitespace
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/whitespace.py .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Check for whitespace errors")
add_custom_target(
check-homepage
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/homepage.py .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Check for homepage URL errors")
add_custom_target(
check-permissions
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/permissions.py .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Check for permission errors")
add_custom_target(
fix-whitespace
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/whitespace.py -f .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Fix whitespace errors")
add_custom_target(
fix-homepage
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/homepage.py -f .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Fix homepage URL errors")
add_custom_target(
fix-permissions
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/permissions.py -f .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Fix permission errors")
endif()

View File

@ -4,6 +4,8 @@
option(BUILD_DOC "Build LAMMPS HTML documentation" OFF)
if(BUILD_DOC)
option(BUILD_DOC_VENV "Build LAMMPS documentation virtual environment" ON)
mark_as_advanced(BUILD_DOC_VENV)
# Current Sphinx versions require at least Python 3.8
# use default (or custom) Python executable, if version is sufficient
if(Python_VERSION VERSION_GREATER_EQUAL 3.8)
@ -11,21 +13,13 @@ if(BUILD_DOC)
endif()
find_package(Python3 REQUIRED COMPONENTS Interpreter)
if(Python3_VERSION VERSION_LESS 3.8)
message(FATAL_ERROR "Python 3.8 and up is required to build the HTML documentation")
message(FATAL_ERROR "Python 3.8 and up is required to build the LAMMPS HTML documentation")
endif()
set(VIRTUALENV ${Python3_EXECUTABLE} -m venv)
find_package(Doxygen 1.8.10 REQUIRED)
file(GLOB DOC_SOURCES CONFIGURE_DEPENDS ${LAMMPS_DOC_DIR}/src/[^.]*.rst)
add_custom_command(
OUTPUT docenv
COMMAND ${VIRTUALENV} docenv
)
set(DOCENV_BINARY_DIR ${CMAKE_BINARY_DIR}/docenv/bin)
set(DOCENV_REQUIREMENTS_FILE ${LAMMPS_DOC_DIR}/utils/requirements.txt)
set(SPHINX_CONFIG_DIR ${LAMMPS_DOC_DIR}/utils/sphinx-config)
set(SPHINX_CONFIG_FILE_TEMPLATE ${SPHINX_CONFIG_DIR}/conf.py.in)
set(SPHINX_STATIC_DIR ${SPHINX_CONFIG_DIR}/_static)
@ -44,17 +38,35 @@ if(BUILD_DOC)
# configure paths in conf.py, since relative paths change when file is copied
configure_file(${SPHINX_CONFIG_FILE_TEMPLATE} ${DOC_BUILD_CONFIG_FILE})
add_custom_command(
OUTPUT ${DOC_BUILD_DIR}/requirements.txt
DEPENDS docenv ${DOCENV_REQUIREMENTS_FILE}
COMMAND ${CMAKE_COMMAND} -E copy ${DOCENV_REQUIREMENTS_FILE} ${DOC_BUILD_DIR}/requirements.txt
COMMAND ${DOCENV_BINARY_DIR}/pip $ENV{PIP_OPTIONS} install --upgrade pip
COMMAND ${DOCENV_BINARY_DIR}/pip $ENV{PIP_OPTIONS} install --upgrade ${LAMMPS_DOC_DIR}/utils/converters
COMMAND ${DOCENV_BINARY_DIR}/pip $ENV{PIP_OPTIONS} install -r ${DOC_BUILD_DIR}/requirements.txt --upgrade
)
if(BUILD_DOC_VENV)
add_custom_command(
OUTPUT docenv
COMMAND ${VIRTUALENV} docenv
)
set(MATHJAX_URL "https://github.com/mathjax/MathJax/archive/3.1.3.tar.gz" CACHE STRING "URL for MathJax tarball")
set(MATHJAX_MD5 "b81661c6e6ba06278e6ae37b30b0c492" CACHE STRING "MD5 checksum of MathJax tarball")
set(DOCENV_BINARY_DIR ${CMAKE_BINARY_DIR}/docenv/bin)
set(DOCENV_REQUIREMENTS_FILE ${LAMMPS_DOC_DIR}/utils/requirements.txt)
add_custom_command(
OUTPUT ${DOC_BUILD_DIR}/requirements.txt
DEPENDS docenv ${DOCENV_REQUIREMENTS_FILE}
COMMAND ${CMAKE_COMMAND} -E copy ${DOCENV_REQUIREMENTS_FILE} ${DOC_BUILD_DIR}/requirements.txt
COMMAND ${DOCENV_BINARY_DIR}/pip $ENV{PIP_OPTIONS} install --upgrade pip
COMMAND ${DOCENV_BINARY_DIR}/pip $ENV{PIP_OPTIONS} install --upgrade ${LAMMPS_DOC_DIR}/utils/converters
COMMAND ${DOCENV_BINARY_DIR}/pip $ENV{PIP_OPTIONS} install -r ${DOC_BUILD_DIR}/requirements.txt --upgrade
)
set(DOCENV_DEPS docenv ${DOC_BUILD_DIR}/requirements.txt)
if(NOT TARGET Sphinx::sphinx-build)
add_executable(Sphinx::sphinx-build IMPORTED GLOBAL)
set_target_properties(Sphinx::sphinx-build PROPERTIES IMPORTED_LOCATION "${DOCENV_BINARY_DIR}/sphinx-build")
endif()
else()
find_package(Sphinx)
endif()
set(MATHJAX_URL "https://github.com/mathjax/MathJax/archive/3.2.2.tar.gz" CACHE STRING "URL for MathJax tarball")
set(MATHJAX_MD5 "08dd6ef33ca08870220d9aade2a62845" CACHE STRING "MD5 checksum of MathJax tarball")
mark_as_advanced(MATHJAX_URL)
GetFallbackURL(MATHJAX_URL MATHJAX_FALLBACK)
@ -97,8 +109,9 @@ if(BUILD_DOC)
endif()
add_custom_command(
OUTPUT html
DEPENDS ${DOC_SOURCES} docenv ${DOC_BUILD_DIR}/requirements.txt ${DOXYGEN_XML_DIR}/index.xml ${BUILD_DOC_CONFIG_FILE}
COMMAND ${DOCENV_BINARY_DIR}/sphinx-build ${SPHINX_EXTRA_OPTS} -b html -c ${DOC_BUILD_DIR} -d ${DOC_BUILD_DIR}/doctrees ${LAMMPS_DOC_DIR}/src ${DOC_BUILD_DIR}/html
DEPENDS ${DOC_SOURCES} ${DOCENV_DEPS} ${DOXYGEN_XML_DIR}/index.xml ${BUILD_DOC_CONFIG_FILE}
COMMAND ${Python3_EXECUTABLE} ${LAMMPS_DOC_DIR}/utils/make-globbed-tocs.py -d ${LAMMPS_DOC_DIR}/src
COMMAND Sphinx::sphinx-build ${SPHINX_EXTRA_OPTS} -b html -c ${DOC_BUILD_DIR} -d ${DOC_BUILD_DIR}/doctrees ${LAMMPS_DOC_DIR}/src ${DOC_BUILD_DIR}/html
COMMAND ${CMAKE_COMMAND} -E create_symlink Manual.html ${DOC_BUILD_DIR}/html/index.html
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LAMMPS_DOC_DIR}/src/PDF ${DOC_BUILD_DIR}/html/PDF
COMMAND ${CMAKE_COMMAND} -E remove -f ${DOXYGEN_XML_DIR}/run.stamp

View File

@ -0,0 +1,29 @@
# Find sphinx-build
find_program(Sphinx_EXECUTABLE NAMES sphinx-build
PATH_SUFFIXES bin
DOC "Sphinx documenation build executable")
mark_as_advanced(Sphinx_EXECUTABLE)
if(Sphinx_EXECUTABLE)
execute_process(COMMAND ${Sphinx_EXECUTABLE} --version
OUTPUT_VARIABLE sphinx_version
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE _sphinx_version_result)
if(_sphinx_version_result)
message(WARNING "Unable to determine sphinx-build verison: ${_sphinx_version_result}")
else()
string(REGEX REPLACE "sphinx-build ([0-9.]+).*"
"\\1"
Sphinx_VERSION
"${sphinx_version}")
endif()
if(NOT TARGET Sphinx::sphinx-build)
add_executable(Sphinx::sphinx-build IMPORTED GLOBAL)
set_target_properties(Sphinx::sphinx-build PROPERTIES IMPORTED_LOCATION "${Sphinx_EXECUTABLE}")
endif()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Sphinx REQUIRED_VARS Sphinx_EXECUTABLE VERSION_VAR Sphinx_VERSION)

View File

@ -21,9 +21,9 @@ if(VORO_FOUND)
set(VORO_LIBRARIES ${VORO_LIBRARY})
set(VORO_INCLUDE_DIRS ${VORO_INCLUDE_DIR})
if(NOT TARGET VORO::VORO)
add_library(VORO::VORO UNKNOWN IMPORTED)
set_target_properties(VORO::VORO PROPERTIES
if(NOT TARGET VORO::voro++)
add_library(VORO::voro++ UNKNOWN IMPORTED)
set_target_properties(VORO::voro++ PROPERTIES
IMPORTED_LOCATION "${VORO_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${VORO_INCLUDE_DIR}")
endif()

View File

@ -34,8 +34,26 @@ if(MSVC)
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
endif()
# C++11 is required
set(CMAKE_CXX_STANDARD 11)
if(NOT CMAKE_CXX_STANDARD)
if(cxx_std_17 IN_LIST CMAKE_CXX_COMPILE_FEATURES)
set(CMAKE_CXX_STANDARD 17)
else()
set(CMAKE_CXX_STANDARD 11)
endif()
endif()
if(CMAKE_CXX_STANDARD LESS 11)
message(FATAL_ERROR "C++ standard must be set to at least 11")
endif()
if(CMAKE_CXX_STANDARD LESS 17)
message(WARNING "Selecting C++17 standard is preferred over C++${CMAKE_CXX_STANDARD}")
endif()
if(PKG_KOKKOS AND (CMAKE_CXX_STANDARD LESS 17))
set(CMAKE_CXX_STANDARD 17)
endif()
# turn off C++17 check in lmptype.h
if(LAMMPS_CXX11)
add_compile_definitions(LAMMPS_CXX11)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Need -restrict with Intel compilers
@ -44,6 +62,9 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
endif()
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
# skip over obsolete MPI-2 C++ bindings
set(MPI_CXX_SKIP_MPICXX TRUE)
#######
# helper functions from LAMMPSUtils.cmake
function(validate_option name values)
@ -110,8 +131,7 @@ endif()
################################################################################
# MPI configuration
if(NOT CMAKE_CROSSCOMPILING)
set(MPI_CXX_SKIP_MPICXX TRUE)
find_package(MPI QUIET)
find_package(MPI QUIET COMPONENTS CXX)
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
else()
option(BUILD_MPI "Build MPI version" OFF)
@ -123,78 +143,38 @@ if(BUILD_MPI)
set(MPI_CXX_SKIP_MPICXX TRUE)
# We use a non-standard procedure to cross-compile with MPI on Windows
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
# Download and configure MinGW compatible MPICH development files for Windows
option(USE_MSMPI "Use Microsoft's MS-MPI SDK instead of MPICH2-1.4.1" OFF)
if(USE_MSMPI)
message(STATUS "Downloading and configuring MS-MPI 10.1 for Windows cross-compilation")
set(MPICH2_WIN64_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/msmpi-win64-devel.tar.gz" CACHE STRING "URL for MS-MPI (win64) tarball")
set(MPICH2_WIN64_DEVEL_MD5 "86314daf1bffb809f1fcbefb8a547490" CACHE STRING "MD5 checksum of MS-MPI (win64) tarball")
mark_as_advanced(MPICH2_WIN64_DEVEL_URL)
mark_as_advanced(MPICH2_WIN64_DEVEL_MD5)
message(STATUS "Downloading and configuring MS-MPI 10.1 for Windows cross-compilation")
set(MPICH2_WIN64_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/msmpi-win64-devel.tar.gz" CACHE STRING "URL for MS-MPI (win64) tarball")
set(MPICH2_WIN64_DEVEL_MD5 "86314daf1bffb809f1fcbefb8a547490" CACHE STRING "MD5 checksum of MS-MPI (win64) tarball")
mark_as_advanced(MPICH2_WIN64_DEVEL_URL)
mark_as_advanced(MPICH2_WIN64_DEVEL_MD5)
include(ExternalProject)
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
ExternalProject_Add(mpi4win_build
URL ${MPICH2_WIN64_DEVEL_URL}
URL_MD5 ${MPICH2_WIN64_DEVEL_MD5}
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmsmpi.a)
else()
message(FATAL_ERROR "Only x86 64-bit builds are supported with MS-MPI")
endif()
ExternalProject_get_property(mpi4win_build SOURCE_DIR)
file(MAKE_DIRECTORY "${SOURCE_DIR}/include")
add_library(MPI::MPI_CXX UNKNOWN IMPORTED)
set_target_properties(MPI::MPI_CXX PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libmsmpi.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include"
INTERFACE_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX")
add_dependencies(MPI::MPI_CXX mpi4win_build)
# set variables for status reporting at the end of CMake run
set(MPI_CXX_INCLUDE_PATH "${SOURCE_DIR}/include")
set(MPI_CXX_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX")
set(MPI_CXX_LIBRARIES "${SOURCE_DIR}/lib/libmsmpi.a")
include(ExternalProject)
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
ExternalProject_Add(mpi4win_build
URL ${MPICH2_WIN64_DEVEL_URL}
URL_MD5 ${MPICH2_WIN64_DEVEL_MD5}
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmsmpi.a)
else()
# Download and configure custom MPICH files for Windows
message(STATUS "Downloading and configuring MPICH-1.4.1 for Windows")
set(MPICH2_WIN64_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/mpich2-win64-devel.tar.gz" CACHE STRING "URL for MPICH2 (win64) tarball")
set(MPICH2_WIN64_DEVEL_MD5 "4939fdb59d13182fd5dd65211e469f14" CACHE STRING "MD5 checksum of MPICH2 (win64) tarball")
mark_as_advanced(MPICH2_WIN64_DEVEL_URL)
mark_as_advanced(MPICH2_WIN64_DEVEL_MD5)
include(ExternalProject)
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
ExternalProject_Add(mpi4win_build
URL ${MPICH2_WIN64_DEVEL_URL}
URL_MD5 ${MPICH2_WIN64_DEVEL_MD5}
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmpi.a)
else()
ExternalProject_Add(mpi4win_build
URL ${MPICH2_WIN32_DEVEL_URL}
URL_MD5 ${MPICH2_WIN32_DEVEL_MD5}
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmpi.a)
endif()
ExternalProject_get_property(mpi4win_build SOURCE_DIR)
file(MAKE_DIRECTORY "${SOURCE_DIR}/include")
add_library(MPI::MPI_CXX UNKNOWN IMPORTED)
set_target_properties(MPI::MPI_CXX PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libmpi.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include"
INTERFACE_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX")
add_dependencies(MPI::MPI_CXX mpi4win_build)
# set variables for status reporting at the end of CMake run
set(MPI_CXX_INCLUDE_PATH "${SOURCE_DIR}/include")
set(MPI_CXX_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX")
set(MPI_CXX_LIBRARIES "${SOURCE_DIR}/lib/libmpi.a")
message(FATAL_ERROR "Only x86 64-bit builds are supported with MS-MPI")
endif()
ExternalProject_get_property(mpi4win_build SOURCE_DIR)
file(MAKE_DIRECTORY "${SOURCE_DIR}/include")
add_library(MPI::MPI_CXX UNKNOWN IMPORTED)
set_target_properties(MPI::MPI_CXX PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libmsmpi.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include"
INTERFACE_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX=1")
add_dependencies(MPI::MPI_CXX mpi4win_build)
# set variables for status reporting at the end of CMake run
set(MPI_CXX_INCLUDE_PATH "${SOURCE_DIR}/include")
set(MPI_CXX_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX=1")
set(MPI_CXX_LIBRARIES "${SOURCE_DIR}/lib/libmsmpi.a")
else()
find_package(MPI REQUIRED)
find_package(MPI REQUIRED COMPONENTS CXX)
option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF)
if(LAMMPS_LONGLONG_TO_LONG)
target_compile_definitions(lammps INTERFACE -DLAMMPS_LONGLONG_TO_LONG)
@ -242,8 +222,8 @@ endif()
################
# integer size selection
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall)
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
set(LAMMPS_SIZES_VALUES smallbig bigbig)
set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES})
validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES)
string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES)

View File

@ -30,7 +30,7 @@ function(check_omp_h_include)
if(OpenMP_CXX_FOUND)
set(CMAKE_REQUIRED_FLAGS ${OpenMP_CXX_FLAGS})
set(CMAKE_REQUIRED_INCLUDES ${OpenMP_CXX_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LINK_OPTIONS ${OpenMP_CXX_FLAGS})
separate_arguments(CMAKE_REQUIRED_LINK_OPTIONS NATIVE_COMMAND ${OpenMP_CXX_FLAGS}) # needs to be a list
set(CMAKE_REQUIRED_LIBRARIES ${OpenMP_CXX_LIBRARIES})
# there are all kinds of problems with finding omp.h
# for Clang and derived compilers so we pretend it is there.
@ -75,13 +75,25 @@ function(get_lammps_version version_header variable)
list(FIND MONTHS "${month}" month)
string(LENGTH ${day} day_length)
string(LENGTH ${month} month_length)
if(day_length EQUAL 1)
set(day "0${day}")
# no leading zero needed for new version string with dots
# if(day_length EQUAL 1)
# set(day "0${day}")
# endif()
# if(month_length EQUAL 1)
# set(month "0${month}")
#endif()
file(STRINGS ${version_header} line REGEX LAMMPS_UPDATE)
string(REGEX REPLACE "#define LAMMPS_UPDATE \"Update ([0-9]+)\"" "\\1" tweak "${line}")
if (line MATCHES "#define LAMMPS_UPDATE \"(Maintenance|Development)\"")
set(tweak "99")
endif()
if(month_length EQUAL 1)
set(month "0${month}")
if(NOT tweak)
set(tweak "0")
endif()
set(${variable} "${year}${month}${day}" PARENT_SCOPE)
# new version string with dots
set(${variable} "${year}.${month}.${day}.${tweak}" PARENT_SCOPE)
# old version string without dots
# set(${variable} "${year}${month}${day}" PARENT_SCOPE)
endfunction()
function(check_for_autogen_files source_dir)

View File

@ -1,74 +1,31 @@
# Download and configure MinGW compatible MPICH development files for Windows
option(USE_MSMPI "Use Microsoft's MS-MPI SDK instead of MPICH2-1.4.1" OFF)
# set-up MS-MPI library for Windows with MinGW compatibility
message(STATUS "Downloading and configuring MS-MPI 10.1 for Windows cross-compilation")
set(MPICH2_WIN64_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/msmpi-win64-devel.tar.gz" CACHE STRING "URL for MS-MPI (win64) tarball")
set(MPICH2_WIN64_DEVEL_MD5 "86314daf1bffb809f1fcbefb8a547490" CACHE STRING "MD5 checksum of MS-MPI (win64) tarball")
mark_as_advanced(MPICH2_WIN64_DEVEL_URL)
mark_as_advanced(MPICH2_WIN64_DEVEL_MD5)
if(USE_MSMPI)
message(STATUS "Downloading and configuring MS-MPI 10.1 for Windows cross-compilation")
set(MPICH2_WIN64_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/msmpi-win64-devel.tar.gz" CACHE STRING "URL for MS-MPI (win64) tarball")
set(MPICH2_WIN64_DEVEL_MD5 "86314daf1bffb809f1fcbefb8a547490" CACHE STRING "MD5 checksum of MS-MPI (win64) tarball")
mark_as_advanced(MPICH2_WIN64_DEVEL_URL)
mark_as_advanced(MPICH2_WIN64_DEVEL_MD5)
include(ExternalProject)
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
ExternalProject_Add(mpi4win_build
URL ${MPICH2_WIN64_DEVEL_URL}
URL_MD5 ${MPICH2_WIN64_DEVEL_MD5}
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmsmpi.a)
else()
message(FATAL_ERROR "Only x86 64-bit builds are supported with MS-MPI")
endif()
ExternalProject_get_property(mpi4win_build SOURCE_DIR)
file(MAKE_DIRECTORY "${SOURCE_DIR}/include")
add_library(MPI::MPI_CXX UNKNOWN IMPORTED)
set_target_properties(MPI::MPI_CXX PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libmsmpi.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include"
INTERFACE_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX")
add_dependencies(MPI::MPI_CXX mpi4win_build)
# set variables for status reporting at the end of CMake run
set(MPI_CXX_INCLUDE_PATH "${SOURCE_DIR}/include")
set(MPI_CXX_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX")
set(MPI_CXX_LIBRARIES "${SOURCE_DIR}/lib/libmsmpi.a")
include(ExternalProject)
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
ExternalProject_Add(mpi4win_build
URL ${MPICH2_WIN64_DEVEL_URL}
URL_MD5 ${MPICH2_WIN64_DEVEL_MD5}
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmsmpi.a)
else()
message(STATUS "Downloading and configuring MPICH2-1.4.1 for Windows cross-compilation")
set(MPICH2_WIN64_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/mpich2-win64-devel.tar.gz" CACHE STRING "URL for MPICH2 (win64) tarball")
set(MPICH2_WIN32_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/mpich2-win32-devel.tar.gz" CACHE STRING "URL for MPICH2 (win32) tarball")
set(MPICH2_WIN64_DEVEL_MD5 "4939fdb59d13182fd5dd65211e469f14" CACHE STRING "MD5 checksum of MPICH2 (win64) tarball")
set(MPICH2_WIN32_DEVEL_MD5 "a61d153500dce44e21b755ee7257e031" CACHE STRING "MD5 checksum of MPICH2 (win32) tarball")
mark_as_advanced(MPICH2_WIN64_DEVEL_URL)
mark_as_advanced(MPICH2_WIN32_DEVEL_URL)
mark_as_advanced(MPICH2_WIN64_DEVEL_MD5)
mark_as_advanced(MPICH2_WIN32_DEVEL_MD5)
include(ExternalProject)
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
ExternalProject_Add(mpi4win_build
URL ${MPICH2_WIN64_DEVEL_URL}
URL_MD5 ${MPICH2_WIN64_DEVEL_MD5}
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmpi.a)
else()
ExternalProject_Add(mpi4win_build
URL ${MPICH2_WIN32_DEVEL_URL}
URL_MD5 ${MPICH2_WIN32_DEVEL_MD5}
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmpi.a)
endif()
ExternalProject_get_property(mpi4win_build SOURCE_DIR)
file(MAKE_DIRECTORY "${SOURCE_DIR}/include")
add_library(MPI::MPI_CXX UNKNOWN IMPORTED)
set_target_properties(MPI::MPI_CXX PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libmpi.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include"
INTERFACE_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX")
add_dependencies(MPI::MPI_CXX mpi4win_build)
# set variables for status reporting at the end of CMake run
set(MPI_CXX_INCLUDE_PATH "${SOURCE_DIR}/include")
set(MPI_CXX_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX")
set(MPI_CXX_LIBRARIES "${SOURCE_DIR}/lib/libmpi.a")
message(FATAL_ERROR "Only x86 64-bit builds are supported with MS-MPI")
endif()
ExternalProject_get_property(mpi4win_build SOURCE_DIR)
file(MAKE_DIRECTORY "${SOURCE_DIR}/include")
add_library(MPI::MPI_CXX UNKNOWN IMPORTED)
set_target_properties(MPI::MPI_CXX PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libmsmpi.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include"
INTERFACE_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX=1")
add_dependencies(MPI::MPI_CXX mpi4win_build)
# set variables for status reporting at the end of CMake run
set(MPI_CXX_INCLUDE_PATH "${SOURCE_DIR}/include")
set(MPI_CXX_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX=1")
set(MPI_CXX_LIBRARIES "${SOURCE_DIR}/lib/libmsmpi.a")

View File

@ -14,10 +14,6 @@ endif()
add_library(colvars STATIC ${COLVARS_SOURCES})
target_compile_definitions(colvars PRIVATE -DCOLVARS_LAMMPS)
separate_arguments(CMAKE_TUNE_FLAGS)
foreach(_FLAG ${CMAKE_TUNE_FLAGS})
target_compile_options(colvars PRIVATE ${_FLAG})
endforeach()
set_target_properties(colvars PROPERTIES OUTPUT_NAME lammps_colvars${LAMMPS_MACHINE})
target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars)
# The line below is needed to locate math_eigen_impl.h
@ -30,6 +26,10 @@ if(BUILD_OMP)
target_link_libraries(colvars PRIVATE OpenMP::OpenMP_CXX)
endif()
if(BUILD_MPI)
target_link_libraries(colvars PUBLIC MPI::MPI_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,18 @@
# the geturl command needs libcurl
find_package(CURL QUIET)
option(WITH_CURL "Enable libcurl support" ${CURL_FOUND})
if(WITH_CURL)
target_compile_definitions(lammps PRIVATE -DLAMMPS_CURL)
# need to use pkgconfig for fully static bins to find custom static libs
if (CMAKE_SYSTEM_NAME STREQUAL "LinuxMUSL")
include(FindPkgConfig)
pkg_check_modules(CURL IMPORTED_TARGET libcurl libssl libcrypto)
target_link_libraries(lammps PUBLIC PkgConfig::CURL)
else()
find_package(CURL REQUIRED)
target_link_libraries(lammps PRIVATE CURL::libcurl)
endif()
endif()

View File

@ -189,7 +189,7 @@ if(GPU_API STREQUAL "CUDA")
endif()
add_executable(nvc_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp)
target_compile_definitions(nvc_get_devices PRIVATE -DUCL_CUDADR)
target_compile_definitions(nvc_get_devices PRIVATE -DUCL_CUDADR -DLAMMPS_${LAMMPS_SIZES})
target_link_libraries(nvc_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
target_include_directories(nvc_get_devices PRIVATE ${CUDA_INCLUDE_DIRS})
@ -489,7 +489,7 @@ else()
target_link_libraries(gpu PRIVATE mpi_stubs)
endif()
target_compile_definitions(gpu PRIVATE -DLAMMPS_${LAMMPS_SIZES})
set_target_properties(gpu PROPERTIES OUTPUT_NAME lammps_gpu${LAMMPS_MACHINE})
target_compile_definitions(gpu PRIVATE -DLAMMPS_${LAMMPS_SIZES})
target_sources(lammps PRIVATE ${GPU_SOURCES})
target_include_directories(lammps PRIVATE ${GPU_SOURCES_DIR})

View File

@ -3,7 +3,7 @@ enable_language(C)
# we don't use the parallel i/o interface.
set(HDF5_PREFER_PARALLEL FALSE)
find_package(HDF5 REQUIRED)
find_package(HDF5 COMPONENTS C REQUIRED)
# parallel HDF5 will import incompatible MPI headers with a serial build
if((NOT BUILD_MPI) AND HDF5_IS_PARALLEL)

View File

@ -72,6 +72,10 @@ if(INTEL_ARCH STREQUAL "KNL")
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
message(FATAL_ERROR "Must use Intel compiler with INTEL for KNL architecture")
endif()
message(WARNING, "Support for Intel Xeon Phi accelerators and Knight's Landing CPUs "
"will be removed from LAMMPS in Summer 2025 due to lack of available machines "
"in labs and HPC centers and removed support in recent compilers "
"Please contact developers@lammps.org if you have any concerns about this step.")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload")
set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"")
target_compile_options(lammps PRIVATE -xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS})

View File

@ -7,10 +7,13 @@ endif()
########################################################################
# consistency checks and Kokkos options/settings required by LAMMPS
if(Kokkos_ENABLE_CUDA)
message(STATUS "KOKKOS: Enabling CUDA LAMBDA function support")
set(Kokkos_ENABLE_CUDA_LAMBDA ON CACHE BOOL "" FORCE)
if(Kokkos_ENABLE_HIP)
option(Kokkos_ENABLE_HIP_MULTIPLE_KERNEL_INSTANTIATIONS "Enable multiple kernel instantiations with HIP" ON)
mark_as_advanced(Kokkos_ENABLE_HIP_MULTIPLE_KERNEL_INSTANTIATIONS)
option(Kokkos_ENABLE_ROCTHRUST "Use RoCThrust library" ON)
mark_as_advanced(Kokkos_ENABLE_ROCTHRUST)
endif()
# Adding OpenMP compiler flags without the checks done for
# BUILD_OMP can result in compile failures. Enforce consistency.
if(Kokkos_ENABLE_OPENMP)
@ -18,6 +21,15 @@ if(Kokkos_ENABLE_OPENMP)
message(FATAL_ERROR "Must enable BUILD_OMP with Kokkos_ENABLE_OPENMP")
endif()
endif()
if(Kokkos_ENABLE_SERIAL)
if(NOT (Kokkos_ENABLE_OPENMP OR Kokkos_ENABLE_THREADS OR
Kokkos_ENABLE_CUDA OR Kokkos_ENABLE_HIP OR Kokkos_ENABLE_SYCL
OR Kokkos_ENABLE_OPENMPTARGET))
option(Kokkos_ENABLE_ATOMICS_BYPASS "Disable atomics for Kokkos Serial Backend" ON)
mark_as_advanced(Kokkos_ENABLE_ATOMICS_BYPASS)
endif()
endif()
########################################################################
option(EXTERNAL_KOKKOS "Build against external kokkos library" OFF)
@ -45,8 +57,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.3.01.tar.gz" CACHE STRING "URL for KOKKOS tarball")
set(KOKKOS_MD5 "243de871b3dc2cf3990c1c404032df83" CACHE STRING "MD5 checksum of KOKKOS tarball")
set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.6.02.tar.gz" CACHE STRING "URL for KOKKOS tarball")
set(KOKKOS_MD5 "14c02fac07bfcec48a1654f88ddee9c6" CACHE STRING "MD5 checksum of KOKKOS tarball")
mark_as_advanced(KOKKOS_URL)
mark_as_advanced(KOKKOS_MD5)
GetFallbackURL(KOKKOS_URL KOKKOS_FALLBACK)
@ -71,7 +83,7 @@ if(DOWNLOAD_KOKKOS)
add_dependencies(LAMMPS::KOKKOSCORE kokkos_build)
add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build)
elseif(EXTERNAL_KOKKOS)
find_package(Kokkos 4.3.01 REQUIRED CONFIG)
find_package(Kokkos 4.6.02 REQUIRED CONFIG)
target_link_libraries(lammps PRIVATE Kokkos::kokkos)
else()
set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos)
@ -127,7 +139,7 @@ if(PKG_KSPACE)
${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(FFT_KOKKOS_VALUES KISS FFTW3 MKL NVPL HIPFFT CUFFT MKL_GPU)
set_property(CACHE FFT_KOKKOS PROPERTY STRINGS ${FFT_KOKKOS_VALUES})
validate_option(FFT_KOKKOS FFT_KOKKOS_VALUES)
string(TOUPPER ${FFT_KOKKOS} FFT_KOKKOS)
@ -137,10 +149,8 @@ if(PKG_KSPACE)
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)
@ -152,10 +162,21 @@ if(PKG_KSPACE)
elseif(FFT_KOKKOS STREQUAL "HIPFFT")
include(DetectHIPInstallation)
find_package(hipfft REQUIRED)
target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_HIPFFT)
target_link_libraries(lammps PRIVATE hip::hipfft)
endif()
elseif(FFT_KOKKOS STREQUAL "MKL_GPU")
if(NOT Kokkos_ENABLE_SYCL)
message(FATAL_ERROR "Using MKL_GPU FFT currently requires the SYCL backend of Kokkos.")
endif()
find_package(MKL REQUIRED)
target_link_libraries(lammps PRIVATE mkl_sycl_dft mkl_intel_ilp64 mkl_tbb_thread mkl_core tbb)
elseif(FFT_KOKKOS STREQUAL "MKL")
find_package(MKL REQUIRED)
elseif(FFT_KOKKOS STREQUAL "NVPL")
find_package(nvpl_fft REQUIRED)
target_link_libraries(lammps PRIVATE nvpl::fftw)
endif()
target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_${FFT_KOKKOS})
endif()
if(PKG_ML-IAP)

View File

@ -10,7 +10,7 @@ if(${FFTW}_FOUND)
else()
set(FFT "KISS" CACHE STRING "FFT library for KSPACE package")
endif()
set(FFT_VALUES KISS FFTW3 MKL)
set(FFT_VALUES KISS FFTW3 MKL NVPL)
set_property(CACHE FFT PROPERTY STRINGS ${FFT_VALUES})
validate_option(FFT FFT_VALUES)
string(TOUPPER ${FFT} FFT)
@ -41,6 +41,10 @@ elseif(FFT STREQUAL "MKL")
target_compile_definitions(lammps PRIVATE -DFFT_MKL_THREADS)
endif()
target_link_libraries(lammps PRIVATE MKL::MKL)
elseif(FFT STREQUAL "NVPL")
find_package(nvpl_fft REQUIRED)
target_compile_definitions(lammps PRIVATE -DFFT_NVPL)
target_link_libraries(lammps PRIVATE nvpl::fftw)
else()
# last option is KISSFFT
target_compile_definitions(lammps PRIVATE -DFFT_KISS)

View File

@ -7,3 +7,23 @@ if(NOT PKG_MANYBODY)
list(REMOVE_ITEM LAMMPS_SOURCES ${LAMMPS_SOURCE_DIR}/MC/fix_sgcmc.cpp)
set_property(TARGET lammps PROPERTY SOURCES "${LAMMPS_SOURCES}")
endif()
# fix hmc may only be installed if also fix rigid/small from RIGID is installed
if(NOT PKG_RIGID)
get_property(LAMMPS_FIX_HEADERS GLOBAL PROPERTY FIX)
list(REMOVE_ITEM LAMMPS_FIX_HEADERS ${LAMMPS_SOURCE_DIR}/MC/fix_hmc.h)
set_property(GLOBAL PROPERTY FIX "${LAMMPS_FIX_HEADERS}")
get_target_property(LAMMPS_SOURCES lammps SOURCES)
list(REMOVE_ITEM LAMMPS_SOURCES ${LAMMPS_SOURCE_DIR}/MC/fix_hmc.cpp)
set_property(TARGET lammps PROPERTY SOURCES "${LAMMPS_SOURCES}")
endif()
# fix neighbor/swap may only be installed if also the VORONOI package is installed
if(NOT PKG_VORONOI)
get_property(LAMMPS_FIX_HEADERS GLOBAL PROPERTY FIX)
list(REMOVE_ITEM LAMMPS_FIX_HEADERS ${LAMMPS_SOURCE_DIR}/MC/fix_neighbor_swap.h)
set_property(GLOBAL PROPERTY FIX "${LAMMPS_FIX_HEADERS}")
get_target_property(LAMMPS_SOURCES lammps SOURCES)
list(REMOVE_ITEM LAMMPS_SOURCES ${LAMMPS_SOURCE_DIR}/MC/fix_neighbor_swap.cpp)
set_property(TARGET lammps PROPERTY SOURCES "${LAMMPS_SOURCES}")
endif()

View File

@ -24,9 +24,7 @@ if(MLIAP_ENABLE_PYTHON)
if(NOT PKG_PYTHON)
message(FATAL_ERROR "Must enable PYTHON package for including Python support in ML-IAP")
endif()
if(Python_VERSION VERSION_LESS 3.6)
message(FATAL_ERROR "Python support in ML-IAP requires Python 3.6 or later")
endif()
# Python version check is in main CMakeLists.txt file
set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython)
file(GLOB MLIAP_CYTHON_SRC CONFIGURE_DEPENDS ${LAMMPS_SOURCE_DIR}/ML-IAP/*.pyx)

View File

@ -1,50 +1,68 @@
# PACE library support for ML-PACE package
find_package(pace QUIET)
# 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)
# 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}")
if(pace_FOUND)
find_package(pace)
target_link_libraries(lammps PRIVATE pace::pace)
else()
# 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)
# 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()
else()
message(STATUS "Using already downloaded archive ${CMAKE_BINARY_DIR}/libpace.tar.gz")
endif()
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2023.11.25.fix2.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
set(PACELIB_MD5 "a53bd87cfee8b07d9f44bc17aad69c3f" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
mark_as_advanced(PACELIB_URL)
mark_as_advanced(PACELIB_MD5)
GetFallbackURL(PACELIB_URL PACELIB_FALLBACK)
# 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()
# 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)
endif()
add_subdirectory(${lib-pace} build-pace)
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
if(CMAKE_PROJECT_NAME STREQUAL "lammps")
target_link_libraries(lammps PRIVATE 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()
# some preinstalled yaml-cpp versions don't provide a namespaced target
find_package(yaml-cpp QUIET)
if(TARGET yaml-cpp AND NOT TARGET yaml-cpp::yaml-cpp)
add_library(yaml-cpp::yaml-cpp ALIAS yaml-cpp)
endif()
# fixup yaml-cpp/emitterutils.cpp for GCC 15+ until patch is applied
file(READ ${lib-pace}/yaml-cpp/src/emitterutils.cpp yaml_emitterutils)
string(REPLACE "#include <sstream>" "#include <sstream>\n#include <cinttypes>" yaml_tmp_emitterutils "${yaml_emitterutils}")
string(REPLACE "#include <cinttypes>\n#include <cinttypes>" "#include <cinttypes>" yaml_emitterutils "${yaml_tmp_emitterutils}")
file(WRITE ${lib-pace}/yaml-cpp/src/emitterutils.cpp "${yaml_emitterutils}")
add_subdirectory(${lib-pace} build-pace EXCLUDE_FROM_ALL)
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
if(CMAKE_PROJECT_NAME STREQUAL "lammps")
target_link_libraries(lammps PRIVATE pace)
endif()
endif()

View File

@ -37,7 +37,7 @@ if(DOWNLOAD_QUIP)
endforeach()
# Fix cmake crashing when MATH_LINKOPTS not set, required for e.g. recent Cray Programming Environment
set(temp "${temp} -L/_DUMMY_PATH_\n")
set(temp "${temp}PYTHON=python\nPIP=pip\nEXTRA_LINKOPTS=\n")
set(temp "${temp}PYTHON=${Python_EXECUTABLE}\nPIP=pip\nEXTRA_LINKOPTS=\n")
set(temp "${temp}HAVE_CP2K=0\nHAVE_VASP=0\nHAVE_TB=0\nHAVE_PRECON=1\nHAVE_LOTF=0\nHAVE_ONIOM=0\n")
set(temp "${temp}HAVE_LOCAL_E_MIX=0\nHAVE_QC=0\nHAVE_GAP=1\nHAVE_DESCRIPTORS_NONCOMMERCIAL=1\n")
set(temp "${temp}HAVE_TURBOGAP=0\nHAVE_QR=1\nHAVE_THIRDPARTY=0\nHAVE_FX=0\nHAVE_SCME=0\nHAVE_MTP=0\n")

View File

@ -32,14 +32,21 @@ endif()
# 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"
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.9.3/plumed-src-2.9.3.tgz"
CACHE STRING "URL for PLUMED tarball")
set(PLUMED_MD5 "c3b2d31479c1e9ce211719d40e9efbd7" CACHE STRING "MD5 checksum of PLUMED tarball")
set(PLUMED_MD5 "ee1249805fe94bccee17d10610d3f6f1" CACHE STRING "MD5 checksum of PLUMED tarball")
mark_as_advanced(PLUMED_URL)
mark_as_advanced(PLUMED_MD5)
GetFallbackURL(PLUMED_URL PLUMED_FALLBACK)
# adjust C++ standard support for self-compiled Plumed2
if(CMAKE_CXX_STANDARD GREATER 11)
set(PLUMED_CXX_STANDARD 14)
else()
set(PLUMED_CXX_STANDARD 11)
endif()
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND (CMAKE_CROSSCOMPILING))
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
set(CROSS_CONFIGURE mingw64-configure)
@ -55,7 +62,7 @@ if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND (CMAKE_CROSSCOMPILING))
URL_MD5 ${PLUMED_MD5}
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND ${CROSS_CONFIGURE} --disable-shared --disable-bsymbolic
--disable-python --enable-cxx=11
--disable-python --enable-cxx=${PLUMED_CXX_STANDARD}
--enable-modules=-adjmat:+crystallization:-dimred:+drr:+eds:-fisst:+funnel:+logmfd:+manyrestraints:+maze:+opes:+multicolvar:-pamm:-piv:+s2cm:-sasa:-ves
${PLUMED_CONFIG_OMP}
${PLUMED_CONFIG_MPI}
@ -142,7 +149,7 @@ else()
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
${CONFIGURE_REQUEST_PIC}
--enable-modules=all
--enable-cxx=11
--enable-cxx=${PLUMED_CXX_STANDARD}
--disable-python
${PLUMED_CONFIG_MPI}
${PLUMED_CONFIG_OMP}

View File

@ -1,6 +1,6 @@
if(NOT Python_INTERPRETER)
# backward compatibility with CMake before 3.12 and older LAMMPS documentation
# backward compatibility with older LAMMPS documentation
if(PYTHON_EXECUTABLE)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()

View File

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

View File

@ -14,27 +14,16 @@ endif()
option(DOWNLOAD_SCAFACOS "Download ScaFaCoS library instead of using an already installed one" ${DOWNLOAD_SCAFACOS_DEFAULT})
if(DOWNLOAD_SCAFACOS)
message(STATUS "ScaFaCoS download requested - we will build our own")
set(SCAFACOS_URL "https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz" CACHE STRING "URL for SCAFACOS tarball")
set(SCAFACOS_MD5 "bd46d74e3296bd8a444d731bb10c1738" CACHE STRING "MD5 checksum of SCAFACOS tarball")
set(SCAFACOS_URL "https://github.com/scafacos/scafacos/releases/download/v1.0.4/scafacos-1.0.4.tar.gz" CACHE STRING "URL for SCAFACOS tarball")
set(SCAFACOS_MD5 "23867540ec32e63ce71d6ecc105278d2" CACHE STRING "MD5 checksum of SCAFACOS tarball")
mark_as_advanced(SCAFACOS_URL)
mark_as_advanced(SCAFACOS_MD5)
GetFallbackURL(SCAFACOS_URL SCAFACOS_FALLBACK)
# version 1.0.1 needs a patch to compile and linke cleanly with GCC 10 and later.
file(DOWNLOAD ${LAMMPS_THIRDPARTY_URL}/scafacos-1.0.1-fix.diff ${CMAKE_CURRENT_BINARY_DIR}/scafacos-1.0.1.fix.diff
EXPECTED_HASH MD5=4baa1333bb28fcce102d505e1992d032)
find_program(HAVE_PATCH patch)
if(NOT HAVE_PATCH)
message(FATAL_ERROR "The 'patch' program is required to build the ScaFaCoS library")
endif()
include(ExternalProject)
ExternalProject_Add(scafacos_build
URL ${SCAFACOS_URL} ${SCAFACOS_FALLBACK}
URL_MD5 ${SCAFACOS_MD5}
PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_BINARY_DIR}/scafacos-1.0.1.fix.diff
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --disable-doc
--enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m
--with-internal-fftw --with-internal-pfft

View File

@ -54,5 +54,5 @@ else()
if(NOT VORO_FOUND)
message(FATAL_ERROR "Voro++ library not found. Help CMake to find it by setting VORO_LIBRARY and VORO_INCLUDE_DIR, or set DOWNLOAD_VORO=ON to download it")
endif()
target_link_libraries(lammps PRIVATE VORO::VORO)
target_link_libraries(lammps PRIVATE VORO::voro++)
endif()

View File

@ -1,3 +1,5 @@
# FindVTK requires that C support is enabled when looking for MPI support
enable_language(C)
find_package(VTK REQUIRED NO_MODULE)
target_compile_definitions(lammps PRIVATE -DLAMMPS_VTK)
if (VTK_MAJOR_VERSION VERSION_LESS 9.0)

View File

@ -21,11 +21,11 @@ if(ENABLE_TESTING)
# also only verified with Fedora Linux > 30 and Ubuntu 18.04 or 22.04+(Ubuntu 20.04 fails)
if((CMAKE_SYSTEM_NAME STREQUAL "Linux")
AND ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")))
if(((CMAKE_LINUX_DISTRO STREQUAL "Ubuntu") AND
((CMAKE_DISTRO_VERSION VERSION_LESS_EQUAL 18.04) OR (CMAKE_DISTRO_VERSION VERSION_GREATER_EQUAL 22.04)))
if(((CMAKE_LINUX_DISTRO STREQUAL "Ubuntu") AND (CMAKE_DISTRO_VERSION VERSION_GREATER_EQUAL 22.04))
OR ((CMAKE_LINUX_DISTRO STREQUAL "Fedora") AND (CMAKE_DISTRO_VERSION VERSION_GREATER 30)))
include(CheckCXXCompilerFlag)
set(CMAKE_CUSTOM_LINKER_DEFAULT default)
check_cxx_compiler_flag(--ld-path=${CMAKE_LINKER} HAVE_LD_PATH_FLAG)
check_cxx_compiler_flag(-fuse-ld=mold HAVE_MOLD_LINKER_FLAG)
check_cxx_compiler_flag(-fuse-ld=lld HAVE_LLD_LINKER_FLAG)
check_cxx_compiler_flag(-fuse-ld=gold HAVE_GOLD_LINKER_FLAG)
@ -50,6 +50,17 @@ if(ENABLE_TESTING)
if(NOT "${CMAKE_CUSTOM_LINKER}" STREQUAL "default")
target_link_options(lammps PUBLIC -fuse-ld=${CMAKE_CUSTOM_LINKER})
endif()
if(HAVE_LD_PATH_FLAG)
if("${CMAKE_CUSTOM_LINKER}" STREQUAL "mold")
target_link_options(lammps PUBLIC --ld-path=${HAVE_MOLD_LINKER_BIN})
elseif("${CMAKE_CUSTOM_LINKER}" STREQUAL "lld")
target_link_options(lammps PUBLIC --ld-path=${HAVE_LLD_LINKER_BIN})
elseif("${CMAKE_CUSTOM_LINKER}" STREQUAL "gold")
target_link_options(lammps PUBLIC --ld-path=${HAVE_GOLD_LINKER_BIN})
elseif("${CMAKE_CUSTOM_LINKER}" STREQUAL "bfd")
target_link_options(lammps PUBLIC --ld-path=${HAVE_BFD_LINKER_BIN})
endif()
endif()
endif()
endif()

View File

@ -6,6 +6,10 @@ if(BUILD_TOOLS)
add_executable(stl_bin2txt ${LAMMPS_TOOLS_DIR}/stl_bin2txt.cpp)
install(TARGETS stl_bin2txt DESTINATION ${CMAKE_INSTALL_BINDIR})
add_executable(reformat-json ${LAMMPS_TOOLS_DIR}/json/reformat-json.cpp)
target_include_directories(reformat-json PRIVATE ${LAMMPS_SOURCE_DIR})
install(TARGETS reformat-json DESTINATION ${CMAKE_INSTALL_BINDIR})
include(CheckGeneratorSupport)
if(CMAKE_GENERATOR_SUPPORT_FORTRAN)
include(CheckLanguage)

View File

@ -7,6 +7,11 @@ export LC_ALL=C
BASEDIR="$(dirname "$0")"
EXENAME="$(basename "$0")"
# save old settings (for restoring them later)
OLDPATH="${PATH}"
OLDLDLIB="${LD_LIBRARY_PATH}"
# prepend path to find our custom executables
PATH="${BASEDIR}/bin:${PATH}"
# append to LD_LIBRARY_PATH to prefer local (newer) libs
@ -15,6 +20,8 @@ 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 PATH
# export everything
export LD_LIBRARY_PATH LAMMPS_POTENTIALS MSI2LMP_LIBRARY PATH OLDPATH OLDLDLIB
exec "${BASEDIR}/bin/${EXENAME}" "$@"

View File

@ -33,6 +33,14 @@
#
#---------------------------------------------
# restore previously saved environment variables, if available
if [ -n "${OLDPATH}" ]
then
PATH="${OLDPATH}"
LD_LIBRARY_PATH="${OLDLDLIB}"
export PATH LD_LIBRARY_PATH
fi
NEW_LIBRARY_PATH="/usr/local/lib64"
for s in $(echo $LD_LIBRARY_PATH | sed -e 's/:/ /g')
do \

View File

@ -4,6 +4,7 @@
set(ALL_PACKAGES
ADIOS
AMOEBA
APIP
ASPHERE
ATC
AWPMD

View File

@ -6,6 +6,7 @@
set(ALL_PACKAGES
ADIOS
AMOEBA
APIP
ASPHERE
ATC
AWPMD

View File

@ -19,12 +19,19 @@ set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(MPI_CXX "hipcc" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
set(MPI_C "hipcc" CACHE STRING "" FORCE)
set(MPI_C_COMPILER "mpicc" CACHE STRING "" FORCE)
# change as needed. This is for Fedora Linux 41 and 42
set(_libomp_root "/usr/lib/clang/18")
# we need to explicitly specify the include dir, since hipcc will
# compile each file twice and doesn't find omp.h the second time
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "hipcc" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-fopenmp=libomp -I${_libomp_root}/include" CACHE STRING "" FORCE)
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_CXX "hipcc" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-fopenmp=libomp -I${_libomp_root}/include" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "libomp.so" CACHE PATH "" FORCE)

View File

@ -1,10 +1,8 @@
# preset that enables KOKKOS and selects CUDA compilation with OpenMP
# enabled as well. This preselects CC 5.0 as default GPU arch, since
# that is compatible with all higher CC, but not the default CC 3.5
# enabled as well. The GPU architecture *must* match your hardware (If not manually set, Kokkos will try to autodetect it).
set(PKG_KOKKOS ON CACHE BOOL "" FORCE)
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)

View File

@ -1,22 +1,21 @@
# preset that enables KOKKOS and selects HIP compilation with OpenMP
# enabled as well. Also sets some performance related compiler flags.
# preset that enables KOKKOS and selects HIP compilation withOUT OpenMP.
# Kokkos OpenMP is not compatible with the second pass of hipcc.
set(PKG_KOKKOS ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_OPENMP OFF CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_HIP ON CACHE BOOL "" FORCE)
set(Kokkos_ARCH_VEGA90A on CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_HIP_MULTIPLE_KERNEL_INSTANTIATIONS ON CACHE BOOL "" FORCE)
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)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -munsafe-fp-atomics" CACHE STRING "" FORCE)
# If KSPACE is also enabled, use CUFFT for FFTs
# If KSPACE is also enabled, use HIPFFT 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)
#set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)
# these flags are needed to build with Cray MPICH on OLCF Crusher
#-D CMAKE_CXX_FLAGS="-I/${MPICH_DIR}/include"

View File

@ -0,0 +1,30 @@
# preset that enables KOKKOS and selects SYCL compilation with OpenMP
# enabled as well. Also sets some performance related compiler flags.
set(PKG_KOKKOS ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_SYCL ON CACHE BOOL "" FORCE)
set(FFT "MKL" CACHE STRING "" FORCE)
set(FFT_KOKKOS "MKL_GPU" CACHE STRING "" FORCE)
unset(USE_INTERNAL_LINALG)
unset(USE_INTERNAL_LINALG CACHE)
set(BLAS_VENDOR "Intel10_64_dyn")
# hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)
set(CMAKE_CXX_COMPILER icpx CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER icx CACHE STRING "" FORCE)
set(CMAKE_Fortran_COMPILER "" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
set(CMAKE_CXX_STANDARD 17 CACHE STRING "" FORCE)
# set(_intel_sycl_flags " -w -fsycl -flink-huge-device-code -fsycl-targets=spir64_gen "
set(_intel_sycl_flags " -w -fsycl -fsycl-device-code-split=per_kernel -fsycl-targets=spir64_gen ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_intel_sycl_flags}" CACHE STRING "" FORCE)
#set(CMAKE_EXE_LINKER_FLAGS "-fsycl -flink-huge-device-code -fsycl-targets=spir64_gen " CACHE STRING "" FORCE)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsycl -flink-huge-device-code " CACHE STRING "" FORCE)

View File

@ -14,5 +14,7 @@ set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)
set(CMAKE_CXX_COMPILER clang++ CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
set(CMAKE_CXX_STANDARD 17 CACHE STRING "" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS "-Xsycl-target-frontend -O3" CACHE STRING "" FORCE)
set(CMAKE_TUNE_FLAGS "-fgpu-inline-threshold=100000 -Xsycl-target-frontend -O3 -Xsycl-target-frontend -ffp-contract=on -Wno-unknown-cuda-version" CACHE STRING "" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Xsycl-target-frontend -O3 " CACHE STRING "" FORCE)
set(_intel_sycl_flags "-fgpu-inline-threshold=100000 -Xsycl-target-frontend -O3 -Xsycl-target-frontend -ffp-contract=on -Wno-unknown-cuda-version")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_intel_sycl_flags}" CACHE STRING "" FORCE)

View File

@ -67,6 +67,7 @@ set(WIN_PACKAGES
REACTION
REAXFF
REPLICA
RHEO
RIGID
SHOCK
SMTBQ
@ -90,7 +91,7 @@ endif()
set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE)
set(DOWNLOAD_EIGEN3 ON CACHE BOOL "" FORCE)
set(LAMMPS_MEMALIGN "0" CACHE STRING "" FORCE)
set(CMAKE_TUNE_FLAGS "-Wno-missing-include-dirs" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-include-dirs" CACHE STRING "" FORCE)
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--enable-stdcall-fixup,--as-needed,-lssp" CACHE STRING "" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--enable-stdcall-fixup,--as-needed,-lssp" CACHE STRING "" FORCE)
set(BUILD_TOOLS ON CACHE BOOL "" FORCE)

View File

@ -60,6 +60,7 @@ set(ALL_PACKAGES
REACTION
REAXFF
REPLICA
RHEO
RIGID
SHOCK
SPH

View File

@ -3,6 +3,7 @@
set(PACKAGES_WITH_LIB
ADIOS
APIP
ATC
AWPMD
COMPRESS

View File

@ -3,26 +3,9 @@
set(CMAKE_CXX_COMPILER "icpx" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "icx" CACHE STRING "" FORCE)
set(CMAKE_Fortran_COMPILER "ifx" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(MPI_CXX "icpx" CACHE STRING "" FORCE)
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_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_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_Fortran_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "libiomp5.so" CACHE PATH "" FORCE)
# force using internal BLAS/LAPCK since external ones may not be ABI compatible
set(USE_INTERNAL_LINALG ON CACHE BOOL "" FORCE)

View File

@ -5,4 +5,4 @@ set(CMAKE_C_COMPILER "icx" CACHE STRING "" FORCE)
set(CMAKE_Fortran_COMPILER "ifx" CACHE STRING "" FORCE)
set(INTEL_LRT_MODE "C++11" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(CMAKE_TUNE_FLAGS -Wno-unused-command-line-argument)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-command-line-argument" CACHE STRING "" FORCE)

View File

@ -60,6 +60,7 @@ set(WIN_PACKAGES
REACTION
REAXFF
REPLICA
RHEO
RIGID
SHOCK
SMTBQ

7
doc/.gitignore vendored
View File

@ -17,3 +17,10 @@
*.el
/utils/sphinx-config/_static/mathjax
/utils/sphinx-config/_static/polyfill.js
/src/pairs.rst
/src/bonds.rst
/src/angles.rst
/src/dihedrals.rst
/src/impropers.rst
/src/computes.rst
/src/fixes.rst

View File

@ -17,9 +17,11 @@ MATHJAXTAG = 3.2.2
PYTHON = $(word 3,$(shell type python3))
DOXYGEN = $(word 3,$(shell type doxygen))
PANDOC = $(word 3,$(shell type pandoc))
HAS_PYTHON3 = NO
HAS_DOXYGEN = NO
HAS_PDFLATEX = NO
HAS_PANDOC = NO
ifeq ($(shell type python3 >/dev/null 2>&1; echo $$?), 0)
HAS_PYTHON3 = YES
@ -31,10 +33,14 @@ endif
ifeq ($(shell type pdflatex >/dev/null 2>&1; echo $$?), 0)
ifeq ($(shell type latexmk >/dev/null 2>&1; echo $$?), 0)
HAS_PDFLATEX = YES
HAS_PDFLATEX = YES
endif
endif
ifeq ($(shell type pandoc >/dev/null 2>&1; echo $$?), 0)
HAS_PANDOC = YES
endif
# override settings for PIP commands
# PIP_OPTIONS = --cert /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt --proxy http://proxy.mydomain.org
@ -45,8 +51,9 @@ SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocess
# we only want to use explicitly listed files.
DOXYFILES = $(shell sed -n -e 's/\#.*$$//' -e '/^ *INPUT \+=/,/^[A-Z_]\+ \+=/p' doxygen/Doxyfile.in | sed -e 's/@LAMMPS_SOURCE_DIR@/..\/src/g' -e 's/\\//g' -e 's/ \+/ /' -e 's/[A-Z_]\+ \+= *\(YES\|NO\|\)//')
.PHONY: help clean-all clean clean-spelling epub mobi html pdf spelling anchor_check style_check char_check role_check xmlgen fasthtml
.PHONY: help clean-all clean clean-spelling epub mobi html pdf spelling anchor_check style_check char_check role_check xmlgen fasthtml fasthtml-init
FASTHTMLFILES = $(patsubst $(RSTDIR)/%.rst,fasthtml/%.html,$(wildcard $(RSTDIR)/*rst))
# ------------------------------------------
help:
@ -83,14 +90,15 @@ $(SPHINXCONFIG)/conf.py: $(SPHINXCONFIG)/conf.py.in
-e 's,@LAMMPS_PYTHON_DIR@,$(BUILDDIR)/../python,g' \
-e 's,@LAMMPS_DOC_DIR@,$(BUILDDIR),g' $< > $@
html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
globbed-tocs:
$(PYTHON) $(BUILDDIR)/utils/make-globbed-tocs.py -d $(RSTDIR)
html: xmlgen globbed-tocs $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
@if [ "$(HAS_BASH)" == "NO" ] ; then echo "bash was not found at $(OSHELL)! Please use: $(MAKE) SHELL=/path/to/bash" 1>&2; exit 1; fi
@$(MAKE) $(MFLAGS) -C graphviz all
@(\
. $(VENV)/bin/activate ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \
sphinx-build -E $(SPHINXEXTRA) -b html -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
touch $(RSTDIR)/Fortran.rst ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \
sphinx-build $(SPHINXEXTRA) -b html -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
ln -sf Manual.html html/index.html;\
rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\
echo "############################################" ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \
@ -102,6 +110,8 @@ html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
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 ;\
env LC_ALL=C grep -n -E '^ *\.\. [a-z0-9]+:(\s+.*|)$$' \
$(RSTDIR)/*.rst ../src/*.{cpp,h} ../src/*/*.{cpp,h} ;\
echo "############################################" ;\
deactivate ;\
)
@ -113,26 +123,24 @@ html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
@rm -rf html/PDF/.[sg]*
@echo "Build finished. The HTML pages are in doc/html."
fasthtml: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
@if [ "$(HAS_BASH)" == "NO" ] ; then echo "bash was not found at $(OSHELL)! Please use: $(MAKE) SHELL=/path/to/bash" 1>&2; exit 1; fi
@$(MAKE) $(MFLAGS) -C graphviz all
@mkdir -p fasthtml
@(\
. $(VENV)/bin/activate ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \
sphinx-build $(SPHINXEXTRA) -b html -c $(SPHINXCONFIG) -d $(BUILDDIR)/fasthtml/doctrees $(RSTDIR) fasthtml ;\
touch $(RSTDIR)/Fortran.rst ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \
sphinx-build $(SPHINXEXTRA) -b html -c $(SPHINXCONFIG) -d $(BUILDDIR)/fasthtml/doctrees $(RSTDIR) fasthtml ;\
deactivate ;\
)
@rm -rf fasthtml/_sources
@rm -rf fasthtml/PDF
@rm -rf fasthtml/USER
@rm -rf fasthtml/JPG
@cp -r src/PDF fasthtml/PDF
@rm -rf fasthtml/PDF/.[sg]*
fasthtml: fasthtml-init $(FASTHTMLFILES)
@echo "Fast HTML build finished. The HTML pages are in doc/fasthtml."
spelling: xmlgen $(SPHINXCONFIG)/conf.py $(VENV) $(SPHINXCONFIG)/false_positives.txt
fasthtml-init:
@mkdir -p fasthtml/JPG
@cp src/JPG/*.* fasthtml/JPG
@cp $(RSTDIR)/accel_styles.rst $(RSTDIR)/lepton_expression.rst fasthtml/
@cp $(BUILDDIR)/utils/pandoc.css fasthtml/
fasthtml/%.html: $(RSTDIR)/%.rst
@if [ "$(HAS_PANDOC)" == "NO" ] ; then echo "Make 'fasthtml' requires the 'pandoc' software" 1>&2; exit 1; fi
@mkdir -p fasthtml
@echo converting $< to $@
@sed -e 's/\\AA/\\mathring{\\mathrm{A}}/g' $< > fasthtml/$*.temp.rst
@pandoc -s --mathml --css="pandoc.css" --template=$(BUILDDIR)/utils/pandoc.html --metadata title="$@" -o $@ fasthtml/$*.temp.rst
@rm -f fasthtml/$*.temp.rst
spelling: xmlgen globbed-tocs $(SPHINXCONFIG)/conf.py $(VENV) $(SPHINXCONFIG)/false_positives.txt
@if [ "$(HAS_BASH)" == "NO" ] ; then echo "bash was not found at $(OSHELL)! Please use: $(MAKE) SHELL=/path/to/bash" 1>&2; exit 1; fi
@(\
. $(VENV)/bin/activate ; \
@ -143,7 +151,7 @@ spelling: xmlgen $(SPHINXCONFIG)/conf.py $(VENV) $(SPHINXCONFIG)/false_positives
)
@echo "Spell check finished."
epub: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
epub: xmlgen globbed-tocs $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
@if [ "$(HAS_BASH)" == "NO" ] ; then echo "bash was not found at $(OSHELL)! Please use: $(MAKE) SHELL=/path/to/bash" 1>&2; exit 1; fi
@$(MAKE) $(MFLAGS) -C graphviz all
@mkdir -p epub/JPG
@ -152,8 +160,6 @@ epub: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
@(\
. $(VENV)/bin/activate ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \
sphinx-build -E $(SPHINXEXTRA) -b epub -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) epub ;\
touch $(RSTDIR)/Fortran.rst ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \
sphinx-build $(SPHINXEXTRA) -b epub -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) epub ;\
rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\
deactivate ;\
)
@ -166,15 +172,13 @@ mobi: epub
@ebook-convert LAMMPS.epub LAMMPS.mobi
@echo "Conversion finished. The MOBI manual file is created."
pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
pdf: xmlgen globbed-tocs $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
@if [ "$(HAS_BASH)" == "NO" ] ; then echo "bash was not found at $(OSHELL)! Please use: $(MAKE) SHELL=/path/to/bash" 1>&2; exit 1; fi
@$(MAKE) $(MFLAGS) -C graphviz all
@if [ "$(HAS_PDFLATEX)" == "NO" ] ; then echo "PDFLaTeX or latexmk were not found! Please check README for further instructions" 1>&2; exit 1; fi
@(\
. $(VENV)/bin/activate ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \
sphinx-build -E $(SPHINXEXTRA) -b latex -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\
touch $(RSTDIR)/Fortran.rst ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \
sphinx-build $(SPHINXEXTRA) -b latex -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\
rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\
echo "############################################" ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \
rst_anchor_check src/*.rst ;\
@ -185,6 +189,8 @@ pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
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 ;\
env LC_ALL=C grep -n -E '^ *\.\. [a-z0-9]+:(\s+.*|)$$' \
$(RSTDIR)/*.rst ../src/*.{cpp,h} ../src/*/*.{cpp,h} ;\
echo "############################################" ;\
deactivate ;\
)
@ -234,6 +240,8 @@ role_check :
@( 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 || : )
@( env LC_ALL=C grep -n -E '^ *\.\. [a-z0-9]+:(\s+.*|)$$' \
$(RSTDIR)/*.rst ../src/*.{cpp,h} ../src/*/*.{cpp,h} && exit 1 || : )
link_check : $(VENV) html
@(\
@ -242,6 +250,15 @@ link_check : $(VENV) html
deactivate ;\
)
upgrade: $(VENV)
@(\
. $(VENV)/bin/activate; \
pip $(PIP_OPTIONS) install --upgrade pip; \
pip $(PIP_OPTIONS) install --upgrade wheel; \
pip $(PIP_OPTIONS) install --upgrade -r $(BUILDDIR)/utils/requirements.txt; \
deactivate;\
)
xmlgen : doxygen/xml/index.xml
doxygen/Doxyfile: doxygen/Doxyfile.in

View File

@ -22,12 +22,12 @@ doxygen-warn.log logfile with warnings from running doxygen
and:
github-development-workflow.md notes on the LAMMPS development workflow
include-file-conventions.md notes on LAMMPS' include file conventions
documentation_conventions.md notes on writing documentation for LAMMPS
If you downloaded a LAMMPS tarball from www.lammps.org, then the html
folder and the PDF manual should be included. If you downloaded LAMMPS
from GitHub then you either need to build them.
using GitHub then you either need to build them yourself or read the
online version at https://docs.lammps.org/
You can build the HTML and PDF files yourself, by typing "make html"
or by "make pdf", respectively. This requires various tools and files.
@ -39,10 +39,10 @@ environment and local folders.
Installing prerequisites for the documentation build
To run the HTML documention build toolchain, python 3.x, doxygen, git,
and the venv python module have to be installed if not already available.
Also internet access is initially required to download external files
and tools.
To run the HTML documention build toolchain, python 3.8 or later,
doxygen 1.8.10 or later, git, and the venv python module have to be
installed if not already available. Also internet access is initially
required to download external files and tools.
Building the PDF format manual requires in addition a compatible LaTeX
installation with support for PDFLaTeX and several add-on LaTeX packages
@ -52,16 +52,24 @@ installed. This includes:
- babel
- capt-of
- cmap
- dvipng
- ellipse
- fncychap
- fontawesom
- framed
- geometry
- gyre
- hyperref
- hypcap
- needspace
- pict2e
- times
- tabulary
- titlesec
- upquote
- wrapfig
- xindy
Also the latexmk script is required to run PDFLaTeX and related tools.
the required number of times to have self-consistent output and include
updated bibliography and indices.

View File

@ -10,7 +10,7 @@ Last change: 2022-12-30
In fall 2019, the LAMMPS documentation file format has changed from a
home grown markup designed to generate HTML format files only, to
[reStructuredText](https://docutils.sourceforge.io/rst.html>. For a
[reStructuredText](https://docutils.sourceforge.io/rst.html>). For a
transition period all files in the old .txt format were transparently
converted to .rst and then processed. The `txt2rst tool` is still
included in the distribution to obtain an initial .rst file for legacy
@ -45,8 +45,7 @@ what kind of information and sections are needed.
## Formatting conventions
For headlines we try to follow the conventions posted here:
https://documentation-style-guide-sphinx.readthedocs.io/en/latest/style-guide.html#headings
For headlines we try to follow the conventions posted [here](https://documentation-style-guide-sphinx.readthedocs.io/en/latest/style-guide.html#headings).
It seems to be sufficient to have this consistent only within
any single file and it is not (yet) enforced strictly, but making
this globally consistent makes it easier to move sections around.
@ -64,7 +63,7 @@ Groups of shell commands or LAMMPS input script or C/C++/Python source
code should be typeset into a `.. code-block::` section. A syntax
highlighting extension for LAMMPS input scripts is provided, so `LAMMPS`
can be used to indicate the language in the code block in addition to
`bash`, `c`, `c++`, `console`, `csh`, `diff', `fortran`, `json`, `make`,
`bash`, `c`, `c++`, `console`, `csh`, `diff`, `fortran`, `json`, `make`,
`perl`, `powershell`, `python`, `sh`, or `tcl`, `text`, or `yaml`. When
no syntax style is indicated, no syntax highlighting is performed. When
typesetting commands executed on the shell, please do not prefix
@ -84,7 +83,7 @@ block can be used, followed by multiple `.. tab::` blocks, one
for each alternative. This is only used for HTML output. For other
outputs, the `.. tabs::` directive is transparently removed and
the individual `.. tab::` blocks will be replaced with an
`.. admonition::`` block. Thus in PDF and ePUB output those will
`.. admonition::` block. Thus in PDF and ePUB output those will
be realized as sequential and plain notes.
Special remarks can be highlighted with a `.. note::` block and

View File

@ -2,7 +2,7 @@
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "LAMMPS Programmer's Guide"
PROJECT_NUMBER = "4 May 2022"
PROJECT_NUMBER = "19 November 2024"
PROJECT_BRIEF = "Documentation of the LAMMPS library interface and Python wrapper"
PROJECT_LOGO = lammps-logo.png
CREATE_SUBDIRS = NO

View File

@ -6,7 +6,9 @@ choices the LAMMPS developers have agreed on. Git and GitHub provide the
tools, but do not set policies, so it is up to the developers to come to
an agreement as to how to define and interpret policies. This document
is likely to change as our experiences and needs change, and we try to
adapt it accordingly. Last change 2023-02-10.
adapt it accordingly.
Last change: 2023-02-10
## Table of Contents
@ -72,7 +74,7 @@ be assigned to signal urgency to merge this pull request quickly.
People can be assigned to review a pull request in two ways:
* They can be assigned manually to review a pull request
by the submitter or a LAMMPS developer
by the submitter or a LAMMPS developer.
* They can be automatically assigned, because a developer's GitHub
handle matches a file pattern in the `.github/CODEOWNERS` file,
which associates developers with the code they contributed and
@ -86,9 +88,9 @@ required before merging, in addition to passing all automated
compilation and unit tests. Merging counts as implicit approval, so
does submission of a pull request (by a LAMMPS developer). So the person
doing the merge may not also submit an approving review. The GitHub
feature, that reviews from code owners are "hard" reviews (i.e. they
must all approve before merging is allowed), is currently disabled.
It is in the discretion of the merge maintainer to assess when a
feature that reviews from code owners are "hard" reviews (i.e. they
must all approve before merging is allowed) is currently disabled.
It is at the discretion of the merge maintainer to assess when a
sufficient degree of approval has been reached, especially from external
collaborators. Reviews may be (automatically) dismissed, when the
reviewed code has been changed. Review may be requested a second time.
@ -147,7 +149,8 @@ only contain bug fixes, feature additions to peripheral functionality,
and documentation updates. In between stable releases, bug fixes and
infrastructure updates are back-ported from the "develop" branch to the
"maintenance" branch and occasionally merged into "stable" and published
as update releases.
as update releases. Further explanation of LAMMPS versions can be found
[in the documentation](https://docs.lammps.org/Manual_version.html).
## Project Management

View File

@ -5,13 +5,13 @@ digraph releases {
github -> develop [label="Merge commits"];
{
rank = "same";
work [shape="none" label="Development branches:"]
work [shape="none" label="Development branches:" fontname="bold"]
develop [label="'develop' branch" height=0.75];
maintenance [label="'maintenance' branch" height=0.75];
};
{
rank = "same";
upload [shape="none" label="Release branches:"]
upload [shape="none" label="Release branches:" fontname="bold"]
release [label="'release' branch" height=0.75];
stable [label="'stable' branch" height=0.75];
};
@ -22,7 +22,7 @@ digraph releases {
maintenance -> stable [label="Updates to stable release"];
{
rank = "same";
tag [shape="none" label="Applied tags:"];
tag [shape="none" label="Applied tags:" fontname="bold"];
patchtag [shape="box" label="patch_<date>"];
stabletag [shape="box" label="stable_<date>"];
updatetag [shape="box" label="stable_<date>_update<num>"];

View File

@ -1,7 +1,7 @@
.TH LAMMPS "1" "29 August 2024" "2024-08-29"
.TH LAMMPS "1" "12 June 2025" "2025-06-12"
.SH NAME
.B LAMMPS
\- Molecular Dynamics Simulator. Version 29 August 2024
\- Molecular Dynamics Simulator. Version 12 June 2025
.SH SYNOPSIS
.B lmp
@ -311,7 +311,7 @@ the chapter on errors in the
manual gives some additional information about error messages, if possible.
.SH COPYRIGHT
© 2003--2024 Sandia Corporation
© 2003--2025 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,4 +1,4 @@
.TH MSI2LMP "1" "v3.9.10" "2023-03-10"
.TH MSI2LMP "1" "v3.9.11" "2024-09-06"
.SH NAME
.B MSI2LMP
\- Converter for Materials Studio files to LAMMPS
@ -101,7 +101,7 @@ msi2lmp decane -c 0 -f oplsaa
.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,10 +1,14 @@
Build LAMMPS
============
LAMMPS is built as a library and an executable from source code using
either traditional makefiles for use with GNU make (which may require
manual editing), or using a build environment generated by CMake (Unix
Makefiles, Ninja, Xcode, Visual Studio, KDevelop, CodeBlocks and more).
LAMMPS is built as a library and an executable from source code using a
build environment generated by CMake (Unix Makefiles, Ninja, Xcode,
Visual Studio, KDevelop, CodeBlocks and more depending on the platform).
Using CMake is the preferred way to build LAMMPS. In addition, LAMMPS
can be compiled using the legacy build system based on traditional
makefiles for use with GNU make (which may require manual editing).
Support for the legacy build system is slowly being phased out and may
not be available for all optional features.
As an alternative, you can download a package with pre-built executables
or automated build trees, as described in the :doc:`Install <Install>`
@ -13,6 +17,7 @@ section of the manual.
.. toctree::
:maxdepth: 1
Build_prerequisites
Build_cmake
Build_make
Build_link

View File

@ -160,7 +160,7 @@ with the OpenMP 3.1 semantics used in LAMMPS for maximal compatibility
with compiler versions in use. If compilation with OpenMP enabled fails
because of your compiler requiring strict OpenMP 4.0 semantics, you can
change the behavior by adding ``-D LAMMPS_OMP_COMPAT=4`` to the
``LMP_INC`` variable in your makefile, or add it to the command line
``LMP_INC`` variable in your makefile, or add it to the command-line flags
while configuring with CMake. LAMMPS will auto-detect a suitable setting
for most GNU, Clang, and Intel compilers.
@ -196,22 +196,23 @@ LAMMPS.
.. tab:: CMake build
By default CMake will use the compiler it finds according to
By default CMake will use the compiler it finds according to its
internal preferences, and it will add optimization flags
appropriate to that compiler and any :doc:`accelerator packages
<Speed_packages>` you have included in the build. CMake will
check if the detected or selected compiler is compatible with the
C++ support requirements of LAMMPS and stop with an error, if this
is not the case.
is not the case. A C++11 compatible compiler is currently
required, but a transition to require C++17 is in progress and
planned to be completed in Summer 2025. Currently, setting
``-DLAMMPS_CXX11=yes`` is required when configuring with CMake while
using a C++11 compatible compiler that does not support C++17,
otherwise setting ``-DCMAKE_CXX_STANDARD=17`` is preferred.
You can tell CMake to look for a specific compiler with setting
CMake variables (listed below) during configuration. For a few
common choices, there are also presets in the ``cmake/presets``
folder. For convenience, there is a ``CMAKE_TUNE_FLAGS`` variable
that can be set to apply global compiler options (applied to
compilation only), to be used for adding compiler or host specific
optimization flags in addition to the "flags" variables listed
below. You may also specify the corresponding ``CMAKE_*_FLAGS``
folder. You may also specify the corresponding ``CMAKE_*_FLAGS``
variables individually, if you want to experiment with alternate
optimization flags. You should specify all 3 compilers, so that
the (few) LAMMPS source files written in C or Fortran are built
@ -223,6 +224,8 @@ LAMMPS.
-D CMAKE_C_COMPILER=name # name of C compiler
-D CMAKE_Fortran_COMPILER=name # name of Fortran compiler
-D CMAKE_CXX_STANDARD=17 # put compiler in C++17 mode
-D LAMMPS_CXX11=yes # enforce compilation in C++11 mode
-D CMAKE_CXX_FLAGS=string # flags to use with C++ compiler
-D CMAKE_C_FLAGS=string # flags to use with C compiler
-D CMAKE_Fortran_FLAGS=string # flags to use with Fortran compiler
@ -259,10 +262,6 @@ LAMMPS.
``-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.
This variable is empty by default.
.. note::
When the cmake command completes, it prints a summary to the
@ -321,15 +320,23 @@ LAMMPS.
you would have to install a newer compiler that supports C++11;
either as a binary package or through compiling from source.
If you build LAMMPS with any :doc:`Speed_packages` included,
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
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
accelerator packages and their hardware variants:
While a C++11 compatible compiler is currently sufficient to compile
LAMMPS, a transition to require C++17 is in progress and planned to
be completed in Summer 2025. Currently, setting ``-DLAMMPS_CXX11``
in the ``LMP_INC =`` line in the machine makefile is required when
using a C++11 compatible compiler that does not support C++17.
Otherwise, to enable C++17 support (if not enabled by default) using
a compiler flag like ``-std=c++17`` in CCFLAGS may needed.
If you build LAMMPS with any :doc:`Speed_packages` included,
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
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
accelerator packages and their hardware variants:
.. code-block:: bash
@ -502,6 +509,8 @@ using CMake or Make.
# chain.x, micelle2d.x, msi2lmp, phana,
# stl_bin2txt
-D BUILD_LAMMPS_GUI=value # yes or no (default). Build LAMMPS-GUI
-D BUILD_WHAM=value # yes (default). Download and build WHAM;
# only available for BUILD_LAMMPS_GUI=yes
The generated binaries will also become part of the LAMMPS installation
(see below).

View File

@ -8,7 +8,7 @@ packages. Links to those pages on the :doc:`Build overview <Build>`
page.
The following text assumes some familiarity with CMake and focuses on
using the command line tool ``cmake`` and what settings are supported
using the command-line tool ``cmake`` and what settings are supported
for building LAMMPS. A more detailed tutorial on how to use CMake
itself, the text mode or graphical user interface, to change the
generated output files for different build tools and development
@ -16,7 +16,7 @@ environments is on a :doc:`separate page <Howto_cmake>`.
.. note::
LAMMPS currently requires that CMake version 3.16 or later is available.
LAMMPS currently requires that CMake version 3.20 or later is available.
.. warning::
@ -32,29 +32,29 @@ environments is on a :doc:`separate page <Howto_cmake>`.
Advantages of using CMake
^^^^^^^^^^^^^^^^^^^^^^^^^
CMake is an alternative to compiling LAMMPS in the traditional way
through :doc:`(manually customized) makefiles <Build_make>`. Using
CMake has multiple advantages that are specifically helpful for
people with limited experience in compiling software or for people
that want to modify or extend LAMMPS.
CMake is the preferred way of compiling LAMMPS in contrast to the legacy
build system based on GNU make and through :doc:`(manually customized)
makefiles <Build_make>`. Using CMake has multiple advantages that are
specifically helpful for people with limited experience in compiling
software or for people that want to modify or extend LAMMPS.
- CMake can detect available hardware, tools, features, and libraries
and adapt the LAMMPS default build configuration accordingly.
- CMake can generate files for different build tools and integrated
development environments (IDE).
- CMake supports customization of settings with a command line, text
- CMake supports customization of settings with a command-line, text
mode, or graphical user interface. No manual editing of files,
knowledge of file formats or complex command line syntax is required.
knowledge of file formats or complex command-line syntax is required.
- All enabled components are compiled in a single build operation.
- Automated dependency tracking for all files and configuration options.
- Support for true out-of-source compilation. Multiple configurations
- Support for true out-of-source compilation. Multiple configurations
and settings with different choices of LAMMPS packages, settings, or
compilers can be configured and built concurrently from the same
source tree.
- Simplified packaging of LAMMPS for Linux distributions, environment
modules, or automated build tools like `Homebrew <https://brew.sh/>`_.
- Integration of automated unit and regression testing (the LAMMPS side
of this is still under active development).
modules, or automated build tools like `Spack <https://spack.io>`_
or `Homebrew <https://brew.sh/>`_.
- Integration of automated unit and regression testing.
.. _cmake_build:
@ -68,7 +68,7 @@ that purpose you can use either the command-line utility ``cmake`` (or
graphical utility ``cmake-gui``, or use them interchangeably. The
second step is then the compilation and linking of all objects,
libraries, and executables using the selected build tool. Here is a
minimal example using the command line version of CMake to build LAMMPS
minimal example using the command-line version of CMake to build LAMMPS
with no add-on packages enabled and no customization:
.. code-block:: bash
@ -119,6 +119,13 @@ configured) and additional files like LAMMPS API headers, manpages,
potential and force field files. The location of the installation tree
defaults to ``${HOME}/.local``.
.. note::
If you have set `-D CMAKE_INSTALL_PREFIX` to install LAMMPS into a
system location on a Linux machine , you may also have to run (as
root) the `ldconfig` program to update the cache file for fast lookup
of system shared libraries.
.. _cmake_options:
Configuration and build options
@ -131,7 +138,7 @@ 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.
@ -141,11 +148,11 @@ 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.
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``
command line flag. A list of available generator settings for your
command-line flag. A list of available generator settings for your
specific CMake version is given when running ``cmake --help``.
.. _cmake_multiconfig:

View File

@ -28,28 +28,6 @@ variable VERBOSE set to 1:
----------
.. _clang-tidy:
Enable static code analysis with clang-tidy (CMake only)
--------------------------------------------------------
The `clang-tidy tool <https://clang.llvm.org/extra/clang-tidy/>`_ is a
static code analysis tool to diagnose (and potentially fix) typical
programming errors or coding style violations. It has a modular framework
of tests that can be adjusted to help identifying problems before they
become bugs and also assist in modernizing large code bases (like LAMMPS).
It can be enabled for all C++ code with the following CMake flag
.. code-block:: bash
-D ENABLE_CLANG_TIDY=value # value = no (default) or yes
With this flag enabled all source files will be processed twice, first to
be compiled and then to be analyzed. Please note that the analysis can be
significantly more time-consuming than the compilation itself.
----------
.. _iwyu_processing:
Report missing and unneeded '#include' statements (CMake only)
@ -138,12 +116,27 @@ during development:
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. 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 scripts and inputs for integration, run, and legacy regression
testing are maintained in a `separate repository
<https://github.com/lammps/lammps-testing>`_ 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.
Regression tests can also be performed locally with the :ref:`regression
tester tool <regression>`. The tool checks if a given LAMMPS binary run
with selected input examples produces thermo output that is consistent
with the provided log files. The script can be run in one pass over all
available input files, but it can also first create multiple lists of
inputs or folders that can then be run with multiple workers
concurrently to speed things up. Another mode allows to do a quick
check of inputs that contain commands that have changes in the current
checkout branch relative to a git branch. This works similar to the two
pass mode, but will select only shorter runs and no more than 100 inputs
that are chosen randomly. This ensures that this test runs
significantly faster compared to the full test run. These test runs can
also be performed with instrumented LAMMPS binaries (see previous
section).
The unit testing facility is integrated into the CMake build process of
the LAMMPS source code distribution itself. It can be enabled by
@ -248,9 +241,9 @@ 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 as shown by the ``ctest`` program are command lines defined in the
Tests as shown by the ``ctest`` program are commands defined in the
``CMakeLists.txt`` files in the ``unittest`` directory tree. A few
tests simply execute LAMMPS with specific command line flags and check
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
@ -405,7 +398,7 @@ during MD timestepping and manipulate per-atom properties like
positions, velocities, and forces. For those fix styles, testing can be
done in a very similar fashion as for force fields and thus there is a
test program `test_fix_timestep` that shares a lot of code, properties,
and command line flags with the force field style testers described in
and command-line flags with the force field style testers described in
the previous section.
This tester will set up a small molecular system run with verlet run
@ -508,7 +501,7 @@ to do this to install it via pip:
.. code-block:: bash
pip install git+https://github.com/gcovr/gcovr.git
python3 -m pip install gcovr
After post-processing with ``gen_coverage_html`` the results are in
a folder ``coverage_html`` and can be viewed with a web browser.
@ -627,10 +620,10 @@ The following target are available for both, GNU make and CMake:
.. _gh-cli:
GitHub command line interface
GitHub command-line interface
-----------------------------
GitHub has developed a `command line tool <https://cli.github.com>`_
GitHub has developed a `command-line tool <https://cli.github.com>`_
to interact with the GitHub website via a command called ``gh``.
This is extremely convenient when working with a Git repository hosted
on GitHub (like LAMMPS). It is thus highly recommended to install it

View File

@ -7,6 +7,8 @@ in addition to
.. list-table::
:align: center
:header-rows: 1
:widths: 50 50
:width: 80%
* - CMake build
- Traditional make
@ -33,6 +35,7 @@ This is the list of packages that may require additional steps.
:columns: 6
* :ref:`ADIOS <adios>`
* :ref:`APIP <apip>`
* :ref:`ATC <atc>`
* :ref:`AWPMD <awpmd>`
* :ref:`COLVARS <colvar>`
@ -46,6 +49,7 @@ This is the list of packages that may require additional steps.
* :ref:`LEPTON <lepton>`
* :ref:`MACHDYN <machdyn>`
* :ref:`MDI <mdi>`
* :ref:`MISC <misc>`
* :ref:`ML-HDNNP <ml-hdnnp>`
* :ref:`ML-IAP <mliap>`
* :ref:`ML-PACE <ml-pace>`
@ -115,7 +119,7 @@ GPU package
To build with this package, you must choose options for precision and
which GPU hardware to build for. The GPU package currently supports
three different types of backends: OpenCL, CUDA and HIP.
three different types of back ends: OpenCL, CUDA and HIP.
CMake build
^^^^^^^^^^^
@ -205,9 +209,9 @@ 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
run HIP code on Intel GPUs via the OpenCL or Level Zero back ends. To use
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,
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.
@ -230,7 +234,7 @@ option in preparations to run on Aurora system at Argonne.
.. code:: bash
# CUDA target (not recommended, use GPU_ARCH=cuda)
# CUDA target (not recommended, use GPU_API=cuda)
# !!! DO NOT set CMAKE_CXX_COMPILER !!!
export HIP_PLATFORM=nvcc
export HIP_PATH=/path/to/HIP/install
@ -252,11 +256,10 @@ Traditional make
Before building LAMMPS, you must build the GPU library in ``lib/gpu``\ .
You can do this manually if you prefer; follow the instructions in
``lib/gpu/README``. Note that the GPU library uses MPI calls, so you must
use the same MPI library (or the STUBS library) settings as the main
LAMMPS code. This also applies to the ``-DLAMMPS_BIGBIG``\ ,
``-DLAMMPS_SMALLBIG``\ , or ``-DLAMMPS_SMALLSMALL`` settings in whichever
Makefile you use.
``lib/gpu/README``. Note that the GPU library uses MPI calls, so you
must use the same MPI library (or the STUBS library) settings as the
main LAMMPS code. This also applies to the ``-DLAMMPS_BIGBIG`` or
``-DLAMMPS_SMALLBIG`` settings in whichever Makefile you use.
You can also build the library in one step from the ``lammps/src`` dir,
using a command like these, which simply invokes the ``lib/gpu/Install.py``
@ -419,9 +422,10 @@ minutes to hours) to build. Of course you only need to do that once.)
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
provided on the command line for use by cmake. For example, to use the
``cmake3`` executable and tell it to use the gnu version 11 compilers
to build KIM, one could use the following command line.
set with the ``make`` command for use by cmake. For example, to use the
``cmake3`` executable and tell it to use the GNU version 11 compilers
called ``g++-11``, ``gcc-11`` and ``gfortran-11`` to build KIM, one
could use the following command.
.. code-block:: bash
@ -544,16 +548,7 @@ They must be specified in uppercase.
- Local machine
* - AMDAVX
- HOST
- AMD 64-bit x86 CPU (AVX 1)
* - ZEN
- HOST
- AMD Zen class CPU (AVX 2)
* - ZEN2
- HOST
- AMD Zen2 class CPU (AVX 2)
* - ZEN3
- HOST
- AMD Zen3 class CPU (AVX 2)
- AMD chip
* - ARMV80
- HOST
- ARMv8.0 Compatible CPU
@ -569,105 +564,138 @@ They must be specified in uppercase.
* - A64FX
- HOST
- ARMv8.2 with SVE Support
* - ARMV9_GRACE
- HOST
- ARMv9 NVIDIA Grace CPU
* - SNB
- HOST
- Intel Sandy/Ivy Bridge CPU (AVX 1)
- Intel Sandy/Ivy Bridge CPUs
* - HSW
- HOST
- Intel Haswell CPU (AVX 2)
- Intel Haswell CPUs
* - BDW
- HOST
- Intel Broadwell Xeon E-class CPU (AVX 2 + transactional mem)
* - SKL
- HOST
- Intel Skylake Client CPU
* - SKX
- HOST
- Intel Skylake Xeon Server CPU (AVX512)
- Intel Broadwell Xeon E-class CPUs
* - ICL
- HOST
- Intel Ice Lake Client CPU (AVX512)
- Intel Ice Lake Client CPUs (AVX512)
* - ICX
- HOST
- Intel Ice Lake Xeon Server CPU (AVX512)
* - SPR
- Intel Ice Lake Xeon Server CPUs (AVX512)
* - SKL
- HOST
- Intel Sapphire Rapids Xeon Server CPU (AVX512)
- Intel Skylake Client CPUs
* - SKX
- HOST
- Intel Skylake Xeon Server CPUs (AVX512)
* - KNC
- HOST
- Intel Knights Corner Xeon Phi
* - KNL
- HOST
- Intel Knights Landing Xeon Phi
* - SPR
- HOST
- Intel Sapphire Rapids Xeon Server CPUs (AVX512)
* - POWER8
- HOST
- IBM POWER8 CPU
- IBM POWER8 CPUs
* - POWER9
- HOST
- IBM POWER9 CPU
- IBM POWER9 CPUs
* - ZEN
- HOST
- AMD Zen architecture
* - ZEN2
- HOST
- AMD Zen2 architecture
* - ZEN3
- HOST
- AMD Zen3 architecture
* - ZEN4
- HOST
- AMD Zen4 architecture
* - ZEN5
- HOST
- AMD Zen5 architecture
* - RISCV_SG2042
- HOST
- SG2042 (RISC-V) CPU
- SG2042 (RISC-V) CPUs
* - RISCV_RVA22V
- HOST
- RVA22V (RISC-V) CPUs
* - KEPLER30
- GPU
- NVIDIA Kepler generation CC 3.0 GPU
- NVIDIA Kepler generation CC 3.0
* - KEPLER32
- GPU
- NVIDIA Kepler generation CC 3.2 GPU
- NVIDIA Kepler generation CC 3.2
* - KEPLER35
- GPU
- NVIDIA Kepler generation CC 3.5 GPU
- NVIDIA Kepler generation CC 3.5
* - KEPLER37
- GPU
- NVIDIA Kepler generation CC 3.7 GPU
- NVIDIA Kepler generation CC 3.7
* - MAXWELL50
- GPU
- NVIDIA Maxwell generation CC 5.0 GPU
- NVIDIA Maxwell generation CC 5.0
* - MAXWELL52
- GPU
- NVIDIA Maxwell generation CC 5.2 GPU
- NVIDIA Maxwell generation CC 5.2
* - MAXWELL53
- GPU
- NVIDIA Maxwell generation CC 5.3 GPU
- NVIDIA Maxwell generation CC 5.3
* - PASCAL60
- GPU
- NVIDIA Pascal generation CC 6.0 GPU
- NVIDIA Pascal generation CC 6.0
* - PASCAL61
- GPU
- NVIDIA Pascal generation CC 6.1 GPU
- NVIDIA Pascal generation CC 6.1
* - VOLTA70
- GPU
- NVIDIA Volta generation CC 7.0 GPU
- NVIDIA Volta generation CC 7.0
* - VOLTA72
- GPU
- NVIDIA Volta generation CC 7.2 GPU
- NVIDIA Volta generation CC 7.2
* - TURING75
- GPU
- NVIDIA Turing generation CC 7.5 GPU
- NVIDIA Turing generation CC 7.5
* - AMPERE80
- GPU
- NVIDIA Ampere generation CC 8.0 GPU
- NVIDIA Ampere generation CC 8.0
* - AMPERE86
- GPU
- NVIDIA Ampere generation CC 8.6 GPU
- NVIDIA Ampere generation CC 8.6
* - ADA89
- GPU
- NVIDIA Ada Lovelace generation CC 8.9 GPU
- NVIDIA Ada generation CC 8.9
* - HOPPER90
- GPU
- NVIDIA Hopper generation CC 9.0 GPU
- NVIDIA Hopper generation CC 9.0
* - BLACKWELL100
- GPU
- NVIDIA Blackwell generation CC 10.0
* - BLACKWELL120
- GPU
- NVIDIA Blackwell generation CC 12.0
* - AMD_GFX906
- GPU
- AMD GPU MI50/MI60
- AMD GPU MI50/60
* - AMD_GFX908
- GPU
- AMD GPU MI100
* - AMD_GFX90A
- GPU
- AMD GPU MI200
* - AMD_GFX940
- GPU
- AMD GPU MI300
* - AMD_GFX942
- GPU
- AMD GPU MI300
* - AMD_GFX942_APU
- GPU
- AMD APU MI300A
* - AMD_GFX1030
- GPU
- AMD GPU V620/W6800
@ -676,7 +704,7 @@ They must be specified in uppercase.
- AMD GPU RX7900XTX
* - AMD_GFX1103
- GPU
- AMD Phoenix APU with Radeon 740M/760M/780M/880M/890M
- AMD APU Phoenix
* - INTEL_GEN
- GPU
- SPIR64-based devices, e.g. Intel GPUs, using JIT
@ -698,8 +726,11 @@ They must be specified in uppercase.
* - INTEL_PVC
- GPU
- Intel GPU Ponte Vecchio
* - INTEL_DG2
- GPU
- Intel GPU DG2
This list was last updated for version 4.3.0 of the Kokkos library.
This list was last updated for version 4.6.2 of the Kokkos library.
.. tabs::
@ -751,14 +782,27 @@ This list was last updated for version 4.3.0 of the Kokkos library.
platform-appropriate vendor library: rocFFT on AMD GPUs or cuFFT on
NVIDIA GPUs.
To simplify compilation, five preset files are included in the
For Intel GPUs using SYCL, set these variables:
.. code-block:: bash
-D Kokkos_ARCH_HOSTARCH=yes # HOSTARCH = HOST from list above
-D Kokkos_ARCH_GPUARCH=yes # GPUARCH = GPU from list above
-D Kokkos_ENABLE_SYCL=yes
-D Kokkos_ENABLE_OPENMP=yes
-D FFT_KOKKOS=MKL_GPU
This will enable FFTs on the GPU using the oneMKL library.
To simplify compilation, six preset files are included in the
``cmake/presets`` folder, ``kokkos-serial.cmake``,
``kokkos-openmp.cmake``, ``kokkos-cuda.cmake``,
``kokkos-hip.cmake``, and ``kokkos-sycl.cmake``. They will enable
the KOKKOS package and enable some hardware choices. For GPU
support those preset files must be customized to match the
hardware used. So to compile with CUDA device parallelization with
some common packages enabled, you can do the following:
``kokkos-hip.cmake``, ``kokkos-sycl-nvidia.cmake``, and
``kokkos-sycl-intel.cmake``. They will enable the KOKKOS
package and enable some hardware choices. For GPU support those
preset files must be customized to match the hardware used. So
to compile with CUDA device parallelization with some common
packages enabled, you can do the following:
.. code-block:: bash
@ -830,6 +874,18 @@ This list was last updated for version 4.3.0 of the Kokkos library.
FFT_INC = -DFFT_HIPFFT # enable use of hipFFT (optional)
FFT_LIB = -lhipfft # link to hipFFT library
For Intel GPUs using SYCL:
.. code-block:: make
KOKKOS_DEVICES = SYCL
KOKKOS_ARCH = HOSTARCH,GPUARCH # HOSTARCH = HOST from list above that is
# hosting the GPU
# GPUARCH = GPU from list above
FFT_INC = -DFFT_KOKKOS_MKL_GPU # enable use of oneMKL for Intel GPUs (optional)
# link to oneMKL FFT library
FFT_LIB = -lmkl_sycl_dft -lmkl_intel_ilp64 -lmkl_tbb_thread -mkl_core -ltbb
Advanced KOKKOS compilation settings
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -1098,11 +1154,10 @@ POEMS package
PYTHON package
---------------------------
Building with the PYTHON package requires you have a the Python development
headers and library available on your system, which needs to be a Python 2.7
version or a Python 3.x version. Since support for Python 2.x has ended,
using Python 3.x is strongly recommended. See ``lib/python/README`` for
additional details.
Building with the PYTHON package requires you have a the Python
development headers and library available on your system, which
needs to be Python version 3.6 or later. See ``lib/python/README``
for additional details.
.. tabs::
@ -1118,7 +1173,7 @@ additional details.
set the Python_EXECUTABLE variable to specify which Python
interpreter should be used. Note note that you will also need to
have the development headers installed for this version,
e.g. python2-devel.
e.g. python3-devel.
.. tab:: Traditional make
@ -1230,6 +1285,34 @@ systems.
----------
.. _apip:
APIP package
-----------------------------
The APIP package depends on the library of the
:ref:`ML-PACE <ml-pace>` package.
The code for the library can be found
at: `https://github.com/ICAMS/lammps-user-pace/ <https://github.com/ICAMS/lammps-user-pace/>`_
.. tabs::
.. tab:: CMake build
No additional settings are needed besides ``-D PKG_APIP=yes``
and ``-D PKG_ML-PACE=yes``.
One can use a local version of the ML-PACE library instead of
automatically downloading the library as described :ref:`here <ml-pace>`.
.. tab:: Traditional make
You need to install the ML-PACE package *first* and follow
the instructions :ref:`here <ml-pace>` before installing
the APIP package.
----------
.. _atc:
ATC package
@ -1991,7 +2074,7 @@ TBB and MKL.
.. _mdi:
MDI package
-----------------------------
-----------
.. tabs::
@ -2018,6 +2101,37 @@ MDI package
----------
.. _misc:
MISC package
------------
The :doc:`fix imd <fix_imd>` style in this package can be run either
synchronously (communication with IMD clients is done in the main
process) or asynchronously (the fix spawns a separate thread that can
communicate with IMD clients concurrently to the LAMMPS execution).
.. tabs::
.. tab:: CMake build
.. code-block:: bash
-D LAMMPS_ASYNC_IMD=value # Run IMD server asynchronously
# value = no (default) or yes
.. tab:: Traditional make
To enable asynchronous mode the ``-DLAMMPS_ASYNC_IMD`` define
needs to be added to the ``LMP_INC`` variable in the
``Makefile.machine`` you are using. For example:
.. code-block:: make
LMP_INC = -DLAMMPS_ASYNC_IMD -DLAMMPS_MEMALIGN=64
----------
.. _molfile:
MOLFILE package
@ -2164,7 +2278,7 @@ verified to work in February 2020 with Quantum Espresso versions 6.3 to
from the sources in the *lib* folder (including the essential
libqmmm.a) are not included in the static LAMMPS library and
(currently) not installed, while their code is included in the
shared LAMMPS library. Thus a typical command line to configure
shared LAMMPS library. Thus a typical command to configure
building LAMMPS for QMMM would be:
.. code-block:: bash
@ -2224,28 +2338,38 @@ verified to work in February 2020 with Quantum Espresso versions 6.3 to
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.
This package depends on the BPM package.
.. 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
-D PKG_RHEO=yes # enable the package itself
-D PKG_BPM=yes # the RHEO package requires BPM
-D USE_INTERNAL_LINALG=value # prefer internal LAPACK if true
Some features in the RHEO package are dependent on code in the BPM
package so the latter one *must* be enabled as well.
The RHEO package also requires LAPACK (and BLAS) and CMake
can identify their locations and pass that info to the RHEO
build script. But on some systems this may cause problems when
linking or the dependency is not desired. By using the setting
``-D USE_INTERNAL_LINALG=yes`` when running the CMake
configuration, you will select compiling and linking the bundled
linear algebra library and work around the limitations.
.. 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.
The RHEO package requires LAPACK (and BLAS) which can be either
a system provided library or the bundled "linalg" library. This
is a subset of LAPACK translated to C++. For that, one of the
provided ``Makefile.lammps.<config>`` files needs to be copied
to ``Makefile.lammps`` and edited as needed. The default file
uses the bundled "linalg" library, which can be built by
``make lib-linalg args='-m serial'`` in the ``src`` folder.
----------

View File

@ -8,6 +8,10 @@ Building LAMMPS with traditional makefiles requires that you have a
for customizing your LAMMPS build with a number of global compilation
options and features.
This build system is slowly being phased out and may not support all
optional features and packages in LAMMPS. It is recommended to switch
to the :doc:`CMake based build system <Build_cmake>`.
Requirements
^^^^^^^^^^^^
@ -26,9 +30,9 @@ additional tools to be available and functioning.
* 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``
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.
folder). Python scripts are currently tested with 3.6 to 3.11.
The procedure for :doc:`building the documentation <Build_manual>`
*requires* Python 3.8 or later.
Getting started
^^^^^^^^^^^^^^^

View File

@ -57,6 +57,8 @@ Python interpreter version 3.8 or later, the ``doxygen`` tools and
internet access to download additional files and tools are required.
This download is usually only required once or after the documentation
folder is returned to a pristine state with ``make clean-all``.
You can also upgrade those packages to their latest available versions
with ``make upgrade``.
For the documentation build a python virtual environment is set up in
the folder ``doc/docenv`` and various python packages are installed into
@ -78,11 +80,11 @@ folder. The following ``make`` commands are available:
make epub # generate LAMMPS.epub in ePUB format using Sphinx
make mobi # generate LAMMPS.mobi in MOBI format using ebook-convert
make fasthtml # generate approximate HTML in fasthtml dir using Sphinx
# some Sphinx extensions do not work correctly with this
make fasthtml # generate approximate HTML in fasthtml dir using pandoc
make clean # remove intermediate RST files created by HTML build
make clean-all # remove entire build folder and any cached data
make upgrade # upgrade the python packages in the virtual environment
make anchor_check # check for duplicate anchor labels
make style_check # check for complete and consistent style lists
@ -116,9 +118,9 @@ environment variable.
Prerequisites for HTML
----------------------
To run the HTML documentation build toolchain, python 3, git, doxygen,
and virtualenv have to be installed locally. Here are instructions for
common setups:
To run the HTML documentation build toolchain, Python 3.8 or later, git,
doxygen, and virtualenv have to be installed locally. Here are
instructions for common setups:
.. tabs::
@ -128,13 +130,7 @@ common setups:
sudo apt-get install git doxygen
.. tab:: RHEL or CentOS (Version 7.x)
.. code-block:: bash
sudo yum install git doxygen
.. tab:: Fedora or RHEL/CentOS (8.x or later)
.. tab:: Fedora or RHEL/AlmaLinux/RockyLinux (8.x or later)
.. code-block:: bash
@ -154,7 +150,36 @@ Prerequisites for PDF
In addition to the tools needed for building the HTML format manual,
a working LaTeX installation with support for PDFLaTeX and a selection
of LaTeX styles/packages are required. To run the PDFLaTeX translation
of LaTeX styles/packages are required. Apart from LaTeX packages that
are usually installed by default, the following packages are required:
.. table_from_list::
:columns: 11
- amsmath
- anysize
- babel
- capt-of
- cmap
- dvipng
- ellipse
- fncychap
- fontawesome
- framed
- geometry
- gyre
- hyperref
- hypcap
- needspace
- pict2e
- times
- tabulary
- titlesec
- upquote
- wrapfig
- xindy
To run the PDFLaTeX translation
the ``latexmk`` script needs to be installed as well.
Prerequisites for ePUB and MOBI
@ -182,12 +207,42 @@ documentation is required and either existing files in the ``src``
folder need to be updated or new files added. These files are written in
`reStructuredText <rst_>`_ markup for translation with the Sphinx tool.
Testing your contribution
^^^^^^^^^^^^^^^^^^^^^^^^^
Before contributing any documentation, please check that both the HTML
and the PDF format documentation can translate without errors. During
testing the html translation, you may use the ``make fasthtml`` command
which does an approximate translation (i.e. not all Sphinx features and
extensions will work), but runs very fast because it will only translate
files that have been changed since the last ``make fasthtml`` command.
and the PDF format documentation can translate without errors and that
there are no spelling issues. This is done with ``make html``, ``make pdf``,
and ``make spelling``, respectively.
Fast and approximate translation to HTML
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Translating the full manual to HTML or PDF can take a long time. Thus
there is a fast and approximate way to translate the reStructuredText to
HTML as a quick-n-dirty way of checking your manual page.
This translation uses `Pandoc <https://pandoc.org>`_ instead of Sphinx
and thus all special Sphinx features (cross-references, advanced tables,
embedding of Python docstrings or doxygen documentation, and so on) will
not render correctly. Most embedded math should render correctly. This
is a **very fast** way to check the syntax and layout of a documentation
file translated to HTML while writing or updating it.
To translate **all** manual pages, you can type ``make fasthtml`` at the
command line. The translated HTML files are then in the ``fasthtml``
folder. All subsequent ``make fasthtml`` commands will only translate
``.rst`` files that have been changed. The ``make fasthtml`` command
can be parallelized with make using the `-j` flag. You can also
directly translate only individual pages: e.g. to translate only the
``doc/src/pair_lj.rst`` page type ``make fasthtml/pair_lj.html``
After writing the documentation is completed, you will still need
to verify with ``make html`` and ``make pdf`` that it translates
correctly in both formats.
Tests for consistency, completeness, and other known issues
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Please also check the output to the console for any warnings or problems. There will
be multiple tests run automatically:

View File

@ -49,6 +49,7 @@ packages:
* :ref:`LEPTON <lepton>`
* :ref:`MACHDYN <machdyn>`
* :ref:`MDI <mdi>`
* :ref:`MISC <misc>`
* :ref:`ML-HDNNP <ml-hdnnp>`
* :ref:`ML-IAP <mliap>`
* :ref:`ML-PACE <ml-pace>`

View File

@ -0,0 +1,22 @@
Prerequisites
-------------
Which software you need to compile and use LAMMPS strongly depends on
which :doc:`features and settings <Build_settings>` and which
:doc:`optional packages <Packages_list>` you are trying to include.
Common to all is that you need a C++ and C compiler, where the C++
compiler has to support at least the C++11 standard (note that some
compilers require command-line flag to activate C++11 support).
Furthermore, if you are building with CMake, you need at least CMake
version 3.20 and a compatible build tool (make or ninja-build); if you
are building the the legacy GNU make based build system you need GNU
make (other make variants are not going to work since the build system
uses features unique to GNU make) and a Unix-like build environment with
a Bourne shell, and shell tools like "sed", "grep", "touch", "test",
"tr", "cp", "mv", "rm", "ln", "diff" and so on. Parts of LAMMPS
interface with or use Python version 3.6 or later.
The LAMMPS developers aim to keep LAMMPS very portable and usable -
at least in parts - on most operating systems commonly used for
running MD simulations. Please see the :doc:`section on portablility
<Intro_portability>` for more details.

View File

@ -8,29 +8,30 @@ Optional build settings
LAMMPS can be built with several optional settings. Each subsection
explains how to do this for building both with CMake and make.
* `C++11 standard compliance`_ when building all of LAMMPS
* `C++11 and C++17 standard compliance`_ when building all of LAMMPS
* `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 JPEG, PNG, and movie files`_ via the :doc:`dump image <dump_image>` or :doc:`dump movie <dump_image>` commands
* `Support for downloading files`_
* `Support for downloading files from the input`_
* `Prevent download of large potential files`_
* `Memory allocation alignment`_
* `Workaround for long long integers`_
* `Exception handling when using LAMMPS as a library`_ to capture errors
* `Trigger selected floating-point exceptions`_
----------
.. _cxx11:
C++11 standard compliance
-------------------------
C++11 and C++17 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
C++98 standard for the core code and most packages. Most currently used
C++ compilers are compatible with C++11, but some older ones may need extra
flags to enable C++11 compliance. Example for GNU c++ 4.8.x:
A C++11 standard compatible compiler is currently the minimum
requirement for compiling LAMMPS. LAMMPS version 3 March 2020 is the
last version compatible with the previous C++98 standard for the core
code and most packages. Most currently used C++ compilers are compatible
with C++11, but some older ones may need extra flags to enable C++11
compliance. Example for GNU c++ 4.8.x:
.. code-block:: make
@ -40,6 +41,17 @@ 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>`.
.. versionchanged:: 4Feb2025
Starting with LAMMPS version 4 February 2025 we are starting a
transition to require the C++17 standard. Most current compilers are
compatible and if the C++17 standard is available by default, LAMMPS
will enable C++17 and will compile normally. If the chosen compiler is
not compatible with C++17, but only supports C++11, then the define
-DLAMMPS_CXX11 is required to fall back to compiling with a C++11
compiler. After the next stable release of LAMMPS in summer 2025, the
LAMMPS development branch and future releases will require C++17.
----------
.. _fft:
@ -67,10 +79,10 @@ libraries and better pipelining for packing and communication.
.. code-block:: bash
-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=value # FFTW3 or MKL or NVPL or KISS,
# default is FFTW3 if found, else KISS
-D FFT_KOKKOS=value # FFTW3 or MKL or NVPL or KISS or CUFFT
# or HIPFFT or MKL_GPU, 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
@ -103,6 +115,8 @@ libraries and better pipelining for packing and communication.
-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
-D nvpl_fft_INCLUDE_DIR=path # path to NVPL FFT include files
-D nvpl_fft_LIBRARY_DIR=path # path to NVPL FFT libraries
.. note::
@ -121,9 +135,10 @@ libraries and better pipelining for packing and communication.
.. code-block:: make
FFT_INC = -DFFT_<NAME> # where <NAME> is KISS (default), FFTW3,
# FFTW (same as FFTW3), or MKL
# FFTW (same as FFTW3), NVPL, or MKL
FFT_INC = -DFFT_KOKKOS_<NAME> # where <NAME> is KISS (default), FFTW3,
# FFTW (same as FFTW3), MKL, CUFFT, or HIPFFT
# FFTW (same as FFTW3), NVPL, MKL, CUFFT,
# HIPFFT, or MKL_GPU
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
@ -141,6 +156,9 @@ libraries and better pipelining for packing and communication.
# cuFFT either precision
FFT_LIB = -lcufft
# MKL_GPU either precision
FFT_LIB = -lmkl_sycl_dft -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkl_core -ltbb
# FFTW3 double precision
FFT_LIB = -lfftw3
@ -165,6 +183,10 @@ libraries and better pipelining for packing and communication.
# MKL with automatic runtime selection of interface libs
FFT_LIB = -lmkl_rt
# threaded NVPL FFT
FFT_LIB = -lnvpl_fftw
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``
@ -218,10 +240,15 @@ 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 NVIDIA Performance Libraries (NVPL) FFT library is optimized for NVIDIA
Grace Armv9.0 architecture. You can download it from https://docs.nvidia.com/nvpl/
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).
GPU-resident (i.e., HIP or CUDA). Similarly, GPU offload of FFTs on
Intel GPUs with oneMKL currently requires the Kokkos acceleration
package to be enabled with the SYCL back end.
Performing 3d FFTs in parallel can be time-consuming due to data access
and required communication. This cost can be reduced by performing
@ -288,7 +315,7 @@ large counters can become before "rolling over". The default setting of
.. code-block:: bash
-D LAMMPS_SIZES=value # smallbig (default) or bigbig or smallsmall
-D LAMMPS_SIZES=value # smallbig (default) or bigbig
If the variable is not set explicitly, "smallbig" is used.
@ -299,7 +326,7 @@ large counters can become before "rolling over". The default setting of
.. code-block:: make
LMP_INC = -DLAMMPS_SMALLBIG # or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL
LMP_INC = -DLAMMPS_SMALLBIG # or -DLAMMPS_BIGBIG
The default setting is ``-DLAMMPS_SMALLBIG`` if nothing is specified
@ -308,34 +335,27 @@ LAMMPS system size restrictions
.. list-table::
:header-rows: 1
:widths: 18 27 28 27
:widths: 27 36 37
:align: center
* -
- smallbig
- bigbig
- smallsmall
* - Total atom count
- :math:`2^{63}` atoms (= :math:`9.223 \cdot 10^{18}`)
- :math:`2^{63}` atoms (= :math:`9.223 \cdot 10^{18}`)
- :math:`2^{31}` atoms (= :math:`2.147 \cdot 10^9`)
* - Total timesteps
- :math:`2^{63}` steps (= :math:`9.223 \cdot 10^{18}`)
- :math:`2^{63}` steps (= :math:`9.223 \cdot 10^{18}`)
- :math:`2^{31}` steps (= :math:`2.147 \cdot 10^9`)
* - Atom ID values
- :math:`1 \le i \le 2^{31} (= 2.147 \cdot 10^9)`
- :math:`1 \le i \le 2^{63} (= 9.223 \cdot 10^{18})`
- :math:`1 \le i \le 2^{31} (= 2.147 \cdot 10^9)`
* - Image flag values
- :math:`-512 \le i \le 511`
- :math:`- 1\,048\,576 \le i \le 1\,048\,575`
- :math:`-512 \le i \le 511`
The "bigbig" setting increases the size of image flags and atom IDs over
"smallbig" and the "smallsmall" setting is only needed if your machine
does not support 64-bit integers or incurs performance penalties when
using them.
the default "smallbig" setting.
These are limits for the core of the LAMMPS code, specific features or
some styles may impose additional limits. The :ref:`ATC
@ -489,8 +509,8 @@ during a run.
.. _libcurl:
Support for downloading files
-----------------------------
Support for downloading files from the input
--------------------------------------------
.. versionadded:: 29Aug2024
@ -533,6 +553,25 @@ LAMMPS is compiled accordingly which needs the following settings:
----------
.. _download_pot:
Prevent download of large potential files
-----------------------------------------
.. versionadded:: 8Feb2023
LAMMPS bundles a selection of potential files in the ``potentials``
folder as examples of how those kinds of potential files look like and
for use with the provided input examples in the ``examples`` tree. To
keep the size of the distributed LAMMPS source package small, very large
potential files (> 5 MBytes) are not bundled, but only downloaded on
demand when the :doc:`corresponding package <Packages_list>` is
installed. This automatic download can be prevented when :doc:`building
LAMMPS with CMake <Build_cmake>` by adding the setting `-D
DOWNLOAD_POTENTIALS=off` when configuring.
----------
.. _align:
Memory allocation alignment
@ -619,40 +658,3 @@ code has to be set up to *catch* exceptions thrown from within LAMMPS.
throw an exception and thus other MPI ranks may get stuck waiting for
messages from the ones with errors.
----------
.. _trap_fpe:
Trigger selected floating-point exceptions
------------------------------------------
Many kinds of CPUs have the capability to detect when a calculation
results in an invalid math operation, like a division by zero or calling
the square root with a negative argument. The default behavior on
most operating systems is to continue and have values for ``NaN`` (= not
a number) or ``Inf`` (= infinity). This allows software to detect and
recover from such conditions. This behavior can be changed, however,
often through use of compiler flags. On Linux systems (or more general
on systems using the GNU C library), these so-called floating-point traps
can also be selectively enabled through library calls. LAMMPS supports
that by setting the ``-DLAMMPS_TRAP_FPE`` pre-processor define. As it is
done in the ``main()`` function, this applies only to the standalone
executable, not the library.
.. tabs::
.. tab:: CMake build
.. code-block:: bash
-D CMAKE_TUNE_FLAGS=-DLAMMPS_TRAP_FPE
.. tab:: Traditional make
.. code-block:: make
LMP_INC = -DLAMMPS_TRAP_FPE <other LMP_INC settings>
After compilation with this flag set, the LAMMPS executable will stop
and produce a core dump when a division by zero, overflow, illegal math
function argument or other invalid floating point operation is encountered.

View File

@ -100,9 +100,9 @@ procedure.
It is possible to use both the integrated CMake support of the Visual
Studio IDE or use an external CMake installation (e.g. downloaded from
cmake.org) to create build files and compile LAMMPS from the command line.
cmake.org) to create build files and compile LAMMPS from the command-line.
Compilation via command line and unit tests are checked automatically
Compilation via command-line and unit tests are checked automatically
for the LAMMPS development branch through
`GitHub Actions <https://github.com/lammps/lammps/actions/workflows/compile-msvc.yml>`_.
@ -115,7 +115,7 @@ for the LAMMPS development branch through
Please note, that for either approach CMake will create a so-called
:ref:`"multi-configuration" build environment <cmake_multiconfig>`, and
the command lines for building and testing LAMMPS must be adjusted
the commands for building and testing LAMMPS must be adjusted
accordingly.
The LAMMPS cmake folder contains a ``CMakeSettings.json`` file with

View File

@ -4,7 +4,7 @@ LAMMPS Class
The LAMMPS class is encapsulating an MD simulation state and thus it is
the class that needs to be created when starting a new simulation system
state. The LAMMPS executable essentially creates one instance of this
class and passes the command line flags and tells it to process the
class and passes the command-line flags and tells it to process the
provided input (a file or ``stdin``). It shuts the class down when
control is returned to it and then exits. When using LAMMPS as a
library from another code it is required to create an instance of this

View File

@ -140,6 +140,7 @@ additional letter in parenthesis: k = KOKKOS.
* :doc:`plugin <plugin>`
* :doc:`prd <prd>`
* :doc:`python <python>`
* :doc:`region2vmd <region2vmd>`
* :doc:`tad <tad>`
* :doc:`temper <temper>`
* :doc:`temper/grem <temper_grem>`

View File

@ -23,6 +23,7 @@ OPT.
*
* :doc:`bpm/rotational <bond_bpm_rotational>`
* :doc:`bpm/spring <bond_bpm_spring>`
* :doc:`bpm/spring/plastic <bond_bpm_spring_plastic>`
* :doc:`class2 (ko) <bond_class2>`
* :doc:`fene (iko) <bond_fene>`
* :doc:`fene/expand (o) <bond_fene_expand>`
@ -90,6 +91,7 @@ OPT.
* :doc:`lepton (o) <angle_lepton>`
* :doc:`mesocnt <angle_mesocnt>`
* :doc:`mm3 <angle_mm3>`
* :doc:`mwlc <angle_mwlc>`
* :doc:`quartic (o) <angle_quartic>`
* :doc:`spica (ko) <angle_spica>`
* :doc:`table (o) <angle_table>`
@ -126,7 +128,7 @@ OPT.
* :doc:`harmonic (iko) <dihedral_harmonic>`
* :doc:`helix (o) <dihedral_helix>`
* :doc:`lepton (o) <dihedral_lepton>`
* :doc:`multi/harmonic (o) <dihedral_multi_harmonic>`
* :doc:`multi/harmonic (ko) <dihedral_multi_harmonic>`
* :doc:`nharmonic (o) <dihedral_nharmonic>`
* :doc:`opls (iko) <dihedral_opls>`
* :doc:`quadratic (o) <dihedral_quadratic>`

View File

@ -58,6 +58,7 @@ KOKKOS, o = OPENMP, t = OPT.
* :doc:`fep/ta <compute_fep_ta>`
* :doc:`force/tally <compute_tally>`
* :doc:`fragment/atom <compute_cluster_atom>`
* :doc:`gaussian/grid/local (k) <compute_gaussian_grid_local>`
* :doc:`global/atom <compute_global_atom>`
* :doc:`group/group <compute_group_group>`
* :doc:`gyration <compute_gyration>`
@ -140,8 +141,8 @@ KOKKOS, o = OPENMP, t = OPT.
* :doc:`smd/vol <compute_smd_vol>`
* :doc:`snap <compute_sna_atom>`
* :doc:`sna/atom <compute_sna_atom>`
* :doc:`sna/grid <compute_sna_atom>`
* :doc:`sna/grid/local <compute_sna_atom>`
* :doc:`sna/grid (k) <compute_sna_atom>`
* :doc:`sna/grid/local (k) <compute_sna_atom>`
* :doc:`snad/atom <compute_sna_atom>`
* :doc:`snav/atom <compute_sna_atom>`
* :doc:`sph/e/atom <compute_sph_e_atom>`
@ -177,6 +178,7 @@ KOKKOS, o = OPENMP, t = OPT.
* :doc:`ti <compute_ti>`
* :doc:`torque/chunk <compute_torque_chunk>`
* :doc:`vacf <compute_vacf>`
* :doc:`vacf/chunk <compute_vacf_chunk>`
* :doc:`vcm/chunk <compute_vcm_chunk>`
* :doc:`viscosity/cos <compute_viscosity_cos>`
* :doc:`voronoi/atom <compute_voronoi_atom>`

View File

@ -19,6 +19,7 @@ An alphabetic list of all LAMMPS :doc:`dump <dump>` commands.
* :doc:`custom/gz <dump>`
* :doc:`custom/zstd <dump>`
* :doc:`dcd <dump>`
* :doc:`extxyz <dump>`
* :doc:`grid <dump>`
* :doc:`grid/vtk <dump>`
* :doc:`h5md <dump_h5md>`

View File

@ -22,6 +22,7 @@ OPT.
* :doc:`append/atoms <fix_append_atoms>`
* :doc:`atc <fix_atc>`
* :doc:`atom/swap <fix_atom_swap>`
* :doc:`atom_weight/apip <fix_atom_weight_apip>`
* :doc:`ave/atom <fix_ave_atom>`
* :doc:`ave/chunk <fix_ave_chunk>`
* :doc:`ave/correlate <fix_ave_correlate>`
@ -29,6 +30,7 @@ OPT.
* :doc:`ave/grid <fix_ave_grid>`
* :doc:`ave/histo <fix_ave_histo>`
* :doc:`ave/histo/weight <fix_ave_histo>`
* :doc:`ave/moments <fix_ave_moments>`
* :doc:`ave/time <fix_ave_time>`
* :doc:`aveforce <fix_aveforce>`
* :doc:`balance <fix_balance>`
@ -43,7 +45,7 @@ OPT.
* :doc:`brownian/asphere <fix_brownian>`
* :doc:`brownian/sphere <fix_brownian>`
* :doc:`charge/regulation <fix_charge_regulation>`
* :doc:`cmap <fix_cmap>`
* :doc:`cmap (k) <fix_cmap>`
* :doc:`colvars <fix_colvars>`
* :doc:`controller <fix_controller>`
* :doc:`damping/cundall <fix_damping_cundall>`
@ -58,12 +60,13 @@ OPT.
* :doc:`dt/reset (k) <fix_dt_reset>`
* :doc:`edpd/source <fix_dpd_source>`
* :doc:`efield (k) <fix_efield>`
* :doc:`efield/lepton <fix_efield_lepton>`
* :doc:`efield/tip4p <fix_efield>`
* :doc:`ehex <fix_ehex>`
* :doc:`electrode/conp (i) <fix_electrode>`
* :doc:`electrode/conq (i) <fix_electrode>`
* :doc:`electrode/thermo (i) <fix_electrode>`
* :doc:`electron/stopping <fix_electron_stopping>`
* :doc:`electron/stopping (k) <fix_electron_stopping>`
* :doc:`electron/stopping/fit <fix_electron_stopping>`
* :doc:`enforce2d (k) <fix_enforce2d>`
* :doc:`eos/cv <fix_eos_cv>`
@ -76,6 +79,7 @@ OPT.
* :doc:`flow/gauss <fix_flow_gauss>`
* :doc:`freeze (k) <fix_freeze>`
* :doc:`gcmc <fix_gcmc>`
* :doc:`gjf <fix_gjf>`
* :doc:`gld <fix_gld>`
* :doc:`gle <fix_gle>`
* :doc:`gravity (ko) <fix_gravity>`
@ -83,11 +87,14 @@ OPT.
* :doc:`halt <fix_halt>`
* :doc:`heat <fix_heat>`
* :doc:`heat/flow <fix_heat_flow>`
* :doc:`hmc <fix_hmc>`
* :doc:`hyper/global <fix_hyper_global>`
* :doc:`hyper/local <fix_hyper_local>`
* :doc:`imd <fix_imd>`
* :doc:`indent <fix_indent>`
* :doc:`ipi <fix_ipi>`
* :doc:`lambda/apip <fix_lambda_apip>`
* :doc:`lambda_thermostat/apip <fix_lambda_thermostat_apip>`
* :doc:`langevin (k) <fix_langevin>`
* :doc:`langevin/drude <fix_langevin_drude>`
* :doc:`langevin/eff <fix_langevin_eff>`
@ -110,6 +117,7 @@ OPT.
* :doc:`mvv/tdpd <fix_mvv_dpd>`
* :doc:`neb <fix_neb>`
* :doc:`neb/spin <fix_neb_spin>`
* :doc:`neighbor/swap <fix_neighbor_swap>`
* :doc:`nonaffine/displacement <fix_nonaffine_displacement>`
* :doc:`nph (ko) <fix_nh>`
* :doc:`nph/asphere (o) <fix_nph_asphere>`
@ -134,7 +142,7 @@ OPT.
* :doc:`nve/dot <fix_nve_dot>`
* :doc:`nve/dotc/langevin <fix_nve_dotc_langevin>`
* :doc:`nve/eff <fix_nve_eff>`
* :doc:`nve/limit <fix_nve_limit>`
* :doc:`nve/limit (k) <fix_nve_limit>`
* :doc:`nve/line <fix_nve_line>`
* :doc:`nve/manifold/rattle <fix_nve_manifold_rattle>`
* :doc:`nve/noforce <fix_nve_noforce>`
@ -161,6 +169,8 @@ OPT.
* :doc:`phonon <fix_phonon>`
* :doc:`pimd/langevin <fix_pimd>`
* :doc:`pimd/nvt <fix_pimd>`
* :doc:`pimd/langevin/bosonic <fix_pimd>`
* :doc:`pimd/nvt/bosonic <fix_pimd>`
* :doc:`planeforce <fix_planeforce>`
* :doc:`plumed <fix_plumed>`
* :doc:`poems <fix_poems>`
@ -178,18 +188,21 @@ OPT.
* :doc:`python/move <fix_python_move>`
* :doc:`qbmsst <fix_qbmsst>`
* :doc:`qeq/comb (o) <fix_qeq_comb>`
* :doc:`qeq/ctip <fix_qeq>`
* :doc:`qeq/dynamic <fix_qeq>`
* :doc:`qeq/fire <fix_qeq>`
* :doc:`qeq/point <fix_qeq>`
* :doc:`qeq/reaxff (ko) <fix_qeq_reaxff>`
* :doc:`qeq/rel/reaxff <fix_qeq_rel_reaxff>`
* :doc:`qeq/shielded <fix_qeq>`
* :doc:`qeq/slater <fix_qeq>`
* :doc:`qmmm <fix_qmmm>`
* :doc:`qtb <fix_qtb>`
* :doc:`qtpie/reaxff <fix_qtpie_reaxff>`
* :doc:`rattle <fix_shake>`
* :doc:`reaxff/bonds (k) <fix_reaxff_bonds>`
* :doc:`reaxff/species (k) <fix_reaxff_species>`
* :doc:`recenter <fix_recenter>`
* :doc:`recenter (k) <fix_recenter>`
* :doc:`restrain <fix_restrain>`
* :doc:`rheo <fix_rheo>`
* :doc:`rheo/oxidation <fix_rheo_oxidation>`
@ -210,6 +223,7 @@ OPT.
* :doc:`rigid/small (o) <fix_rigid>`
* :doc:`rx (k) <fix_rx>`
* :doc:`saed/vtk <fix_saed_vtk>`
* :doc:`set <fix_set>`
* :doc:`setforce (k) <fix_setforce>`
* :doc:`setforce/spin <fix_setforce>`
* :doc:`sgcmc <fix_sgcmc>`
@ -267,7 +281,7 @@ OPT.
* :doc:`wall/piston <fix_wall_piston>`
* :doc:`wall/reflect (k) <fix_wall_reflect>`
* :doc:`wall/reflect/stochastic <fix_wall_reflect_stochastic>`
* :doc:`wall/region <fix_wall_region>`
* :doc:`wall/region (k) <fix_wall_region>`
* :doc:`wall/region/ees <fix_wall_ees>`
* :doc:`wall/srd <fix_wall_srd>`
* :doc:`wall/table <fix_wall>`

View File

@ -69,7 +69,7 @@ WARNING message is printed. The :doc:`Errors <Errors>` page gives
more information on what errors mean. The documentation for each
command lists restrictions on how the command can be used.
You can use the :ref:`-skiprun <skiprun>` command line flag
You can use the :ref:`-skiprun <skiprun>` command-line flag
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

@ -31,3 +31,5 @@ OPT.
* :doc:`pppm/dielectric <kspace_style>`
* :doc:`pppm/electrode (i) <kspace_style>`
* :doc:`scafacos <kspace_style>`
* :doc:`zero <kspace_style>`

View File

@ -44,7 +44,7 @@ OPT.
* :doc:`born/coul/wolf/cs (g) <pair_cs>`
* :doc:`born/gauss <pair_born_gauss>`
* :doc:`bpm/spring <pair_bpm_spring>`
* :doc:`brownian (o) <pair_brownian>`
* :doc:`brownian (ko) <pair_brownian>`
* :doc:`brownian/poly (o) <pair_brownian>`
* :doc:`buck (giko) <pair_buck>`
* :doc:`buck/coul/cut (giko) <pair_buck>`
@ -59,6 +59,7 @@ OPT.
* :doc:`comb (o) <pair_comb>`
* :doc:`comb3 <pair_comb>`
* :doc:`cosine/squared <pair_cosine_squared>`
* :doc:`coul/ctip <pair_coul>`
* :doc:`coul/cut (gko) <pair_coul>`
* :doc:`coul/cut/dielectric <pair_dielectric>`
* :doc:`coul/cut/global (o) <pair_coul>`
@ -79,6 +80,7 @@ OPT.
* :doc:`coul/tt <pair_coul_tt>`
* :doc:`coul/wolf (ko) <pair_coul>`
* :doc:`coul/wolf/cs <pair_cs>`
* :doc:`dispersion/d3 <pair_dispersion_d3>`
* :doc:`dpd (giko) <pair_dpd>`
* :doc:`dpd/coul/slater/long (g) <pair_dpd_coul_slater_long>`
* :doc:`dpd/ext (ko) <pair_dpd_ext>`
@ -94,7 +96,9 @@ OPT.
* :doc:`eam/cd <pair_eam>`
* :doc:`eam/cd/old <pair_eam>`
* :doc:`eam/fs (gikot) <pair_eam>`
* :doc:`eam/fs/apip <pair_eam_apip>`
* :doc:`eam/he <pair_eam>`
* :doc:`eam/apip <pair_eam_apip>`
* :doc:`edip (o) <pair_edip>`
* :doc:`edip/multi <pair_edip>`
* :doc:`edpd (g) <pair_mesodpd>`
@ -113,13 +117,18 @@ OPT.
* :doc:`gw/zbl <pair_gw>`
* :doc:`harmonic/cut (o) <pair_harmonic_cut>`
* :doc:`hbond/dreiding/lj (o) <pair_hbond_dreiding>`
* :doc:`hbond/dreiding/lj/angleoffset (o) <pair_hbond_dreiding>`
* :doc:`hbond/dreiding/morse (o) <pair_hbond_dreiding>`
* :doc:`hbond/dreiding/morse/angleoffset (o) <pair_hbond_dreiding>`
* :doc:`hdnnp <pair_hdnnp>`
* :doc:`hippo (g) <pair_amoeba>`
* :doc:`ilp/graphene/hbn (t) <pair_ilp_graphene_hbn>`
* :doc:`ilp/tmd (t) <pair_ilp_tmd>`
* :doc:`kolmogorov/crespi/full <pair_kolmogorov_crespi_full>`
* :doc:`kolmogorov/crespi/z <pair_kolmogorov_crespi_z>`
* :doc:`lambda/input/apip <pair_lambda_input_apip>`
* :doc:`lambda/input/csp/apip <pair_lambda_input_apip>`
* :doc:`lambda/zone/apip <pair_lambda_zone_apip>`
* :doc:`lcbop <pair_lcbop>`
* :doc:`lebedeva/z <pair_lebedeva_z>`
* :doc:`lennard/mdf <pair_mdf>`
@ -175,6 +184,7 @@ OPT.
* :doc:`lj/long/dipole/long <pair_dipole>`
* :doc:`lj/long/tip4p/long (o) <pair_lj_long>`
* :doc:`lj/mdf <pair_mdf>`
* :doc:`lj/pirani (o) <pair_lj_pirani>`
* :doc:`lj/relres (o) <pair_lj_relres>`
* :doc:`lj/spica (gko) <pair_spica>`
* :doc:`lj/spica/coul/long (gko) <pair_spica>`
@ -232,6 +242,9 @@ OPT.
* :doc:`oxrna2/coaxstk <pair_oxrna2>`
* :doc:`pace (k) <pair_pace>`
* :doc:`pace/extrapolation (k) <pair_pace>`
* :doc:`pace/apip <pair_pace_apip>`
* :doc:`pace/fast/apip <pair_pace_apip>`
* :doc:`pace/precise/apip <pair_pace_apip>`
* :doc:`pedone (o) <pair_pedone>`
* :doc:`pod (k) <pair_pod>`
* :doc:`peri/eps <pair_peri>`

View File

@ -1,6 +1,10 @@
Removed commands and packages
=============================
.. contents::
------
This page lists LAMMPS commands and packages that have been removed from
the distribution and provides suggestions for alternatives or
replacements. LAMMPS has special dummy styles implemented, that will
@ -8,94 +12,43 @@ 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
-----------------
GJF formulation in fix langevin
-------------------------------
.. versionchanged:: 23Nov2013
.. deprecated:: 12Jun2025
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>`
The *gjf* keyword in fix langevin is deprecated and will be removed
soon. The GJF functionality has been moved to its own fix style
:doc:`fix gjf <fix_gjf>` and it is strongly recommended to use that
fix instead.
Fix ave/spatial and fix ave/spatial/sphere
------------------------------------------
.. deprecated:: 11Dec2015
The fixes ave/spatial and ave/spatial/sphere have been removed from LAMMPS
since they were superseded by the more general and extensible "chunk
infrastructure". Here the system is partitioned in one of many possible
ways through the :doc:`compute chunk/atom <compute_chunk_atom>` command
and then averaging is done using :doc:`fix ave/chunk <fix_ave_chunk>`.
Please refer to the :doc:`chunk HOWTO <Howto_chunk>` section for an overview.
Box command
-----------
.. deprecated:: 22Dec2022
The *box* command has been removed and the LAMMPS code changed so it won't
be needed. If present, LAMMPS will ignore the command and print a warning.
Reset_ids, reset_atom_ids, reset_mol_ids commands
-------------------------------------------------
.. deprecated:: 22Dec2022
The *reset_ids*, *reset_atom_ids*, and *reset_mol_ids* commands have
been folded into the :doc:`reset_atoms <reset_atoms>` command. If
present, LAMMPS will replace the commands accordingly and print a
warning.
LATTE package
-------------
.. deprecated:: 15Jun2023
The LATTE package with the fix latte command was removed from LAMMPS.
This functionality has been superseded by :doc:`fix mdi/qm <fix_mdi_qm>`
and :doc:`fix mdi/qmmm <fix_mdi_qmmm>` from the :ref:`MDI package
<PKG-MDI>`. These fixes are compatible with several quantum software
packages, including LATTE. See the ``examples/QUANTUM`` dir and the
:doc:`MDI coupling HOWTO <Howto_mdi>` page. MDI supports running LAMMPS
with LATTE as a plugin library (similar to the way fix latte worked), as
well as on a different set of MPI processors.
MEAM package
LAMMPS shell
------------
The MEAM package in Fortran has been replaced by a C++ implementation.
The code in the :ref:`MEAM package <PKG-MEAM>` is a translation of the
Fortran code of MEAM into C++, which removes several restrictions
(e.g. there can be multiple instances in hybrid pair styles) and allows
for some optimizations leading to better performance. The pair style
:doc:`meam <pair_meam>` has the exact same syntax. For a transition
period the C++ version of MEAM was called USER-MEAMC so it could
coexist with the Fortran version.
.. deprecated:: 29Aug2024
Minimize style fire/old
-----------------------
The LAMMPS shell has been removed from the LAMMPS distribution. Users
are encouraged to use the :ref:`LAMMPS-GUI <lammps_gui>` tool instead.
.. deprecated:: 8Feb2023
i-PI tool
---------
Minimize style *fire/old* has been removed. Its functionality can be
reproduced with *fire* with specific options. Please see the
:doc:`min_modify command <min_modify>` documentation for details.
.. deprecated:: 27Jun2024
Pair style mesont/tpm, compute style mesont, atom style mesont
--------------------------------------------------------------
The i-PI tool has been removed from the LAMMPS distribution. Instead,
instructions to install i-PI from PyPI via pip are provided.
.. deprecated:: 8Feb2023
USER-REAXC package
------------------
Pair style *mesont/tpm*, compute style *mesont*, and atom style
*mesont* have been removed from the :ref:`MESONT package <PKG-MESONT>`.
The same functionality is available through
:doc:`pair style mesocnt <pair_mesocnt>`,
:doc:`bond style mesocnt <bond_mesocnt>` and
:doc:`angle style mesocnt <angle_mesocnt>`.
.. 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*.
MPIIO package
-------------
@ -115,7 +68,6 @@ Similarly, the "nfile" and "fileper" keywords exist for restarts:
see :doc:`restart <restart>`, :doc:`read_restart <read_restart>`,
:doc:`write_restart <write_restart>`.
MSCG package
------------
@ -126,9 +78,73 @@ for many years and instead superseded by the `OpenMSCG software
<https://software.rcc.uchicago.edu/mscg/>`_ of the Voth group at the
University of Chicago, which can be used independent from LAMMPS.
LATTE package
-------------
.. deprecated:: 15Jun2023
The LATTE package with the fix latte command was removed from LAMMPS.
This functionality has been superseded by :doc:`fix mdi/qm <fix_mdi_qm>`
and :doc:`fix mdi/qmmm <fix_mdi_qmmm>` from the :ref:`MDI package
<PKG-MDI>`. These fixes are compatible with several quantum software
packages, including LATTE. See the ``examples/QUANTUM`` dir and the
:doc:`MDI coupling HOWTO <Howto_mdi>` page. MDI supports running LAMMPS
with LATTE as a plugin library (similar to the way fix latte worked), as
well as on a different set of MPI processors.
Minimize style fire/old
-----------------------
.. deprecated:: 8Feb2023
Minimize style *fire/old* has been removed. Its functionality can be
reproduced with style *fire* with specific options. Please see the
:doc:`min_modify command <min_modify>` documentation for details.
Pair style mesont/tpm, compute style mesont, atom style mesont
--------------------------------------------------------------
.. deprecated:: 8Feb2023
Pair style *mesont/tpm*, compute style *mesont*, and atom style
*mesont* have been removed from the :ref:`MESONT package <PKG-MESONT>`.
The same functionality is available through
:doc:`pair style mesocnt <pair_mesocnt>`,
:doc:`bond style mesocnt <bond_mesocnt>` and
:doc:`angle style mesocnt <angle_mesocnt>`.
Box command
-----------
.. deprecated:: 22Dec2022
The *box* command has been removed and the LAMMPS code changed so it won't
be needed. If present, LAMMPS will ignore the command and print a warning.
Reset_ids, reset_atom_ids, reset_mol_ids commands
-------------------------------------------------
.. deprecated:: 22Dec2022
The *reset_ids*, *reset_atom_ids*, and *reset_mol_ids* commands have
been folded into the :doc:`reset_atoms <reset_atoms>` command. If
present, LAMMPS will replace the commands accordingly and print a
warning.
MESSAGE package
---------------
.. deprecated:: 4May2022
The MESSAGE package has been removed since it was superseded by the
:ref:`MDI package <PKG-MDI>`. MDI implements the same functionality
and in a more general way with direct support for more applications.
REAX package
------------
.. deprecated:: 4Jan2019
The REAX package has been removed since it was superseded by the
:ref:`REAXFF package <PKG-REAXFF>`. The REAXFF package has been tested
to yield equivalent results to the REAX package, offers better
@ -138,20 +154,25 @@ 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
------------------
MEAM package
------------
.. deprecated:: 7Feb2024
.. deprecated:: 4Jan2019
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*.
The MEAM package in Fortran has been replaced by a C++ implementation.
The code in the :ref:`MEAM package <PKG-MEAM>` is a translation of the
Fortran code of MEAM into C++, which removes several restrictions
(e.g. there can be multiple instances in hybrid pair styles) and allows
for some optimizations leading to better performance. The pair style
:doc:`meam <pair_meam>` has the exact same syntax. For a transition
period the C++ version of MEAM was called USER-MEAMC so it could
coexist with the Fortran version.
USER-CUDA package
-----------------
.. deprecated:: 31May2016
The USER-CUDA package had been removed, since it had been unmaintained
for a long time and had known bugs and problems. Significant parts of
the design were transferred to the
@ -160,19 +181,39 @@ performance characteristics on NVIDIA GPUs. Both, the KOKKOS
and the :ref:`GPU package <PKG-GPU>` are maintained
and allow running LAMMPS with GPU acceleration.
i-PI tool
---------
Compute atom/molecule
---------------------
.. versionchanged:: 27Jun2024
.. deprecated:: 11 Dec2015
The i-PI tool has been removed from the LAMMPS distribution. Instead,
instructions to install i-PI from PyPI via pip are provided.
The atom/molecule command has been removed from LAMMPS since it was superseded
by the more general and extensible "chunk infrastructure". Here the system is
partitioned in one of many possible ways - including using molecule IDs -
through the :doc:`compute chunk/atom <compute_chunk_atom>` command and then
summing is done using :doc:`compute reduce/chunk <compute_reduce_chunk>` Please
refer to the :doc:`chunk HOWTO <Howto_chunk>` section for an overview.
LAMMPS shell
------------
Fix ave/spatial and fix ave/spatial/sphere
------------------------------------------
.. versionchanged:: 29Aug2024
.. deprecated:: 11Dec2015
The LAMMPS shell has been removed from the LAMMPS distribution. Users
are encouraged to use the :ref:`LAMMPS-GUI <lammps_gui>` tool instead.
The fixes ave/spatial and ave/spatial/sphere have been removed from LAMMPS
since they were superseded by the more general and extensible "chunk
infrastructure". Here the system is partitioned in one of many possible
ways through the :doc:`compute chunk/atom <compute_chunk_atom>` command
and then averaging is done using :doc:`fix ave/chunk <fix_ave_chunk>`.
Please refer to the :doc:`chunk HOWTO <Howto_chunk>` section for an overview.
restart2data tool
-----------------
.. deprecated:: 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>`

View File

@ -24,4 +24,5 @@ of time and requests from the LAMMPS user community.
Classes
Developer_platform
Developer_utils
Developer_internal
Developer_grid

View File

@ -203,6 +203,7 @@ processed in the expected order before types are removed from dynamic
dispatch.
.. admonition:: Important Notes
:class: note
In order to be able to detect incompatibilities at compile time and
to avoid unexpected behavior, it is crucial that all member functions
@ -300,18 +301,24 @@ Formatting with the {fmt} library
The LAMMPS source code includes a copy of the `{fmt} library
<https://fmt.dev>`_, which is preferred over formatting with the
"printf()" family of functions. The primary reason is that it allows
a typesafe default format for any type of supported data. This is
"printf()" family of functions. The primary reason is that it allows a
typesafe default format for any type of supported data. This is
particularly useful for formatting integers of a given size (32-bit or
64-bit) which may require different format strings depending on
compile time settings or compilers/operating systems. Furthermore,
{fmt} gives better performance, has more functionality, a familiar
formatting syntax that has similarities to ``format()`` in Python, and
provides a facility that can be used to integrate format strings and a
variable number of arguments into custom functions in a much simpler
way than the varargs mechanism of the C library. Finally, {fmt} has
been included into the C++20 language standard, so changes to adopt it
are future-proof.
64-bit) which may require different format strings depending on compile
time settings or compilers/operating systems. Furthermore, {fmt} gives
better performance, has more functionality, a familiar formatting syntax
that has similarities to ``format()`` in Python, and provides a facility
that can be used to integrate format strings and a variable number of
arguments into custom functions in a much simpler way than the varargs
mechanism of the C library. Finally, {fmt} has been included into the
C++20 language standard as ``std::format()``, so changes to adopt it are
future-proof, for as long as they are not using any extensions that are
not (yet) included into C++.
The long-term plan is to switch to using ``std::format()`` instead of
``fmt::format()`` when the minimum C++ standard required for LAMMPS will
be set to C++20. See the :ref:`basic build instructions <compile>` for
more details.
Formatted strings are frequently created by calling the
``fmt::format()`` function, which will return a string as a
@ -319,11 +326,13 @@ Formatted strings are frequently created by calling the
``printf()``, the {fmt} library uses ``{}`` to embed format descriptors.
In the simplest case, no additional characters are needed, as {fmt} will
choose the default format based on the data type of the argument.
Otherwise, the ``fmt::print()`` function may be used instead of
``printf()`` or ``fprintf()``. In addition, several LAMMPS output
functions, that originally accepted a single string as argument have
been overloaded to accept a format string with optional arguments as
well (e.g., ``Error::all()``, ``Error::one()``, ``utils::logmesg()``).
Otherwise, the :cpp:func:`utils::print() <LAMMPS_NS::utils::print>`
function may be used instead of ``printf()`` or ``fprintf()``. In
addition, several LAMMPS output functions, that originally accepted a
single string as argument have been overloaded to accept a format string
with optional arguments as well (e.g., ``Error::all()``,
``Error::one()``, :cpp:func:`utils::logmesg()
<LAMMPS_NS::utils::logmesg>`).
Summary of the {fmt} format syntax
==================================

View File

@ -79,19 +79,19 @@ containing ``double`` values. To correctly store integers that may be
64-bit (bigint, tagint, imageint) in the buffer, you need to use the
:ref:`ubuf union <communication_buffer_coding_with_ubuf>` construct.
The *Fix*, *Compute*, and *Dump* classes can also invoke the same kind
of forward and reverse communication operations using the same *Comm*
class methods. Likewise, the same pack/unpack methods and
The *Fix*, *Bond*, *Compute*, and *Dump* classes can also invoke the
same kind of forward and reverse communication operations using the
same *Comm* class methods. Likewise, the same pack/unpack methods and
comm_forward/comm_reverse variables must be defined by the calling
*Fix*, *Compute*, or *Dump* class.
*Fix*, *Bond*, *Compute*, or *Dump* class.
For *Fix* classes, there is an optional second argument to the
For all of these classes, there is an optional second argument to the
*forward_comm()* and *reverse_comm()* call which can be used when the
fix performs multiple modes of communication, with different numbers
of values per atom. The fix should set the *comm_forward* and
class performs multiple modes of communication, with different numbers
of values per atom. The class should set the *comm_forward* and
*comm_reverse* variables to the maximum value, but can invoke the
communication for a particular mode with a smaller value. For this
to work, the *pack_forward_comm()*, etc methods typically use a class
to work, the *pack_forward_comm()*, etc. methods typically use a class
member variable to choose which values to pack/unpack into/from the
buffer.

View File

@ -209,7 +209,7 @@ nve, nvt, npt.
At the end of the timestep, fixes that contain an ``end_of_step()``
method are invoked. These typically perform a diagnostic calculation,
e.g. the ave/time and ave/spatial fixes. The final operation of the
e.g. the ave/time and ave/chunk fixes. The final operation of the
timestep is to perform any requested output, via the ``write()`` method
of the Output class. There are 3 kinds of LAMMPS output: thermodynamic
output to the screen and log file, snapshots of atom data to a dump

View File

@ -0,0 +1,120 @@
Internal Styles
---------------
LAMMPS has a number of styles that are not meant to be used in an input
file and thus are not documented in the :doc:`LAMMPS command
documentation <Commands_all>`. The differentiation between user
commands and internal commands is through the case of the command name:
user commands and styles are all lower case, internal styles are all
upper case. Internal styles are not called from the input file, but
their classes are instantiated by other styles. Often they are
created by other styles to store internal data or to perform actions
regularly at specific steps of the simulation.
The paragraphs below document some of those styles that have general
utility and may be used to avoid redundant implementation.
DEPRECATED Styles
^^^^^^^^^^^^^^^^^
The styles called DEPRECATED (e.g. pair, bond, fix, compute, region, etc.)
have the purpose to inform users that a specific style has been removed
or renamed. This is achieved by creating an alias for the deprecated
style to the corresponding class. For example, the fix style DEPRECATED
is aliased to fix style ave/spatial and fix style ave/spatial/sphere with
the following code:
.. code-block:: c++
FixStyle(DEPRECATED,FixDeprecated);
FixStyle(ave/spatial,FixDeprecated);
FixStyle(ave/spatial/sphere,FixDeprecated);
The individual class will then determine based on the style name
what action to perform:
- inform that the style has been removed and what style replaces it, if any, and then error out
- inform that the style has been renamed and then either execute the replacement or error out
- inform that the style is no longer required, and it is thus ignored and continue
There is also a section in the user's guide for :doc:`removed commands
and packages <Commands_removed>` with additional explanations.
Internal fix styles
^^^^^^^^^^^^^^^^^^^
These provide an implementation of features that would otherwise have
been replicated across multiple styles. The used fix ID is generally
derived from the compute or fix ID creating the fix with some string
appended. When needed, the fix can be looked up with
``Modify::get_fix_by_id()``, which returns a pointer to the fix
instance. The data managed by the fix can be accessed just as for other
fixes that can be used in input files.
fix DUMMY
"""""""""
Most fix classes cannot be instantiated before the simulation box has
been created since they access data that is only available then.
However, in some cases it is required that a fix must be at or close to
the top of the list of all fixes. In those cases an instance of the
DUMMY fix style may be created by calling ``Modify::add_fix()`` and then
later replaced by the intended fix through calling ``Modify::replace_fix()``.
fix STORE/ATOM
""""""""""""""
Fix STORE/ATOM can be used as persistent storage of per-atom data.
**Syntax**
.. code-block:: LAMMPS
fix ID group-ID STORE/ATOM N1 N2 gflag rflag
* ID, group-ID are documented in :doc:`fix <fix>` command
* STORE/ATOM = style name of this fix command
* N1 = 1, N2 = 0 : data is per-atom vector = single value per atom
* N1 > 1, N2 = 0 : data is per-atom array = N1 values per atom
* N1 > 0, N2 > 0 : data is per-atom tensor = N1xN2 values per atom
* gflag = 1 communicate per-atom values with ghost atoms, 0 do not update ghost atom data
* rflag = 1 store per-atom value in restart file, 0 do not store data in restart
Similar functionality is also available through using custom per-atom
properties with :doc:`fix property/atom <fix_property_atom>`. The
choice between the two fixes should be based on whether the user should
be able to access this per-atom data: if yes, then fix property/atom is
preferred, otherwise fix STORE/ATOM.
fix STORE/GLOBAL
""""""""""""""""
Fix STORE/GLOBAL can be used as persistent storage of global data with support for restarts
**Syntax**
.. code-block:: LAMMPS
fix ID group-ID STORE/GLOBAL N1 N2
* ID, group-ID are documented in :doc:`fix <fix>` command
* STORE/GLOBAL = style name of this fix command
* N1 >=1 : number of global items to store
* N2 = 1 : data is global vector of length N1
* N2 > 1 : data is global N1xN2 array
fix STORE/LOCAL
"""""""""""""""
Fix STORE/LOCAL can be used as persistent storage for local data
**Syntax**
.. code-block:: LAMMPS
fix ID group-ID STORE/LOCAL Nreset Nvalues
* ID, group-ID are documented in :doc:`fix <fix>` command
* STORE/LOCAL = style name of this fix command
* Nreset = frequency at which local data is available
* Nvalues = number of values per local item, that is the number of columns

View File

@ -7,13 +7,7 @@ typically document what a variable stores, what a small section of
code does, or what a function does and its input/outputs. The topics
on this page are intended to document code functionality at a higher level.
Available topics are:
- `Reading and parsing of text and text files`_
- `Requesting and accessing neighbor lists`_
- `Choosing between a custom atom style, fix property/atom, and fix STORE/ATOM`_
- `Fix contributions to instantaneous energy, virial, and cumulative energy`_
- `KSpace PPPM FFT grids`_
.. contents:: Available notes
----
@ -218,6 +212,149 @@ command:
neighbor->add_request(this, "delete_atoms", NeighConst::REQ_FULL);
Errors, warnings, and informational messages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LAMMPS has specialized functionality to handle errors (which should
terminate LAMMPS), warning messages (which should indicate possible
problems *without* terminating LAMMPS), and informational text for
messages about the progress and chosen settings. We *strongly*
encourage using these facilities and to *stay away* from using
``printf()`` or ``fprintf()`` or ``std::cout`` or ``std::cerr`` and
calling ``MPI_Abort()`` or ``exit()`` directly. Warnings and
informational messages should be printed only on MPI rank 0 to avoid
flooding the output when running in parallel with many MPI processes.
**Errors**
When LAMMPS encounters an error, for example a syntax error in the
input, then a suitable error message should be printed giving a brief,
one line remark about the reason and then call either ``Error::all()``
or ``Error::one()``. ``Error::all()`` must be called when the failing
code path is executed by *all* MPI processes and the error condition
will appear for *all* MPI processes the same. If desired, each MPI
process may set a flag to either 0 or 1 and then MPI_Allreduce()
searching for the maximum can be used to determine if there was an error
on *any* of the MPI processes and make this information available to
*all*. ``Error::one()`` in contrast needs to be called when only one or
a few MPI processes execute the code path or can have the error
condition. ``Error::all()`` is generally the preferred option.
Calling these functions does not abort LAMMPS directly, but rather
throws either a ``LAMMPSException`` (from ``Error::all()``) or a
``LAMMPSAbortException`` (from ``Error::one()``). These exceptions are
caught by the LAMMPS ``main()`` program and then handled accordingly.
The reason for this approach is to support applications, especially
graphical applications like :ref:`LAMMPS-GUI <lammps_gui>`, that are
linked to the LAMMPS library and have a mechanism to avoid that an error
in LAMMPS terminates the application. By catching the exceptions, the
application can delete the failing LAMMPS class instance and create a
new one to try again. In a similar fashion, the :doc:`LAMMPS Python
module <Python_module>` checks for this and then re-throws corresponding
Python exception, which in turn can be caught by the calling Python
code.
There are multiple "signatures" that can be called:
- ``Error::all(FLERR, "Error message")``: this will abort LAMMPS with
the error message "Error message", followed by the last line of input
that was read and processed before the error condition happened.
- ``Error::all(FLERR, Error::NOLASTLINE, "Error message")``: this is the
same as before but without the last line of input. This is preferred
for errors that would happen *during* a :doc:`run <run>` or
:doc:`minimization <minimize>`, since showing the "run" or "minimize"
command would be the last line, but is unrelated to the error.
- ``Error::all(FLERR, idx, "Error message")``: this is for argument
parsing where "idx" is the index (starting at 0) of the argument for a
LAMMPS command that is causing the failure (use -1 for the command
itself). For index 0, you need to use the constant ``Error::ARGZERO``
to work around the inability of some compilers to disambiguate between
a NULL pointer and an integer constant 0, even with an added type cast.
The output may also include the last input line *before* and
*after*, if they differ due to substituting variables. A textual
indicator is pointing to the specific word that failed. Using the
constant ``Error::NOPOINTER`` in place of the *idx* argument will
suppress the marker and then the behavior is like the *idx* argument
is not provided.
FLERR is a macro containing the filename and line where the Error class
is called and that information is appended to the error message. This
allows to quickly find the relevant source code causing the error. For
all three signatures, the single string "Error message" may be replaced
with a format string using '{}' placeholders and followed by a variable
number of arguments, one for each placeholder. This format string and
the arguments are then handed for formatting to the `{fmt} library
<https://fmt.dev>`_ (which is bundled with LAMMPS) and thus allow
processing similar to the "format()" functionality in Python.
.. note::
For commands like :doc:`fix ave/time <fix_ave_time>` that accept
wildcard arguments, the :cpp:func:`utils::expand_args` function
may be passed as an optional argument where the function will provide
a map to the original arguments from the expanded argument indices.
For complex errors, that can have multiple causes and which cannot be
explained in a single line, you can append to the error message, the
string created by :cpp:func:`utils::errorurl`, which then provides a
URL pointing to a paragraph of the :doc:`Errors_details` that
corresponds to the number provided. Example:
.. code-block:: c++
error->all(FLERR, "Unknown identifier in data file: {}{}", keyword, utils::errorurl(1));
This will output something like this:
.. parsed-literal::
ERROR: Unknown identifier in data file: Massess
For more information see https://docs.lammps.org/err0001 (src/read_data.cpp:1482)
Last input line: read_data data.peptide
Where the URL points to the first paragraph with explanations on
the :doc:`Errors_details` page in the manual.
**Warnings**
To print warnings, the ``Errors::warning()`` function should be used.
It also requires the FLERR macros as first argument to easily identify
the location of the warning in the source code. Same as with the error
functions above, the function has two variants: one just taking a single
string as final argument and a second that uses the `{fmt} library
<https://fmt.dev>`_ to make it similar to, say, ``fprintf()``. One
motivation to use this function is that it will output warnings with
always the same capitalization of the leading "WARNING" string. A
second is that it has a built in rate limiter. After a given number (by
default 100), that can be set via the :doc:`thermo_modify command
<thermo_modify>` no more warnings are printed. Also, warnings are
written consistently to both screen and logfile or not, depending on the
settings for :ref:`screen <screen>` or :doc:`logfile <log>` output.
.. note::
Unlike ``Error::all()``, the warning function will produce output on
*every* MPI process, so it typically would be prefixed with an if
statement testing for ``comm->me == 0``, i.e. limiting output to MPI
rank 0.
**Informational messages**
Finally, for informational message LAMMPS has the
:cpp:func:`utils::logmesg() convenience function
<LAMMPS_NS::utils::logmesg>`. It also uses the `{fmt} library
<https://fmt.dev>`_ to support using a format string followed by a
matching number of arguments. It will output the resulting formatted
text to both, the screen and the logfile and will honor the
corresponding settings about whether this output is active and to which
file it should be send. Same as for ``Error::warning()``, it would
produce output for every MPI process and thus should usually be called
only on MPI rank 0 to avoid flooding the output when running with many
parallel processes.
Choosing between a custom atom style, fix property/atom, and fix STORE/ATOM
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -94,12 +94,12 @@ represents what is generally referred to as an "instance of LAMMPS". It
is a composite holding pointers to instances of other core classes
providing the core functionality of the MD engine in LAMMPS and through
them abstractions of the required operations. The constructor of the
LAMMPS class will instantiate those instances, process the command line
LAMMPS class will instantiate those instances, process the command-line
flags, initialize MPI (if not already done) and set up file pointers for
input and output. The destructor will shut everything down and free all
associated memory. Thus code for the standalone LAMMPS executable in
``main.cpp`` simply initializes MPI, instantiates a single instance of
LAMMPS while passing it the command line flags and input script. It
LAMMPS while passing it the command-line flags and input script. It
deletes the LAMMPS instance after the method reading the input returns
and shuts down the MPI environment before it exits the executable.

View File

@ -68,24 +68,25 @@ Members of ``lammpsplugin_t``
* - author
- String with the name and email of the author
* - creator.v1
- Pointer to factory function for pair, bond, angle, dihedral, improper, kspace, or command styles
- Pointer to factory function for pair, bond, angle, dihedral, improper, kspace, command, or minimize styles
* - creator.v2
- Pointer to factory function for compute, fix, or region styles
- Pointer to factory function for compute, fix, region, or run styles
* - handle
- Pointer to the open DSO file handle
Only one of the two alternate creator entries can be used at a time and
which of those is determined by the style of plugin. The "creator.v1"
element is for factory functions of supported styles computing forces
(i.e. pair, bond, angle, dihedral, or improper styles) or command styles
and the function takes as single argument the pointer to the LAMMPS
instance. The factory function is cast to the ``lammpsplugin_factory1``
type before assignment. The "creator.v2" element is for factory
functions creating an instance of a fix, compute, or region style and
takes three arguments: a pointer to the LAMMPS instance, an integer with
the length of the argument list and a ``char **`` pointer to the list of
arguments. The factory function pointer needs to be cast to the
``lammpsplugin_factory2`` type before assignment.
(i.e. pair, bond, angle, dihedral, or improper styles), command styles,
or minimize styles and the function takes as single argument the pointer
to the LAMMPS instance. The factory function is cast to the
``lammpsplugin_factory1`` type before assignment. The "creator.v2"
element is for factory functions creating an instance of a fix, compute,
region, or run style and takes three arguments: a pointer to the LAMMPS
instance, an integer with the length of the argument list and a ``char
**`` pointer to the list of arguments. The factory function pointer
needs to be cast to the ``lammpsplugin_factory2`` type before
assignment.
Pair style example
^^^^^^^^^^^^^^^^^^
@ -247,8 +248,8 @@ DSO handle. The registration function is called with a pointer to the address
of this struct and the pointer of the LAMMPS class. The registration function
will then add the factory function of the plugin style to the respective
style map under the provided name. It will also make a copy of the struct
in a list of all loaded plugins and update the reference counter for loaded
plugins from this specific DSO file.
in a global list of all loaded plugins and update the reference counter for
loaded plugins from this specific DSO file.
The pair style itself (i.e. the PairMorse2 class in this example) can be
written just like any other pair style that is included in LAMMPS. For
@ -263,6 +264,21 @@ the plugin will override the existing code. This can be used to modify
the behavior of existing styles or to debug new versions of them without
having to re-compile or re-install all of LAMMPS.
.. versionchanged:: 12Jun2025
When using the :doc:`clear <clear>` command, plugins are not unloaded
but restored to their respective style maps. This also applies when
multiple LAMMPS instances are created and deleted through the library
interface. The :doc:`plugin load <plugin>` load command may be issued
again, but for existing plugins they will be skipped. To replace
plugins they must be explicitly unloaded with :doc:`plugin unload
<plugin>`. When multiple LAMMPS instances are created concurrently, any
loaded plugins will be added to the global list of plugins, but are not
immediately available to any LAMMPS instance that was created before
loading the plugin. To "import" such plugins, the :doc:`plugin restore
<plugin>` may be used. Plugins are only removed when they are explicitly
unloaded or the LAMMPS interface is "finalized".
Compiling plugins
^^^^^^^^^^^^^^^^^

View File

@ -227,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 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 try to match the grouping of the
``unittest/c-library`` folder. They text either utility functions or
LAMMPS commands, but use the functions implemented in
``src/library.cpp`` as much as possible. There may be some overlap with
other tests as far as the LAMMPS functionality is concerned, but the
focus is on testing the C-style library API. The tests are distributed
over 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
@ -258,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).
@ -272,29 +272,30 @@ 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
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.
test wrappers written in C++ that will call fortran functions with a C
function interface through ISO_C_BINDINGS which will in turn call the
functions in the LAMMPS Fortran module.
Tests for the C++-style library interface
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The tests in the ``unittest/cplusplus`` folder are somewhat similar to
the tests for the C-style library interface, but do not need to test the
several convenience and utility functions that are only available through
the C-style interface. Instead it can focus on the more generic features
that are used internally. This part of the unit tests is currently still
mostly in the planning stage.
convenience and utility functions that are only available through the
C-style library interface. Instead they focus on the more generic
features that are used in LAMMPS internally. This part of the unit
tests is currently still mostly in the planning stage.
Tests for reading and writing file formats
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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 atoms with different properties is tested in different ways
and through script commands or reading and writing of data or restart files.
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 and through script commands or reading and writing of
data or restart files.
Tests for styles computing or modifying forces
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -443,7 +444,7 @@ 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
given system. It does not matter if some forces are large, for as long as
they do not diverge.
The template input files define a large number of index variables at the top
@ -476,7 +477,7 @@ the tabulated coulomb, to test both code paths. The reference results in the YA
files then should be compared manually, if they agree well enough within the limits
of those two approximations.
The ``test_pair_style`` and equivalent programs have special command line options
The ``test_pair_style`` and equivalent programs have special command-line options
to update the YAML files. Running a command like
.. code-block:: bash
@ -531,19 +532,20 @@ 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.
There 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
these added features. If you are modifying some existing LAMMPS
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 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"
@ -588,7 +590,7 @@ 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
for which the non-associativity of floating point math leads 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()`
@ -602,14 +604,14 @@ 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
To rerun a 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
``ctest`` with the ``-V`` flag also shows the exact command
of the test. One can then use ``gdb --args`` to further debug and
catch exceptions with the test command, for example,

View File

@ -29,6 +29,8 @@ Available topics in mostly chronological order are:
- `Rename of fix STORE/PERATOM to fix STORE/ATOM and change of arguments`_
- `Use Output::get_dump_by_id() instead of Output::find_dump()`_
- `Refactored grid communication using Grid3d/Grid2d classes instead of GridComm`_
- `FLERR as first argument to minimum image functions in Domain class`_
- `Use utils::logmesg() instead of error->warning()`_
----
@ -610,3 +612,71 @@ KSpace solvers which use distributed FFT grids:
- ``src/KSPACE/pppm.cpp``
This change is **required** or else the code will not compile.
FLERR as first argument to minimum image functions in Domain class
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. versionchanged:: 12Jun2025
The ``Domain::minimum_image()`` and ``Domain::minimum_image_big()``
functions were changed to take the ``FLERR`` macros as first argument.
This way the error message indicates *where* the function was called
instead of pointing to the implementation of the function. Example:
Old:
.. code-block:: c++
double delx1 = x[i1][0] - x[i2][0];
double dely1 = x[i1][1] - x[i2][1];
double delz1 = x[i1][2] - x[i2][2];
domain->minimum_image(delx1, dely1, delz1);
double r1 = sqrt(delx1 * delx1 + dely1 * dely1 + delz1 * delz1);
double delx2 = x[i3][0] - x[i2][0];
double dely2 = x[i3][1] - x[i2][1];
double delz2 = x[i3][2] - x[i2][2];
domain->minimum_image_big(delx2, dely2, delz2);
double r2 = sqrt(delx2 * delx2 + dely2 * dely2 + delz2 * delz2);
New:
.. code-block:: c++
double delx1 = x[i1][0] - x[i2][0];
double dely1 = x[i1][1] - x[i2][1];
double delz1 = x[i1][2] - x[i2][2];
domain->minimum_image(FLERR, delx1, dely1, delz1);
double r1 = sqrt(delx1 * delx1 + dely1 * dely1 + delz1 * delz1);
double delx2 = x[i3][0] - x[i2][0];
double dely2 = x[i3][1] - x[i2][1];
double delz2 = x[i3][2] - x[i2][2];
domain->minimum_image_big(FLERR, delx2, dely2, delz2);
double r2 = sqrt(delx2 * delx2 + dely2 * dely2 + delz2 * delz2);
This change is **required** or else the code will not compile.
Use utils::logmesg() instead of error->warning()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. versionchanged:: TBD
The ``Error::message()`` method has been removed since its functionality
has been superseded by the :cpp:func:`utils::logmesg` function.
Old:
.. code-block:: c++
if (comm->me == 0) {
error->message(FLERR, "INFO: About to read data file: {}", filename);
}
New:
.. code-block:: c++
if (comm->me == 0) utils::logmesg(lmp, "INFO: About to read data file: {}\n", filename);
This change is **required** or else the code will not compile.

View File

@ -133,6 +133,9 @@ and parsing files or arguments.
.. doxygenfunction:: trim_comment
:project: progguide
.. doxygenfunction:: strcompress
:project: progguide
.. doxygenfunction:: strip_style_suffix
:project: progguide
@ -166,6 +169,9 @@ and parsing files or arguments.
.. doxygenfunction:: split_lines
:project: progguide
.. doxygenfunction:: strsame
:project: progguide
.. doxygenfunction:: strmatch
:project: progguide
@ -232,12 +238,21 @@ Convenience functions
.. doxygenfunction:: logmesg(LAMMPS *lmp, const std::string &mesg)
:project: progguide
.. doxygenfunction:: print(FILE *fp, const std::string &format, Args&&... args)
:project: progguide
.. doxygenfunction:: print(FILE *fp, const std::string &mesg)
:project: progguide
.. doxygenfunction:: errorurl
:project: progguide
.. doxygenfunction:: missing_cmd_args
:project: progguide
.. doxygenfunction:: point_to_error
:project: progguide
.. doxygenfunction:: flush_buffers(LAMMPS *lmp)
:project: progguide

View File

@ -12,3 +12,4 @@ details are provided for writing code for LAMMPS.
Developer_write_pair
Developer_write_fix
Developer_write_command

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