Compare commits

...

2839 Commits

Author SHA1 Message Date
7a00ec90e5 Merge pull request #2134 from akohlmey/next_lammps_version
Update version strings for next patch release
2020-06-15 18:20:17 -04:00
a598a66eda Merge pull request #2157 from akohlmey/use-clang-format-demo
Demonstrate use of clang-format in LAMMPS
2020-06-15 17:55:42 -04:00
30100d33c6 get rid of tabs and trailing whitespace 2020-06-15 17:37:45 -04:00
3abbf57146 remove executable permissions on files that should not have them 2020-06-15 17:34:21 -04:00
fd8cfed86d fix typo 2020-06-15 17:33:50 -04:00
05319cae66 updates for using {fmt} and reordering of include statements exposing hidden includes 2020-06-15 16:55:38 -04:00
05d1924d62 update for using {fmt} 2020-06-15 16:48:20 -04:00
14c22a004a Merge branch 'master' into use-clang-format-demo
# Conflicts:
#	unittest/force-styles/pair_style.cpp
#	unittest/utils/test_utils.cpp
2020-06-15 16:14:13 -04:00
4a3d9afb54 Merge pull request #2154 from rbberger/coding_standard
Add utilities for checking code
2020-06-15 15:32:35 -04:00
65ff6bb617 Require clang-format >= 8.0 2020-06-15 14:59:43 -04:00
c987dfb2c9 Merge pull request #2156 from akohlmey/collected-small-changes
Collected changes for the next patch release
2020-06-15 14:40:27 -04:00
e083416dd8 Merge pull request #2159 from akohlmey/potential-unit-tag
Add a units consistency check by adding a UNITS: tag to potential files.
2020-06-15 13:55:20 -04:00
0ca7270668 re-enable USER-MESONT package for MinGW cross compilation 2020-06-15 13:47:16 -04:00
0199e369fa work around race condition and minimizing download attemps for transparently downloaded potential files 2020-06-15 13:46:54 -04:00
868e5450db Merge branch 'patch-1' of github.com:cjknight/lammps into collected-small-changes 2020-06-15 12:13:25 -04:00
9aee8d41bd Merge branch 'master' into collected-small-changes 2020-06-15 12:12:45 -04:00
71c075e0e4 Update atom_vec_sph.cpp
Looks like one 'de' wasn't renamed to 'desph' in recent commit.
2020-06-15 10:55:18 -05:00
70e809895f Merge pull request #1873 from iafoss/feature-cnt
Tubular potential force field package for carbon nanotubes
2020-06-15 11:41:56 -04:00
419ebd74fe Merge pull request #2155 from akohlmey/gmake-makefile-improvements
Portability improvement for src/Makefile
2020-06-15 11:35:11 -04:00
e840fa23f1 Add format-tests target 2020-06-15 11:21:43 -04:00
57eab1f785 USER-MESONT fails to download with Win64 for some strange reason. disabling from mingw preset for now 2020-06-15 11:12:55 -04:00
b5ee87697a workaround for GNU Fortran 10 and later when compiling downloaded ScaFaCoS lib 2020-06-15 10:59:32 -04:00
12b379df36 improve MEAM file detection in pair_coeff command, get rid of ERRFMT() 2020-06-15 08:18:11 -04:00
a7e2cc3320 initialize _need_tag differently. 2020-06-14 23:14:22 -04:00
59dcf2d7f9 make sure _need_tag in intel buffers is always initialized for all precision settings 2020-06-14 21:40:29 -04:00
b067880803 update code owners 2020-06-14 20:11:31 -04:00
753e2b00cf potential file metadata may only be in the first line of a file. 2020-06-14 19:59:17 -04:00
b3a99f3165 add and document new "download" preset 2020-06-14 19:50:14 -04:00
149571873f avoid illegal read after delete 2020-06-14 19:35:09 -04:00
2f5587da53 use std::string.empty() instead of comparing to "" 2020-06-14 17:25:20 -04:00
2a25fe16e7 fix delete[] vs. free() issue with pair styles eam/fs, eam/alloy, eim 2020-06-14 17:23:42 -04:00
7d9e0076c7 update some test yaml files 2020-06-14 17:01:28 -04:00
8736565977 document the use and generation of "DATE:" and "UNITS:" tags 2020-06-14 14:41:04 -04:00
5abfcde3f7 make subheaders and typesetting more consistent 2020-06-14 12:41:19 -04:00
4042b836c2 enable full c++11 in colvars, same as LAMMPS 2020-06-14 12:18:51 -04:00
b587500b19 update false positives 2020-06-14 11:56:24 -04:00
083fe85b68 import updates to the manual from the progguide branch 2020-06-14 11:25:02 -04:00
a8c0e8d30a FERMI GPU hardware is no longer supported by CUDA drivers and toolkit 2020-06-14 11:05:29 -04:00
3083306dbc remove obsolete inputs and logs 2020-06-14 11:04:00 -04:00
d2404cc88e replace more potentials with symlinks 2020-06-14 11:02:41 -04:00
78117205ce make He table potentials canonical and add UNITS: tag 2020-06-14 10:46:56 -04:00
21e34c5c76 Merge branch 'small-typo' of github.com:aatxutegi/lammps into collected-small-changes 2020-06-14 10:36:06 -04:00
03bf678e70 Small type at the Z rotation matrix member 2020-06-14 16:02:50 +02:00
7077db7eec update contributing guidelines to mention creating unit tests and regression test data. add checkbox to pull request template 2020-06-14 08:16:51 -04:00
c1d61edbcf Add unit style consistency check to pair_write and bond_write commands.
When a new table file is created, a line with DATE: and UNITS: tags is added
When a table is appended to an existing file, the DATE: is printed and the UNITS: tag is checked for consistency
The command aborts with an error, if the units do not match.
2020-06-14 07:56:39 -04:00
758d73e63d add UNITS: tag to a bunch more potential files 2020-06-14 07:02:55 -04:00
f0fadc1342 document UNITS: tag 2020-06-14 06:44:29 -04:00
41e050aa8a apply UNITS: tag to a whole bunch of potential files 2020-06-14 06:44:19 -04:00
2e844971a8 extend PotentialFileReader class to check for a UNITS: tag and error out if it doesn't match the current units 2020-06-14 06:23:49 -04:00
0481184862 add utility function to get the units tag value from a potential file 2020-06-14 06:22:47 -04:00
9b0213f1ab small CMake tweaks from progguide branch 2020-06-13 12:03:50 -04:00
daae6ea97f whitespace fix 2020-06-13 11:24:17 -04:00
8739067593 implement method to pass command line flags to test programs when run through ctest
based on the suggestion at: https://stackoverflow.com/questions/28812533/how-to-pass-command-line-arguments-in-ctest-at-runtime
but customized for the force-style tests
2020-06-13 11:19:56 -04:00
49982e22bf Add check for permissions 2020-06-13 09:54:12 -04:00
fcd3e9a3f9 Make quiet Python 3 check 2020-06-13 08:40:27 -04:00
0e708469b6 add unittest for ErrorStats class 2020-06-13 02:49:12 -04:00
d5d28bcbd2 use fmt::format() for error_stats output. 2020-06-13 02:11:21 -04:00
9c3d108bbc enable aligning consecutive assignments 2020-06-13 02:05:13 -04:00
3db944decc apply clang-format settings to the c++ sources in the unittest tree 2020-06-13 01:54:58 -04:00
4d62ea98cf add clang-format configuration file for the unittest tree 2020-06-13 01:51:16 -04:00
e006286603 rather than forcing tcp communication for OpenMPI, we disable infiniband instead for better stability of tests 2020-06-13 01:40:53 -04:00
00ebbb311a whitespace fixes 2020-06-13 01:40:34 -04:00
8d5452d653 must use fabs() instead of abs() on floating point values. update cauchystat example logs 2020-06-13 01:39:55 -04:00
ec6d3586ce require at least python 3.5 for building docs and import CMake improvements from progguide branch 2020-06-13 01:20:24 -04:00
e9a9c7e53d avoid using $(shell...) in master makefile thus execute faster and become independent of shell commands 2020-06-13 00:29:11 -04:00
dfc250339e move release date (again) 2020-06-12 23:49:47 -04:00
cf5fa3959c Add first version of whitespace utility 2020-06-12 21:52:51 -04:00
d84b4a3fff Merge pull request #2152 from stanmoore1/kk_snap_mem
Remove unnecessary memory allocation in Kokkos PairSNAP
2020-06-12 15:28:28 -04:00
49556edd50 Remove unnecessary allocation 2020-06-12 12:39:03 -06:00
497e30af82 fully integrate and update USER-MESONT docs. Add notes about C++ pair style and download of potential files 2020-06-12 09:02:56 -04:00
92d54d2764 not portable to use "mpi" 2020-06-12 09:01:59 -04:00
e52a05f525 whitespace fixes 2020-06-12 08:26:25 -04:00
e3f8af6cec Merge remote-tracking branch 'github/master' into feature-cnt 2020-06-12 08:25:52 -04:00
0c23fcae91 Merge pull request #2149 from jtclemm/sort-atom-callbacks
Sort atom callbacks
2020-06-12 08:22:02 -04:00
2b49d2398c Merge branch 'master' into feature-cnt 2020-06-12 07:17:02 -04:00
55089df679 add a few missing typecasts 2020-06-12 07:01:32 -04:00
b246c96056 remove duplicate package name 2020-06-12 06:36:44 -04:00
ba5e78b97a move pair style mesocnt example to the USER-MESONT folder. unbundle potential file 2020-06-12 06:33:45 -04:00
cf359dede2 Merge pull request #2139 from akohlmey/fetch-potentials
Add feature to transparently download external potential files when packages are enabled
2020-06-12 06:28:42 -04:00
d61d8899ff Merge branch 'fetch-potentials' into feature-cnt 2020-06-12 05:54:45 -04:00
cf5c748fb4 Merge branch 'master' into feature-cnt 2020-06-12 05:53:17 -04:00
22ed175632 Merge pull request #2151 from akohlmey/move-ubuf-to-lmptype
Move definition(s) of union ubuf to lmptype.h
2020-06-12 05:51:41 -04:00
0bc1c3b2a2 update example logs and inputs 2020-06-12 05:48:49 -04:00
53e0cc1b88 remove dead code, fix up a few details and reduce compiler warnings 2020-06-12 05:35:50 -04:00
5862dcbb3a fully integrate USER-MESONT into the conventional build system 2020-06-12 05:35:25 -04:00
d1546262a4 replace non-standard tabs with blanks 2020-06-12 05:15:23 -04:00
74df1bcf7d update makefiles and add dependencies for parallel compile 2020-06-12 05:07:19 -04:00
5f86bac419 Merge pull request #2144 from rbberger/tokenizer-performance-fixes
Performance optimization of Tokenizer
2020-06-12 04:20:05 -04:00
3c99471df8 add a few more unit tests for functions in utils 2020-06-12 01:29:42 -04:00
8c470b9e8b Merge branch 'master' into tokenizer-performance-fixes 2020-06-12 00:43:43 -04:00
554905ba36 move version date one more time 2020-06-11 23:11:44 -04:00
6b783d31ad fix spelling 2020-06-11 21:28:32 -04:00
219a3e4ce2 fix format (again) 2020-06-11 21:27:27 -04:00
bb144f0d1b Merge branch 'reset-ids-sort' into move-ubuf-to-lmptype
# Conflicts:
#	src/reset_ids.h
2020-06-11 20:12:37 -04:00
965ec37e80 whitespace/format fixes 2020-06-11 20:11:38 -04:00
1e8ef99fa7 use compile time tests instead of runtime checks for skipping 64bit tests on 32bit integers 2020-06-11 19:17:17 -04:00
9ca0d01a5b silence compiler warnings 2020-06-11 19:05:06 -04:00
a8c1ce98cf remove trailing whitespace 2020-06-11 19:04:15 -04:00
6274234376 have a single union ubuf definition in lmptype.h and remove others 2020-06-11 18:37:31 -04:00
883a6c5aa1 Addressing include conflict 2020-06-11 16:24:29 -06:00
006f7956c1 Merge remote-tracking branch 'github/reset-ids-sort' into move-ubuf-to-lmptype 2020-06-11 18:11:51 -04:00
fc9bbd4d06 Merge pull request #2121 from rbberger/gran-wall-store-contacts-fix
Document and fix store_contacts in fix gran/wall and gran/wall/region
2020-06-11 18:04:23 -04:00
bdce720337 Merge pull request #2143 from lammps/hyper-eligible
fix a bug with checking too early for ineligibilty for biasing
2020-06-11 18:02:19 -04:00
e70f23cdcc Switching to std::sort 2020-06-11 15:42:37 -06:00
b9303378ac move pair style mesocnt from USER-MISC to (upcoming) USER-MESONT package
the remaining documentation and README files will be updated once USER-MESONT is integrated
2020-06-11 17:41:19 -04:00
9ca7091385 Merge pull request #2141 from akohlmey/kokkos-make-arch-case-insensitive
Make kokkos configuration keywords with gmake case insensitive
2020-06-11 17:20:43 -04:00
77a38c2a0a remove (unsupported) reference to AMD Ryzen 2020-06-11 17:03:20 -04:00
9896d10d0c whitespace cleanup 2020-06-11 16:52:38 -04:00
d95859c73b update hyperdynamics example log files 2020-06-11 16:52:30 -04:00
96a6afd42a Merge pull request #2148 from akohlmey/kim-echo-log-refactor
KIM package echo/log refactor and bugfix
2020-06-11 16:46:41 -04:00
765b547a40 Merge pull request #2147 from stanmoore1/kk_sw
Fix compile error with pair_sw_kokkos
2020-06-11 16:20:03 -04:00
ca424772df Improving clarity of loops 2020-06-11 14:10:26 -06:00
006ada3a52 Sorting atom callback lists 2020-06-11 14:03:59 -06:00
3a5cdd384f vector -> array 2020-06-11 14:51:36 -04:00
43d3133583 Whitespace 2020-06-11 14:00:13 -04:00
f25f7fee8d Only count new words 2020-06-11 13:56:47 -04:00
6a9073a0cb Add count_words for C-Strings 2020-06-11 13:50:26 -04:00
645d3b61ba Only count new words 2020-06-11 13:49:58 -04:00
6cb5345cd0 Add optimized version of count_words for default whitespace chars 2020-06-11 13:37:22 -04:00
505cc1036f refactor KIM package code for using {fmt} and std::string 2020-06-11 13:25:41 -04:00
61d0592e6a Fix compile error with pair_sw_kokkos 2020-06-11 11:13:36 -06:00
558b9201ac Fix typo 2020-06-11 12:37:44 -04:00
e9a52a2b1b More doc updates 2020-06-11 12:30:02 -04:00
b299601a41 Update fix_wall_gran docs 2020-06-11 12:22:55 -04:00
ff35f421ac Don't store atom tag, just if there is a contact 2020-06-11 11:35:27 -04:00
7ace10238d change interface to Input::write_echo() to accept const std::string 2020-06-11 10:23:44 -04:00
9945f73743 fix spelling in a few more files 2020-06-11 01:05:58 -04:00
81d937ee97 Performance optimization of Tokenizer
Reduces string allocations and removes std::vector from Tokenizer
Most processing now happens on-demand.
2020-06-11 00:22:04 -04:00
b287651ed6 fix a bug with checking too early for ineligibilty for biasing 2020-06-10 16:56:52 -06:00
e4d1068c70 flag a couple fixes and their derived clases as incompatible with resetting atom IDs 2020-06-10 16:47:55 -06:00
d02363b8fb adding a reset_ids sort option 2020-06-10 16:33:05 -06:00
64a4e5e21a make kokkos configuration keywords in traditional build case insensitive 2020-06-10 15:53:09 -04:00
6f78dd688a Minor doc changes & rename store_contacts to contacts 2020-06-10 15:52:47 -04:00
71d3827cce Merge pull request #2140 from stanmoore1/kk_depend
Add missing Kokkos dependency
2020-06-10 15:50:10 -04:00
c3d5e46f9a one more permission fix 2020-06-10 13:48:25 -04:00
8a71d760f2 fixup permission on doc file 2020-06-10 13:41:57 -04:00
4c3a13873e {fmt}: don't use [[gnu::fallthrough]] on intel compilers 2020-06-10 13:37:30 -04:00
404516060d Add missing Kokkos dependency 2020-06-10 10:49:41 -06:00
1a1cc99144 use correct expression for source folder. small output tweak. 2020-06-10 12:41:20 -04:00
6891fa2610 update a few URLs to use https: instead of http: 2020-06-10 12:34:09 -04:00
f36a84bdd3 add CMake support for fetching external potential files 2020-06-10 12:29:48 -04:00
20a9794b92 fix permissions 2020-06-10 11:26:08 -04:00
72ce9dfacb add feature to transparently fetch external potential files when a package is installed 2020-06-10 11:25:59 -04:00
d436550d63 remove too big C_10_10.mesocnt potential 2020-06-10 09:56:47 -04:00
59353513e0 move date 2020-06-09 19:02:27 -04:00
0b7f58e674 Merge pull request #2137 from jtclemm/ptemp
Adding new ptemp keyword to fix/nh
2020-06-09 19:01:30 -04:00
2f5a8d0937 remove trailing whitespace 2020-06-09 17:28:26 -04:00
3ea39f5a23 Update fix_nh.rst
Removed mbox commands
2020-06-09 14:58:25 -06:00
833ebeb0a0 remove \mbox{} macros which are incompatible with make pdf 2020-06-09 16:42:26 -04:00
c3831f8971 Merge pull request #2126 from vmohles/add-ECO-DF
Add fix orient/eco to USER-MISC
2020-06-09 16:41:07 -04:00
32984cb8c4 add reference to LAMMPS slack 2020-06-09 16:06:47 -04:00
1221906ed9 fix whitespace issues 2020-06-09 15:14:49 -04:00
ecc142229d update outputs again 2020-06-09 15:09:45 -04:00
fa07f64b81 add missing linefeed 2020-06-09 15:06:13 -04:00
999ed36e6a update log files for new version 2020-06-09 15:04:53 -04:00
bb5b931d78 Merge remote-tracking branch 'github/master' into add-ECO-DF 2020-06-09 14:55:40 -04:00
89fb194f51 update to fix orient/eco from the authors 2020-06-09 14:55:31 -04:00
719936580a Merge pull request #2135 from akohlmey/cmake-legacy-gpu-conflict
Handle conflict between conventional build and CMake build in lib/gpu
2020-06-09 14:26:42 -04:00
4c6c4ac405 Update fix_nh.rst
Adding linebreaks for legibility
2020-06-09 12:20:21 -06:00
e47d48eed8 Change output message and use list(APPEND) 2020-06-09 12:10:35 -04:00
954f728225 Always set CMAKE_LIBRARY_PATH if environment variable LIBRARY_PATH is set
This resolves issues such as CUDA_CUDA_LIBRARY NOTFOUND if LIBRARY_PATH is
set to the CUDA stubs folder, but ignored by CMake.
2020-06-09 11:30:54 -04:00
2010cf97a9 add documentation for the cubin header check and explain the reason 2020-06-09 07:41:18 -04:00
78f030a07a test for *cubin.h files in lib/gpu that conflict with cmake compilation 2020-06-09 07:32:49 -04:00
9d3dda9307 step version strings for next patch release 2020-06-08 19:57:07 -04:00
e641671da9 Merge pull request #2132 from akohlmey/collected-bugfixes-and-updates
Collected bugfixes and updates
2020-06-08 19:55:34 -04:00
3b1219f0f5 Merge pull request #2133 from ThFriedrich/master
Added missing and correct a few existing "Syntax" and "Examples" labels in docs
2020-06-08 19:20:32 -04:00
016629252d a few more tweaks needed for centos8 and fedora32 2020-06-08 19:18:01 -04:00
ac85071bc4 need one more step with ubuntu to allow enabling PPA repos 2020-06-08 16:08:03 -04:00
2668e3deb6 add manual installation of plumed library 2020-06-08 14:39:34 -04:00
8b154cfbf6 must not set *any* communicators in plumed lib when using MPI_STUBS 2020-06-08 10:38:20 -04:00
7512cd3518 Merge branch 'master' of github.com:ThFriedrich/lammps into collected-bugfixes-and-updates 2020-06-08 09:48:21 -04:00
ee5e479343 make sure that when unpacking the Nbr struct you convert the index back to the closest image relative to the center atom 2020-06-08 09:33:21 -04:00
2e9859bacf don't request neighbors of ghosts 2020-06-08 09:29:32 -04:00
c90f303a7a structs are all public by default 2020-06-08 09:28:43 -04:00
942a9e936d remove changes to upstream 2020-06-08 09:28:22 -04:00
d106ed8981 add missing pair_style command to commands overview 2020-06-08 01:49:16 -04:00
99fcf21a74 Fix "Example" Tag formatting 2020-06-08 04:21:24 +02:00
448bccd138 tweak test epsilons so they pass with -DLAMMPS_BIGBIG 2020-06-07 22:20:46 -04:00
e5f937388a fix bugs with reading restart files when using -DLAMMPS_BIGBIG 2020-06-07 22:14:51 -04:00
864103f93e fix cut-n-paste bug that crashed LAMMPS on reading molecular data files with -DLAMMPS_BIGBIG 2020-06-07 21:35:06 -04:00
f9cdf0913c Fix Formatting of "Examples" Label 2020-06-07 23:27:02 +02:00
def387c21e Added missing "Syntax" label 2020-06-07 23:01:48 +02:00
a9d1932032 update singularity definition files to include kim-api packages 2020-06-07 16:11:26 -04:00
dd746f7695 whitespace 2020-06-07 15:59:50 -04:00
bbb6f408be fix syntax issue 2020-06-07 15:56:18 -04:00
4da8ff3d21 avoid division by zero 2020-06-07 15:47:46 -04:00
fc1be785fc port bugfix from fix qtb to fix qbmsst and some output simplification 2020-06-07 15:33:32 -04:00
5c1236084c correctly compute the size of the maxexchange buffer. we put all fixes into one buffer. 2020-06-07 14:37:20 -04:00
db9543ede2 use more common coding patterns, set maxexchange, use correct argument conversion functions 2020-06-07 14:36:41 -04:00
cee7cd5fe9 consolidate enumerator for per-atom array data types 2020-06-07 11:44:42 -04:00
edc7237f15 more thorough checking if the reaxff force field is consistent. 2020-06-07 10:46:50 -04:00
586f2c00b0 add missing linefeed character 2020-06-07 10:13:35 -04:00
09a005414b recover compilation of the KIM package 2020-06-06 17:27:10 -04:00
64664d0b18 Merge pull request #2122 from rbberger/refactor-table-reading
Refactor table reading
2020-06-06 16:44:57 -04:00
7088746e36 update logs 2020-06-06 11:59:38 -04:00
a1afb8e1da when communicating always communicate global atom ID and convert back 2020-06-06 11:53:50 -04:00
d343d2beb1 whitespace and output fixes. 2020-06-06 11:10:32 -04:00
92012ef047 fix permissions 2020-06-06 10:44:09 -04:00
8a71645a4b must pass the filename, not file pointer to error message 2020-06-06 10:41:42 -04:00
17306c0469 Merge branch 'master' into add-ECO-DF 2020-06-06 10:37:12 -04:00
4e05eaa811 reduce compiler warnings, use new error class and format options 2020-06-06 10:37:06 -04:00
8bfabcab56 update fix orient/eco example to be aligned with LAMMPS conventions 2020-06-06 10:36:35 -04:00
4832de4a76 add to USER-MISC README file 2020-06-06 10:03:21 -04:00
9482f7f834 fix up typesetting of docs, spelling, and integrated into fix command table 2020-06-06 10:01:07 -04:00
890c5fc1be update src/.gitignore 2020-06-06 10:00:11 -04:00
c6abcc8518 must not include installed copies of package files 2020-06-06 09:59:59 -04:00
2ed8652545 Fix whitespace 2020-06-05 19:15:31 -04:00
52f5968695 Merge remote-tracking branch 'origin/master' into refactor-table-reading 2020-06-05 19:09:24 -04:00
a57a8a879b Merge pull request #2129 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2020-06-05 18:49:47 -04:00
4f804f58e3 Merge remote-tracking branch 'origin/master' into refactor-table-reading 2020-06-05 16:41:05 -04:00
04d7eacc2f remove .c_str() in several places because it is no longer neede 2020-06-05 16:40:48 -04:00
c7ef89dc4a Merge branch 'master' into collected-small-changes 2020-06-05 16:40:30 -04:00
2203e1e9e5 Change next_dvector(n, buf) to next_dvector(buf, n) 2020-06-05 16:40:14 -04:00
12386945d5 Merge pull request #2128 from akohlmey/more-fmtlib-and-string
Use {fmt}, std::string and utils::logmesg() in more places
2020-06-05 16:37:38 -04:00
9bf47cd9f3 make KOKKOS library compilation compatible with mode=shared 2020-06-05 13:58:11 -04:00
8b5469590d Fix error message in pair_airebo.cpp 2020-06-05 12:25:10 -04:00
4d99092e37 Fix error message in bond_table.cpp 2020-06-05 12:23:20 -04:00
a42a86c0d2 Remove more c_str() 2020-06-05 12:13:41 -04:00
7df387f7d5 Merge remote-tracking branch 'origin/master' into refactor-table-reading 2020-06-05 12:09:57 -04:00
cd08dc8425 Simplify by using next_values() helper 2020-06-05 11:57:12 -04:00
78468f41d5 make definition consistent and silence a whole bunch of warnings from recent clang versions 2020-06-05 11:52:06 -04:00
f547d66104 Merge branch 'master' into more-fmtlib-and-string
# Conflicts:
#	src/write_restart.cpp
2020-06-05 11:13:44 -04:00
863828540a Merge pull request #2127 from akohlmey/error-using-string-class
Use std::string in arguments to Error class function
2020-06-05 11:05:14 -04:00
9ba84f37d7 add workaround for compilation error with MPIIO on windows due to old ROMIO API 2020-06-05 11:03:17 -04:00
cbd4f59d45 updates "add eco df"
We think we followed all your requests/advice/suggestions (thanks!). We were unable to compile the current master (!) on Ubuntu and MacOS unless we added -std=c++11 to the Makefile(s) compiler flags. Note that this is NOT related to this pull request / the ECO Force. With  this compiler flag, the current master works well with the fix_orient_eco (now renamed). The fix has been moved to USER-MISC (but we hope to get it to MISC later). We can't "make style_check ", but we have added our command to commands_fix.rst. We don't know GitHub well enough, so we don't know how to make sure that the PR #2122 was already included in the master, which we downloaded today.
2020-06-05 14:57:59 +02:00
ad76f5267b whitespace fix 2020-06-05 08:54:41 -04:00
d874e8a2be remove TAGINT_FORMAT from ntopo styles 2020-06-05 08:45:18 -04:00
73c6171ad6 get rid of BIGINT_FORMAT and use utils::logmesg() 2020-06-05 08:19:45 -04:00
8ed32f95b3 simplify writing restarts a bit more 2020-06-05 07:31:39 -04:00
8814fc0147 use const char * for compatibility with std::string.c_str() 2020-06-05 07:31:02 -04:00
3e289bbc5e fixup whitespace 2020-06-04 22:37:32 -04:00
0ee1393955 fix typo 2020-06-04 22:17:50 -04:00
48b7b7d722 fix up change_box and displace_atoms lost atoms error message 2020-06-04 22:09:40 -04:00
923e740872 get rid of more BIGINT_FORMAT macros 2020-06-04 22:07:47 -04:00
c02c352ca2 use {fmt} to write out atomic data 2020-06-04 21:56:00 -04:00
439eee3b86 get rid of BIGINT_FORMAT and use std::string.replace() to expand time step in data and restart file names 2020-06-04 21:38:00 -04:00
54a8b4e08b more local buffers removed and file error status added. 2020-06-04 20:14:19 -04:00
4a6d3bc0e0 Move common potentials opening code to utils 2020-06-04 17:18:28 -04:00
62ee8d41f3 get rid of local buffers and snprinf() 2020-06-04 16:41:24 -04:00
7ab65c05da Simplify Pair COMB3 2020-06-04 16:29:15 -04:00
8689b31bca Add convenience method next_values 2020-06-04 16:27:27 -04:00
57821c7bea Add missing error message 2020-06-04 16:26:22 -04:00
e5263e502d Fix bug in next_dvector
It did not ignore comment lines
2020-06-04 16:24:48 -04:00
6c41c2f69d Make Tokenizers movable 2020-06-04 16:23:46 -04:00
4b58e33b1e remove local buffer for error message in Force class 2020-06-04 15:24:10 -04:00
ad15385f4c convert code in Info to use {fmt} and string 2020-06-04 15:21:57 -04:00
b27ef02bc2 no local buffers and snprintf() in a bunch of style creation functions 2020-06-04 14:36:56 -04:00
d9345a1652 Update Pair BOP 2020-06-04 14:36:25 -04:00
c22aee142d remove unused variable 2020-06-04 13:31:30 -04:00
2777d37a61 remove local buffers and snprintf() for file open error messages. 2020-06-04 13:30:44 -04:00
47888b587a add convenience function to get the output of strerror(errno) as c++ string 2020-06-04 12:01:02 -04:00
b2c4cce826 Update PairAirebo 2020-06-04 11:31:35 -04:00
481d3cb219 avoid using a local buffer and snprintf() 2020-06-04 11:21:25 -04:00
34ff7aa1fe Add convenience functions to PotentialFileReader 2020-06-04 11:18:33 -04:00
9291d2a9d7 Simplify count_words, add trim_and_count_words
The original count_words function (before it was put into utils::) also trimmed
comments. For compatibility this behaviour was retained at first. However, due
to the name the trimming is not immediatly apparent and many times not
wanted.

Therefore, this commit replaces count_words with an implementation that
just does what it says. If a comment should be trimmed there is a
trim_comment function. For convenience, a trim_and_count_words function was
added and is now used where the old behaviour was needed.
2020-06-04 11:13:37 -04:00
75e4cff44a simplify communication cutoff warnings 2020-06-04 11:13:21 -04:00
98f8b9632d avoid division by zero when reading tersoff potentials with powern == 0.0 2020-06-04 11:01:56 -04:00
97e69abcda get rid of snprintf() and local buffers in atom style creation 2020-06-04 10:45:24 -04:00
aab4bc8ac2 update fix restrain to use {fmt} and be 64-bit atom id compatible 2020-06-03 23:43:54 -04:00
00fd82016c simplify Domain::print_box() 2020-06-03 22:52:49 -04:00
fc216edf10 simplify create/delete_atoms/bonds 2020-06-03 22:36:51 -04:00
ef190962b8 simplify deprecated styles 2020-06-03 22:14:38 -04:00
c0fb794848 update load balancing output to use utils::logmesg() and {fmt} 2020-06-03 21:21:58 -04:00
9297211b06 fix style issue 2020-06-03 16:58:08 -04:00
dd11fb3964 remove .c_str() and simplify output in several places 2020-06-03 16:37:30 -04:00
9f3f53cc6b convert Error class to accept 'const std::string &' instead of 'const char *' 2020-06-03 15:43:05 -04:00
3c6ce73ccf Remove unused define 2020-06-03 15:10:22 -04:00
1247096680 Add missing OMP version of Pair Tersoff ZBL 2020-06-03 15:09:33 -04:00
98e2e34a36 fix division by zero issue in pair style bop 2020-06-03 14:12:42 -04:00
c81aca3509 Update fix_eco_force.h 2020-06-03 19:48:22 +02:00
df11b2b3ad Update fix_eco_force.cpp 2020-06-03 19:47:28 +02:00
9e8ce240a0 Merge pull request #2124 from sachu92/fix_controller_process_variable_fix
Parsing of process variable in fix controller corrected
2020-06-03 13:44:24 -04:00
08a6efe6b1 Update fix_eco_force.rst 2020-06-03 12:32:05 +02:00
aacb964888 Parsing of process variable in fix controller corrected 2020-06-03 11:25:45 +02:00
91e8469389 Update DihedralTable 2020-06-02 19:06:25 -04:00
185eeaea8b Add missing try-catch 2020-06-02 18:37:04 -04:00
18bb4bfdc2 Merge remote-tracking branch 'akohlmey/unit-test-updates' into refactor-table-reading 2020-06-02 18:24:23 -04:00
2fd3d21414 add tests for pair style table 2020-06-02 17:12:52 -04:00
5688fd41bb Remove trailing whitespace 2020-06-02 16:43:41 -04:00
352cea3957 Remove unused import 2020-06-02 16:23:36 -04:00
95e12ccb73 Update PairTable 2020-06-02 16:11:36 -04:00
a80c80c77e Add type information for table potentials 2020-06-02 16:08:49 -04:00
d6e062d0b9 Update BondTable 2020-06-02 15:42:23 -04:00
392a4f4e06 Update AngleTable 2020-06-02 15:28:46 -04:00
7658d05c73 Add TableFileReader 2020-06-02 15:11:53 -04:00
d478ad2ccb Refactor PotentialFileReader 2020-06-02 15:11:30 -04:00
24a0933e2a Refactor PotentialFileReader 2020-06-02 14:18:11 -04:00
60f17e7397 Add filesystem utils functions 2020-06-02 14:11:09 -04:00
5c01c5c4af make internal name for test consistent with external name 2020-06-02 07:41:10 -04:00
def79f246a Update fix_eco_force.rst 2020-06-02 10:35:22 +02:00
b9cec30c2b add test for exceptions with incompatible format 2020-06-01 22:18:45 -04:00
c6d04343e3 add tests for custom large integer type conversions 2020-06-01 19:09:27 -04:00
644ef3da4c add LAMMPS copyright header 2020-06-01 19:08:59 -04:00
005fe9db8b add initial unit test for {fmt} testing only conversions frequently used by LAMMPS 2020-06-01 17:50:00 -04:00
886a950fd6 silence compiler warning in test programs 2020-06-01 17:49:05 -04:00
981cfd42f6 Merge pull request #2120 from lammps/next_lammps_version
Update version strings for the next patch release
2020-06-01 15:08:09 -04:00
5193ee7035 Merge pull request #2106 from jrgissing/bond/react-molecule-fragment-support
Bond/react: molecule fragment support
2020-06-01 14:42:14 -04:00
8b61b12921 Add missing initialization of potential_name 2020-06-01 13:53:36 -04:00
ff6675e4d8 Update docs for fix wall/gran and wall/gran/region 2020-06-01 12:00:27 -04:00
f5ea01e901 Clear wall/gran contacts before each calculation 2020-06-01 11:18:07 -04:00
1ca236da7e Merge pull request #2119 from akohlmey/more-test-files
More unit test files
2020-06-01 10:21:23 -04:00
b81826131b Merge branch 'master' into bond/react-molecule-fragment-support 2020-05-31 16:34:41 -04:00
09ce0d1198 rephrase to use more common term 2020-05-31 16:33:37 -04:00
e449cdf924 Merge pull request #2103 from lammps/add-fmt-lib
Use {fmt} in LAMMPS to simplify formatted output
2020-05-31 12:02:15 -04:00
acf280811a step version strings for next patch release 2020-05-31 11:14:50 -04:00
7ab55a868f remove unneeded justification marker 2020-05-31 10:45:32 -04:00
88cedc2784 add a bunch of tests for utils::strmatch() 2020-05-31 10:36:44 -04:00
4a21ad7b3d expand tests for valid and invalid numbers 2020-05-31 10:14:09 -04:00
f5be01e4f1 sync with header 2020-05-31 10:05:39 -04:00
89bffb2ee9 add extra parenthesis to indicate that assignment is intentional in logical expression 2020-05-31 10:05:22 -04:00
4f169e99e6 silence compiler warnings: const has no effect on return type 2020-05-31 09:49:22 -04:00
ee90796679 Merge branch 'master' into add-fmt-lib
# Conflicts:
#	src/lammps.cpp
#	src/utils.cpp
2020-05-31 09:45:54 -04:00
7ebad52727 add tests for a bunch of coulomb only pair styles 2020-05-31 09:26:54 -04:00
633b66d4c9 correct forces in single function and simplify a little 2020-05-31 09:26:26 -04:00
661b0ee8b2 cannot compare Pair::compute() vs. Pair::single for styles with coul/dsf or coul/wolf due to missing self energy 2020-05-31 09:25:50 -04:00
64b684eec3 add tests for a whole bunch of CHARMM pair styles 2020-05-31 08:34:25 -04:00
1493ae5c87 correct force calculation in lj/charmm/coul/msm/omp 2020-05-31 08:33:26 -04:00
a820b7d3fc fix bug in r-RESPA neighborlist setup for lj/charmmfsw/coul/long 2020-05-31 08:33:05 -04:00
f7a0f6671c fix factor 0.5 bug in lj/charmm/coul/charmm/implicit/omp 2020-05-31 07:19:36 -04:00
eb60b049fc add endpoint gradients for two bond tables 2020-05-30 21:49:42 -04:00
91272e7654 output endpoint gradient for some angle tabulations 2020-05-30 21:36:47 -04:00
bb8f6e94d3 Merge pull request #2113 from rbberger/tokenizer
Refactoring to reduce strtok usage
2020-05-30 21:13:12 -04:00
0f6e963058 add a whole bunch of angle style tests 2020-05-30 21:10:48 -04:00
69ba5ea9f0 use a smaller bond table 2020-05-30 21:05:03 -04:00
814082a23b Merge pull request #2105 from ndtrung81/rigid-nve-norot
Fixed an issue with fix rigid/nve for bodies with very small values of inertia moments
2020-05-30 19:49:08 -04:00
f33584cfb2 fix missing factor of 2 bug in single function 2020-05-30 18:37:54 -04:00
f4431d0525 remove dead code 2020-05-30 18:00:23 -04:00
bd4d4bc015 update bond/angle yaml files for changed equilibrium keyword syntax 2020-05-30 17:51:29 -04:00
1042e16423 change format for equilibrium values and update writer and reader code, so it will become compatible with class2 angles/dihedrals/impropers 2020-05-30 17:50:38 -04:00
07163a710a correct bond table coefficients to find the table file 2020-05-30 17:22:33 -04:00
e32409d32c add tests for most bond styles except FENE type bonds 2020-05-30 10:44:40 -04:00
1452e6dfca reduce displacements in single test for pair styles 2020-05-30 10:23:52 -04:00
4c0ce402c1 fix bug in bond style gromos/omp 2020-05-30 10:23:25 -04:00
fac897587f Checked for zero inertia moments in a simpler way, similar to what is done in mq_to_omega() 2020-05-30 07:42:34 -05:00
2b960d94ec Fix pair_comb3 2020-05-30 08:01:39 -04:00
1ec179e80a add a few more test inputs 2020-05-29 23:47:15 -04:00
43171052d5 fix multiple bugs in pair style tester for Pair::single() 2020-05-29 23:46:37 -04:00
8409e9d2be Merge pull request #2118 from akohlmey/pair-hybrid-better-check
Better argument parsing of pair style hybrid
2020-05-29 22:54:34 -04:00
549ffda4d8 implement better pair style name detection in pair style hybrid arguments 2020-05-29 20:52:21 -04:00
40cf106b8f Fix segfault when running with MPI 2020-05-29 19:57:47 -04:00
7a9590f007 More whitespace 2020-05-29 18:04:20 -04:00
636a1bffe3 Fix whitespace 2020-05-29 17:25:41 -04:00
447784212a Remove d0 in float numbers in ffield.comb 2020-05-29 17:14:41 -04:00
e4d6970ac1 Fix whitespace 2020-05-29 16:32:17 -04:00
8e1a6bc706 Update pair polymorphic 2020-05-29 16:12:19 -04:00
d173ea4ad9 Merge pull request #2114 from akohlmey/more-unittest-changes
More updates and corrections for unit tests
2020-05-29 15:33:30 -04:00
1375c154f9 Update pair eim 2020-05-29 14:58:04 -04:00
10b0d60709 Fix typo 2020-05-29 14:56:10 -04:00
c34501c137 Merge pull request #2116 from jdevemy/master
Test to avoid bad delete and Seg Fault
2020-05-29 11:34:14 -04:00
1984092135 Test to avoid bad delete and Seg Fault 2020-05-29 15:25:05 +02:00
2a4bd9ef53 small tweaks and documentation update to coverage cleaning targets 2020-05-29 08:33:34 -04:00
7bcf50b129 mention reset_coverage data 2020-05-29 08:26:26 -04:00
c2ab177c3a add some explanations and figures for code coverage 2020-05-29 08:24:05 -04:00
30020594df add custom target to remove/reset collected coverage data 2020-05-29 08:23:25 -04:00
0c503ab122 Move coverage html into folder 2020-05-29 08:23:08 -04:00
99c0c1ace1 simplify parsing of equilibrium data 2020-05-29 08:22:34 -04:00
7d62fd5106 remove debug code 2020-05-29 08:22:23 -04:00
797ba373c4 simplify reading key/value pairs from string 2020-05-28 22:38:23 -04:00
08ee1cb4fa add single test to angle_style, add support for equilibrium data 2020-05-28 22:38:07 -04:00
47e4da4903 add support for writing/reading equilibrium bond/angle data 2020-05-28 22:20:43 -04:00
6ed4103365 synchronize flow of control and formatting between pair_style, bond_style and angle_style 2020-05-28 21:11:38 -04:00
9fc6abb2ef add tests for pair style polymorphic 2020-05-28 20:43:26 -04:00
5a4bbcc37a Update pair vashishta 2020-05-28 16:17:15 -04:00
cadc374e0b Update pair nb3b harmonic 2020-05-28 16:05:56 -04:00
e206647717 Update pair gw zbl 2020-05-28 15:56:36 -04:00
607581e7f3 Use correct error function 2020-05-28 15:53:33 -04:00
2632d30970 Update pair gw 2020-05-28 15:44:53 -04:00
7d61fbc68b Update pair adp 2020-05-28 15:08:48 -04:00
5bdc3e9f84 Remove unused PairEAM::grab 2020-05-28 14:37:52 -04:00
2b9ab58971 Update accelerator pair eam alloy 2020-05-28 14:37:27 -04:00
903a73d2c7 Update accelerator pair eam fs 2020-05-28 14:26:42 -04:00
8e46c53d57 Update fix_eco_force.h 2020-05-28 19:19:54 +02:00
fac7b864fc Update pair eam alloy 2020-05-28 12:54:14 -04:00
e08404f53c Indentation 2020-05-28 12:53:32 -04:00
e8ee1df993 Update pair eam cd 2020-05-28 12:35:02 -04:00
0dc05698f3 Update pair eam fs 2020-05-28 12:20:54 -04:00
49a40f5006 Update pair eam 2020-05-28 11:35:24 -04:00
e7909f4598 Remove unused define 2020-05-28 10:36:38 -04:00
f5d8417d96 Update pair tersoff zbl 2020-05-28 10:36:20 -04:00
c0324e55ad Update pair tersoff mod c 2020-05-28 10:06:43 -04:00
d3e160f3d0 tweak epsilon for gcc 10 2020-05-28 10:00:13 -04:00
a4db35e15d Update pair tersoff mod 2020-05-28 09:56:54 -04:00
8329a5498b Move NPARAMS_PER_LINE to parent classes 2020-05-28 09:48:34 -04:00
1889b165dc Merge branch 'tokenizer' of github.com:rbberger/lammps into tokenizer 2020-05-28 09:01:29 -04:00
2eaf710488 Hide stdout during tests 2020-05-28 08:01:54 -04:00
98b0619c3c ECO Driving force
adds an energy to each atom depending on the surrounding crystal orientation, in order to drive grain boundaries
2020-05-28 13:51:56 +02:00
2710a22574 Merge branch 'master' into tokenizer 2020-05-28 07:33:10 -04:00
51c632acd4 increase code coverage for pair_eam_cd.cpp 2020-05-28 06:25:35 -04:00
245f949e12 functions theta(), theta_mod(), and cutoff() are never used in pair style bop 2020-05-28 06:20:33 -04:00
e0ee0986fd tweak pair style bop unit tests to increase code coverage 2020-05-28 06:20:22 -04:00
b0f6eafac8 minor doc clarification 2020-05-27 23:37:35 -06:00
db13dff499 minor efficiency correction 2020-05-27 23:32:55 -06:00
315463e65f Merge pull request #2108 from akohlmey/more-pair-style-tests
Add unit tests for manybody pair styles
2020-05-27 18:48:22 -04:00
69b8635125 Merge pull request #2111 from akohlmey/collected-small-changes
Collected small changes and fixes for the next patch release
2020-05-27 18:35:11 -04:00
c47cbe5f34 Merge pull request #2110 from yafshar/kim
Explicitly set the pValue pointer to NULL.
2020-05-27 18:25:36 -04:00
9bc03034ef add some initial documentation about the included tests 2020-05-27 18:02:32 -04:00
c22bbecb58 Update pair tersoff 2020-05-27 16:49:36 -04:00
013756bfa7 add tests for AIREBO/REBO family of potentials 2020-05-27 16:37:36 -04:00
78ad33eb2e USER-INTEL tweaks for REBO family. will have to file bug reports at some point. 2020-05-27 16:37:05 -04:00
dddc34e214 Merge remote-tracking branch 'akohlmey/more-pair-style-tests' into tokenizer 2020-05-27 16:32:52 -04:00
a1216c4fb2 remove unused variable definition 2020-05-27 13:35:17 -04:00
9142d4893d make sure we compile and link against mpi_stubs when BUILD_MPI is disabled 2020-05-27 13:35:07 -04:00
477a7125c9 Update PairComb and PairComb3 2020-05-27 13:15:19 -04:00
507064d45d Add Tersoff potential file read test 2020-05-27 13:13:50 -04:00
477e18b789 update makefiles for conventional build to always build a new static library 2020-05-27 13:09:42 -04:00
68e2c0bca8 Correct next_line in PotentialFileReader 2020-05-27 13:03:17 -04:00
6d339c8b03 Add unit tests for PotentialFileReader 2020-05-27 13:02:39 -04:00
caa43c7ed6 Merge remote-tracking branch 'akohlmey/more-pair-style-tests' into tokenizer 2020-05-27 12:59:32 -04:00
e2765a5c49 silence compiler warnings about unused arguments and variables and alike 2020-05-27 12:55:59 -04:00
bb57e90a27 add test for tabulated manybody styles 2020-05-27 12:31:19 -04:00
efbf9807d1 tests for MANYBODY almost complete 2020-05-27 10:59:12 -04:00
7c9ad91d8f fix bug in pair style tersoff/zbl/omp 2020-05-27 10:53:29 -04:00
4d237f6640 Explicitly set the pValue pointer to NULL.
PyTuple_SetItem “steals” a reference to pValue, but
does not set it to NULL after dereferencing it. It
causes segmentation fault when running lammps on some
systems and on multiple processors since it is trying
to decrement the reference count for an object which
does not exist.
2020-05-27 09:29:18 -05:00
3415ccd60d Merge branch 'more-pair-style-tests' into tokenizer 2020-05-27 09:37:22 -04:00
b5b66d0e78 tweak bop test to run faster 2020-05-27 08:50:20 -04:00
51e3cba0ba tweak error margins to pass with gcc 9.x plus Release setting 2020-05-27 06:59:58 -04:00
66e34f541c four more 2020-05-27 06:43:37 -04:00
1930a8fd00 make some more use of {fmt} in lammps.cpp 2020-05-27 05:29:42 -04:00
dd61ac80f7 simplify lammps.cpp using {fmt} and utils::logmesg() 2020-05-27 04:52:21 -04:00
b208e39ba7 remove obsolete c++98 workaround warning 2020-05-27 04:30:12 -04:00
29bd22a7ea add tests for eam/cd and eim 2020-05-26 21:08:39 -04:00
7f699e9233 fix verbosity handling issue in pair style tests 2020-05-26 21:08:26 -04:00
2e3f03f9ca remove pair style eam/cd/omp which seems broken beyond repair 2020-05-26 20:55:57 -04:00
e01e72cc8e Formatting 2020-05-26 20:29:09 -04:00
5e4ce8d03c Use Error::one in PotentialFileReader 2020-05-26 20:27:16 -04:00
13942a4d20 Use PotentialFileReader in PairComb 2020-05-26 20:23:28 -04:00
c302c0bca2 Add PotentialFileReader and use it in PairSW 2020-05-26 20:10:48 -04:00
541ab46e97 add tests for comb and comb3 2020-05-26 19:58:24 -04:00
ff3ebd4f6a fix two memory allocation/deallocation bugs in pair style comb3 2020-05-26 19:56:28 -04:00
151d1fb42b cosmetic updates 2020-05-26 19:55:54 -04:00
f1685afaa7 correct logic and also skip for USER-OMP 2020-05-26 18:42:47 -04:00
c91cad5155 add test for bop 2020-05-26 18:36:33 -04:00
0f8ff07da2 skip over newton_pair == off tests if newton_pair is forced to be on 2020-05-26 18:36:22 -04:00
dff78c19aa add tests for pair styles adp, atm, sw and tersoff and new data/input 2020-05-26 18:22:21 -04:00
74249380ec Add count method to ValueTokenizer 2020-05-26 16:30:46 -04:00
4a2ddb2c5e restore required header 2020-05-26 15:22:03 -04:00
b5b71bbb92 (re-)add example uses of {fmt} 2020-05-26 15:16:35 -04:00
56cb761b04 add fmtlib as copy. too many complications from keeping it in a separate dir. 2020-05-26 15:15:53 -04:00
5d6c18dbed one more correction for cmake --build 2020-05-26 12:29:03 -04:00
31a3e84950 correct documentation about cmake --build with targets 2020-05-26 12:26:44 -04:00
bc5c267630 Reverted to using a threshold much smaller than 1e-6 for zero inertia moments 2020-05-25 23:37:49 -05:00
18320ded89 image correction for fragment location 2020-05-24 14:47:50 -06:00
375fb4b314 bond/react: change 'general name' for method
and update contact info
2020-05-23 23:32:49 -06:00
faec8ac2be correctly update dihedral constraint 2020-05-23 23:22:56 -06:00
60e0a8a6a8 Update fix_bond_react.rst 2020-05-23 23:12:16 -06:00
4250def29a dihedral constraint: fragment support 2020-05-23 22:58:37 -06:00
093f981719 Improved the way body inertia moments are checked if they are zero when updating body quaterions in fix rigid/nve 2020-05-23 23:52:00 -05:00
74d58778b4 angle constraint: fragment support 2020-05-23 22:29:14 -06:00
a64a9c1253 distance constraint: fragment support 2020-05-23 22:13:20 -06:00
5e3fe19756 Merge pull request #2101 from rbberger/unittest_compilation_bugfix
Make sure include directories are passed to test binaries
2020-05-21 15:45:05 -04:00
73b537f6c3 Make sure include directories are passed to test binaries 2020-05-21 15:06:08 -04:00
8de046270e Merge pull request #2100 from akohlmey/respa-related-fixes-and-unittest
Add basic unit test for r-RESPA and some related bugfixes
2020-05-21 13:09:37 -04:00
8e92530e79 add code owners for unit tests 2020-05-21 11:34:15 -04:00
4f44159d56 add a test for r-RESPA (only with newton on and for plain styles for now) 2020-05-21 11:17:49 -04:00
0788a8ee4f only collect the per-atom data specific to this test to compare against total pe. 2020-05-21 11:06:11 -04:00
799b676f89 must skip corresponding per-atom data accumulation if compute_flag for pair or kspace is 0 2020-05-21 11:05:16 -04:00
2371db3242 add missing "reciprocal" 2020-05-21 07:41:07 -04:00
2dad3cbb2f update false positives list for time units correction to the docs 2020-05-21 01:37:11 -04:00
b8544de37b tweak error margin 2020-05-21 01:30:04 -04:00
f9e57392f3 properly honor verbose/no-verbose run flag 2020-05-21 01:14:02 -04:00
4eca3c46a6 fix bug that messes up r-RESPA from some strange reason. 2020-05-21 01:13:48 -04:00
e784afd60f use proper units (fmsec -> fs, psec -> ps and so on) 2020-05-21 01:13:15 -04:00
293bfa0485 fix typo 2020-05-21 01:13:03 -04:00
4868f5fdfc update 2020-05-20 22:04:00 -04:00
3d567c14ef Revert changes to be more C-like for Steve 2020-05-20 18:00:01 -04:00
7ac0f869ef Add ValueTokenizer 2020-05-20 15:53:50 -04:00
46239e4577 Add utils::is_double and utils::is_integer 2020-05-20 15:53:41 -04:00
9e3759d0fc Add missing newlines 2020-05-20 15:53:29 -04:00
4a2d3e95cb Replace Atom::count_words with utils::count_words 2020-05-20 15:53:19 -04:00
db46521d64 Add utils::count_words and utils::trim_comment 2020-05-20 15:53:08 -04:00
807130c771 Replace AtomVec::tokenize and use Tokenizer 2020-05-20 15:50:10 -04:00
d41927b056 Add Tokenizer class 2020-05-20 15:49:02 -04:00
8691579def Merge pull request #2098 from lammps/unittest
Add first part of an integrated unit test framework
2020-05-20 15:44:52 -04:00
5281dea651 Merge pull request #2095 from stanmoore1/kk_snap_beta
Fix redundant computation in Kokkos Pair SNAP on GPUs
2020-05-20 15:30:17 -04:00
8bc2c4748c add option to test main program to override the value of the INPUT_FOLDER variable 2020-05-20 15:23:32 -04:00
917b7dd4fa move definition of the INPUT_FOLDER variable from header to implementation file 2020-05-20 15:22:43 -04:00
58ca1dcf8e Merge pull request #2094 from akohlmey/collected-small-changes
Collected small changes and bug fixes for the next patch release
2020-05-20 14:33:34 -04:00
c50bd25d42 Merge pull request #2093 from junghans/lammps_cleanup
remove fftw_cleanup() from main()
2020-05-20 14:26:41 -04:00
2536076ce9 cosmetic changes for consistent source formatting 2020-05-20 07:40:37 -04:00
2712a20f91 build common unit test sources into a static library and link with it 2020-05-20 07:32:32 -04:00
76fb797264 Simplify tests 2020-05-20 04:12:48 -04:00
5533b9233f Fix indentation 2020-05-20 02:48:02 -04:00
ad6ae7317e Use std::make_pair 2020-05-20 02:45:16 -04:00
34456294dd Cleanup 2020-05-20 02:03:00 -04:00
46e0c8b6b7 Remove duplicated read_yaml_file function 2020-05-20 01:32:50 -04:00
73e766b933 Remove another unneeded class 2020-05-20 01:30:34 -04:00
35f7aa810d update 2020-05-20 00:33:36 -04:00
50d4cf210c Remove unnecessary classes 2020-05-19 23:37:11 -04:00
bd2d74b2cf update 2020-05-19 23:26:23 -04:00
bddd6d5e84 update 2020-05-19 23:19:49 -04:00
c0acb3a438 Remove multiple definitions of STRINGIFY 2020-05-19 23:15:22 -04:00
c04a71a239 add unit test framework for pair, bond, angle styles from progguide branch 2020-05-19 22:24:31 -04:00
1517daeaed add support for extracting r0 array to bond style zero 2020-05-19 21:54:50 -04:00
16ce10aefc the first argument to Bond::extract() should be const char * not char *. 2020-05-19 21:54:31 -04:00
5827f69da5 OpenMPI's "sm" transport layer has gone from some newer versions. use "tcp" as lowest common denominator 2020-05-19 20:25:53 -04:00
48a9e0d732 consolidate setting CMake policy CMP0074 into main cmake file 2020-05-19 15:20:41 -04:00
16db223d03 update test for whether to set CMake policy CMP0074 is needed. 2020-05-19 11:53:47 -04:00
ffaa77af6b reintroduce bugfix for bessel function distributed random numbers 2020-05-19 09:02:17 -04:00
4ac7a26fe1 add support for extracting r0 array to bond style zero 2020-05-18 19:37:54 -04:00
ed43c1e22b Merge branch 'master' into feature-cnt 2020-05-18 18:23:16 -04:00
6b1dbe2393 the first argument to Bond::extract() should be const char * not char *. 2020-05-18 18:15:10 -04:00
93fe33553a need to set CMake policy CMP0074 to NEW behavior also for finding TBB Malloc 2020-05-18 17:50:28 -04:00
48fa824a32 Merge pull request #5 from lammps/master
update to the current state
2020-05-18 17:33:40 -04:00
e26be18b1e update 2020-05-18 17:28:48 -04:00
8395ec9e43 avoid segfault with eam/intel when using it with a hybrid pair style 2020-05-18 14:31:57 -04:00
c67ca88b04 Fix redundant computation in SNAP on GPUs 2020-05-18 08:42:30 -07:00
9ed2824de8 add missing coulomb tabulation to pair style lj/class2/coul/long 2020-05-15 22:14:08 -04:00
dc74fac4d3 silence compiler warning 2020-05-15 20:04:49 -04:00
fa7319e626 drop fftw_cleanup() completely 2020-05-15 16:57:44 -06:00
b1ee9ad1fe Merge pull request #2091 from stanmoore1/kk_summit
Rename Kokkos Makefile
2020-05-15 17:39:53 -04:00
d39457e46e Merge pull request #2092 from lammps/omega-angmom
Initialize omega and angmom when reading a data file
2020-05-15 17:20:54 -04:00
6f0a56c176 cmake: fftw is now a private dep 2020-05-15 13:42:51 -06:00
58b304be62 move fftw_cleanup() into LAMMPS::cleanup() 2020-05-15 13:30:55 -06:00
f1a9eab5da initialze omega and angmom when read data file 2020-05-15 13:07:34 -06:00
1d52e7f243 Rename Kokkos Makefile 2020-05-15 12:19:16 -06:00
37442ca5cf fix bug in USER-OMP with "pair_modify compute no" and "kspace_modify compute no" 2020-05-15 08:06:23 -04:00
e36d2ce3e6 Do not use -ffast-math by default. Too large a chance of miscompiled code. 2020-05-14 20:48:43 -04:00
87c34fb144 dihedral base class did not initialize suffix_flag member. 2020-05-14 20:48:21 -04:00
20ad924a54 Merge pull request #2082 from stanmoore1/kk_bigint
Fix 32-bit integer overflow in Kokkos neighlist build on GPUs
2020-05-11 20:55:14 -04:00
040cbe378c Merge pull request #2080 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2020-05-11 20:37:59 -04:00
3d0186987d simplify 2020-05-11 18:31:07 -04:00
a6cfe8f642 update Kokkos related documentation about JIT compilation and UVM. 2020-05-11 18:07:51 -04:00
af1aa03446 Merge pull request #2074 from akohlmey/singularity-update
Updates for singularity definition files
2020-05-11 17:44:14 -04:00
b1ac51f721 Fix 32-bit integer overflow in Kokkos neighlist build 2020-05-11 15:11:24 -06:00
9b99ad271f Adding new ptemp keyword to fix nh 2020-05-11 14:34:00 -06:00
23c55b0046 fix "use of class after delete" bug 2020-05-11 16:23:04 -04:00
0ab3ebbac0 improve readability 2020-05-11 13:31:47 -04:00
822c7c5ca1 elimitate nthreads member, change threads from int to bool and determine number of threads dynamically
this fixes #2081
2020-05-11 10:57:27 -04:00
8228cc8987 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes
# Conflicts:
#	src/atom_vec.cpp
2020-05-10 14:09:31 -04:00
6e53608789 a new communicator should have a different number than the old 2020-05-10 14:08:54 -04:00
4ee5eee7cb don't use C++ style comments in C code 2020-05-10 14:08:06 -04:00
afd769314b define _noopt macro with -D_FORTIFY_SOURCE to be empty to avoid false positives 2020-05-10 14:06:56 -04:00
987bff27d4 fix issues in AtomVec refactoring detected by compiler warnings 2020-05-10 14:05:32 -04:00
873a638cc3 fix issues in AtomVec refactoring detected by compiler warnings 2020-05-09 19:45:28 -04:00
b799e44e5c Merge pull request #2077 from rbberger/cmake-fixes
Fix issue when generating lmpgitversion.h
2020-05-08 16:57:33 -04:00
cbd4ce5130 Use absolute path to LAMMPS_DIR for collecting git info 2020-05-08 16:04:55 -04:00
06737ce7a7 Merge pull request #1788 from lammps/atomvec-custom
Refactoring of AtomVec class
2020-05-08 15:18:11 -04:00
6b7e0df7f2 Merge pull request #2073 from ndtrung81/gpu-triclinic
GPU package pair styles to support neighbor list builds on the GPU with triclinic boxes
2020-05-08 14:29:55 -04:00
366d3fe249 update .gitignore and Purge.list 2020-05-08 14:09:59 -04:00
9004b47251 remove trailing whitespace 2020-05-08 01:33:16 -04:00
eefeaf4d25 make OpenMPI only use shared memory comm by default and silence some warnings 2020-05-07 18:15:57 -04:00
18c77db8c3 Add Kokkos vel methods 2020-05-07 15:16:17 -06:00
095801e1d6 Merge pull request #2071 from wmbrownIntel/wmb_mf_cleanup
Partial Cleanup of Conventional Build Makefiles.
2020-05-07 17:02:28 -04:00
d7650e8e02 no need to include googletest libs, we download and compile internally 2020-05-07 17:02:04 -04:00
5db1e4fe8d Initialize variables since Kokkos doesn't call setup_fields 2020-05-07 13:19:12 -06:00
3b77546eb9 Merge pull request #2069 from junghans/latte_v1.2.2
latte: bump to v1.2.2
2020-05-07 14:27:19 -04:00
5fa7e138ea Merge pull request #2070 from junghans/kokkos_v3.1.01
cmake: bump kokkos to v3.1.01
2020-05-07 14:16:56 -04:00
d69009ac45 Fix pointer delete issue with Kokkos package 2020-05-07 11:10:09 -06:00
cc18177153 Whitespace cleanup 2020-05-07 10:46:32 -06:00
3a23a97f64 Merge branch 'atomvec-custom' of github.com:lammps/lammps into atomvec-custom 2020-05-07 10:42:50 -06:00
71149768c6 fix atom_vec_hybrid bug 2020-05-07 10:42:40 -06:00
2b9a1a6982 Fix Kokkos runtime issue with special bonds 2020-05-07 10:35:08 -06:00
69a6a8e064 pull in kokkos-3.1.01 2020-05-07 10:22:42 -06:00
8ed5829d32 Merge branch 'atomvec-custom' of github.com:lammps/lammps into atomvec-custom 2020-05-06 16:25:22 -06:00
25632992f4 updates to USER-SPH example scripts 2020-05-06 16:25:07 -06:00
8301c7a9c6 Merge branch 'master' of ssh://github.com/lammps/lammps into atomvec-custom 2020-05-06 15:53:21 -06:00
7d9091cacc Add back in old hybrid functions, needed by Kokkos package 2020-05-06 15:49:44 -06:00
9e7765064c Merge branch 'atomvec-custom' of github.com:lammps/lammps into atomvec-custom 2020-05-06 15:28:41 -06:00
1225f7d1e0 small changes to examples scripts for regression purposes 2020-05-06 15:28:27 -06:00
801144d2dc make rbberger and akohlmey owner of the singularity defition files 2020-05-06 15:16:21 -04:00
4dce25d89e update some defitions files and also include hack to indicate image type in prompt 2020-05-06 15:07:02 -04:00
bd87b112b5 Allowed pppm/gpu to fall back to pppm for triclinic boxes 2020-05-06 12:07:23 -05:00
229203bac0 Supported neighbor list builds for triclinic boxes on the GPU 2020-05-06 08:51:17 -05:00
db71b3b994 update singularity image defitions to include gtest and libyaml. drop f30 2020-05-06 00:02:04 -04:00
14fb49c1cb Merge pull request #2068 from junghans/cmake_enable_chain.x
cmake: enable Fortran before checking for the compiler
2020-05-05 18:36:08 -04:00
66994562e6 cmake: bump kokkos to v3.1.01 2020-05-05 11:46:09 -06:00
fe62e1dbc9 latte: bump to v1.2.2 2020-05-05 10:51:11 -06:00
fc7b1dc4fd Merge branch 'cmake_enable_chain.x' of github.com:junghans/lammps into cmake_enable_chain.x 2020-05-05 11:27:40 -04:00
b933538dfa tweak tbbmalloc search path for intel 19.1 compiler 2020-05-05 11:27:19 -04:00
8a114fca97 cmake: include where it is used 2020-05-05 08:53:49 -06:00
9708b58939 check for fortran instead of directly enabling it 2020-05-05 10:41:18 -04:00
bcd50646b4 don't enable fortran if the generator does not support it. 2020-05-05 10:23:04 -04:00
b5af7da2c6 cmake: enable Fortran before checking for the compiler 2020-05-05 07:10:42 -06:00
ec0939751e Conventional Makefile cleanup. 2020-05-05 03:27:08 -07:00
260e6bafd5 Merge pull request #2064 from akohlmey/next_lammps_version
Update version strings for the next patch release
2020-05-04 19:43:12 -04:00
1329603184 Merge pull request #2019 from z-gong/viscosity
Fix and compute styles for calculating viscosity with periodic perturbation method
2020-05-04 17:42:31 -04:00
71ab9dc02b Merge pull request #2049 from rbberger/singularity_container_update
Singularity container update
2020-05-04 17:27:54 -04:00
6d0ef85671 Merge pull request #2055 from akohlmey/reaxc-runtime-adjust
Make MIN_HBONDS define for reax/c configurable via an input option
2020-05-04 10:28:13 -04:00
48262fd0a9 Merge pull request #2051 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2020-05-04 10:06:45 -04:00
bed6ad4660 manually incorporate fixes for ave/correlate/long from PR #2066 2020-05-04 08:18:56 -04:00
7295e93e9b step version strings for the next patch release 2020-05-03 07:28:38 -04:00
61284891ee add a few more packages to the "most" preset 2020-05-03 05:04:07 -04:00
b12b69f6dc silence compiler warning 2020-05-03 04:55:35 -04:00
f1e1644fe1 fix typo that resulted in LAPACK not being properly linked with USER-ATC 2020-05-03 04:55:25 -04:00
d811fd0da7 skip building chain.x, if no Fortran compiler is available 2020-05-03 04:23:52 -04:00
fdb4ba51da add patch to VORONOI package external build so it will compile with BSD make 2020-05-03 04:04:02 -04:00
f5be3ccab4 add the check for MPI in USER-ATC at the correct location 2020-05-03 03:06:41 -04:00
863b50501c port MPI stubs workaround to USER-ATC 2020-05-03 02:49:52 -04:00
4bf9c47317 support diskfree option to "fix halt" also on BSD variants 2020-05-03 02:34:40 -04:00
e8d4cc424e use different header for alloca(3) on *BSD 2020-05-03 01:10:04 -04:00
fa2a6d7c6b replace legacy preprocessor tests for linux with POSIX compliant ones 2020-05-03 01:04:52 -04:00
d5b9948129 extend FreeBSD preprocessor checks to other BSD flavors 2020-05-03 01:00:01 -04:00
795e2cb133 recover compilation of fix imd on FreeBSD 2020-05-02 16:04:01 -04:00
2b542eacb7 add FreeBSD compatibility 2020-05-02 15:56:24 -04:00
613b8a7596 use static_cast<>() for casting NULL 2020-05-02 06:29:43 -04:00
c18efdbfa7 initialize pointers in order of definition 2020-05-02 06:29:12 -04:00
1418ec4ace make MIN_HBONDS define for reax/c configurable via an input option 2020-05-01 23:22:48 -04:00
8c52032b7a Merge pull request #1902 from stanmoore1/kk_compute_coord_atom
Add Kokkos version of compute coord/atom
2020-05-01 19:36:19 -04:00
53ac67f522 Merge pull request #2053 from stanmoore1/kk_remap_mpi
Allow Kokkos remap to turn off CUDA-aware MPI
2020-05-01 19:35:03 -04:00
91d871ec27 Merge pull request #2054 from stanmoore1/kk_cb2a9e4
Add change missed in #2004
2020-05-01 19:33:51 -04:00
af3e8b4564 Add change missed in cb2a9e4 2020-05-01 13:25:23 -06:00
ab1ecdccfc fix typo in comment 2020-05-01 14:34:35 -04:00
3ccab20e9e add new false positives 2020-05-01 14:34:27 -04:00
5cb9d12538 whitespace cleanup 2020-05-01 14:34:20 -04:00
f8226508f4 Allow Kokkos remap to turn off Cuda-aware MPI 2020-05-01 12:09:32 -06:00
8e32f623f1 reformatted table for per-atom fields 2020-05-01 11:48:08 -06:00
a72f034b72 Merge branch 'atomvec-custom' of github.com:lammps/lammps into atomvec-custom 2020-05-01 09:48:11 -06:00
807b0fce7e fix broken doc page links to new fix sph commands 2020-05-01 09:48:01 -06:00
0cf5636034 Add missing paramemter to compute_orientorder_atom docs 2020-05-01 08:01:29 -06:00
6817355a41 Update docs 2020-05-01 07:53:41 -06:00
6659946de1 fix more warnins and 64-bit issues 2020-05-01 08:50:07 -04:00
4930389ea4 propagate bugfix in fix omp to OpenMP pragma 2020-05-01 08:38:36 -04:00
adc04f87f6 whitespace fixes 2020-05-01 08:24:24 -04:00
f9ba4b497f Use ccache on Ubuntu by default 2020-05-01 08:01:17 -04:00
d9e0bc5d94 Add missing packages for legacy build 2020-05-01 05:55:03 -04:00
71159c4af4 Made orientorder check safer 2020-04-30 21:39:37 -06:00
ffc96d6af6 Merge branch 'atomvec-custom' of github.com:lammps/lammps into atomvec-custom 2020-04-30 21:33:16 -06:00
907ffae7b4 add return 0 to atom_vec 2020-04-30 21:32:59 -06:00
e52fee0c56 fix omp uses desph 2020-04-30 21:27:24 -06:00
9dacbe5f46 two other dirs depend on changed esph and desph 2020-04-30 21:22:19 -06:00
89f119e8aa avoid segfaults when selecting a subset on MPI ranks that will not have any matching lattice positions to start with 2020-04-30 22:12:07 -04:00
d382db1c76 Merge pull request #2015 from jvita/fix-spline-meam-binning
Fix spline meam binning
2020-04-30 20:55:49 -04:00
25b6d98658 correct references and table format 2020-04-30 20:19:23 -04:00
8689b7a404 Merge branch 'master' into atomvec-custom 2020-04-30 20:09:23 -04:00
5e619b65f6 USER-SPH doc tweak 2020-04-30 17:08:05 -06:00
ec9b7c787d more doc changes for USER-SPH 2020-04-30 16:52:32 -06:00
4eb4839f6d renaming of variables and command names in USER-SPH 2020-04-30 16:40:09 -06:00
814f45d756 Add missing symlink 2020-04-30 18:25:25 -04:00
5ec357adfc spelling errors 2020-04-30 15:06:59 -06:00
6913e3a6a4 Merge pull request #1760 from lammps/fix-dummy
added internal fix dummy command to enable more control of fix ordering
2020-04-30 14:46:22 -04:00
14322a9907 Allow compute_coord_atom to use Kokkos orientorder 2020-04-30 12:37:05 -06:00
dda5cb0967 typo in atom_vec.h 2020-04-30 12:02:49 -06:00
ac45befbb6 Pre-compute 1/h and store 2020-04-30 12:57:59 -05:00
ecd3652f61 update to current master 2020-04-30 11:57:17 -06:00
23c5384b47 Merge branch 'master' of https://github.com/lammps/lammps into kk_compute_coord_atom 2020-04-30 11:34:19 -06:00
6b8f26e8ad Merge pull request #2046 from stanmoore1/kk_cutneighsq
Fix rare issue in Kokkos neighlist
2020-04-30 13:00:51 -04:00
ae3c804cd2 Minor fix in doc 2020-04-30 19:00:37 +02:00
3ecaf0f336 Merge pull request #2047 from lammps/replica-doc-page
Clarifying AMD quote from review paper for 3 AMD methods in LAMMPS
2020-04-30 12:50:01 -04:00
0b02108ba1 add add check to refuse running with 2d systems and document it. 2020-04-30 12:46:16 -04:00
859f644481 make spellchecker and sphinx happy 2020-04-30 12:45:36 -04:00
5062d57ccb Merge branch 'master' into viscosity 2020-04-30 12:32:06 -04:00
c39b71cd1b Merge pull request #2048 from junghans/cmake_disable_static_lib_install
cmake: disable installing of static libs
2020-04-30 12:28:41 -04:00
26321d49c4 Update How-to viscosity and put the example together with other viscosity examples. 2020-04-30 17:05:01 +02:00
eba1a15616 Port changes to Kokkos package 2020-04-30 08:44:55 -06:00
88bf503451 Merge from master 2020-04-30 08:17:05 -06:00
002c49737f update definition for ubuntu20.04 2020-04-29 22:58:08 -04:00
696308a760 set cmake policy to honor HDF5_ROOT and NETCDF_ROOT. search for parallel NetCDF only with parallel builds 2020-04-29 22:39:33 -04:00
e97bf005cb include hdf5 and netcdf in more images 2020-04-29 22:36:33 -04:00
1adda03202 cmake: only install shared lib and friends 2020-04-29 18:06:33 -06:00
aad8659788 Reduce CUDA footprint in containers 2020-04-29 20:02:25 -04:00
600d357155 cmake: disable installing of static libs 2020-04-29 16:26:56 -06:00
18c63ade92 clarified AMD quote from review paper 2020-04-29 16:14:52 -06:00
633651fa56 Add valgrind, gdb to containers and clean caches 2020-04-29 17:32:19 -04:00
63a2f17410 Merge branch 'master' of https://github.com/lammps/lammps into kk_compute_coord_atom 2020-04-29 15:16:52 -06:00
8235c48f49 Avoid errors due to host Lmod in containers
These changes ensure that environment variables that are automatically passed
to the container don't interfere with Lmod inside of the container. The previous
implementation would not take care of sticky packages from the outside and Lmod
would try to reload them.

Note that Lmod defines the 'module' bash function, which doesn't propagate to
the final shell when using 'singularity shell'. If the 'module' command is needed
a login shell needs to be launched:

$ singularity exec <CONTAINER> bash -l
2020-04-29 17:01:55 -04:00
82b1fc717f Add missing python36 and hdf5-devel to CentOS containers 2020-04-29 16:46:22 -04:00
0588232a34 Fix rare issue in Kokkos neighlist 2020-04-29 14:29:18 -06:00
5c2f0ecc65 Merge pull request #2045 from stanmoore1/kk_team_coul
Fix issue in Kokkos "team" energy
2020-04-29 15:32:45 -04:00
feed7302d5 Merge pull request #2044 from stanmoore1/kk_reax_full
Remove full neigh list option in Kokkos ReaxFF
2020-04-29 14:54:54 -04:00
e10d62c89f Fix energy tally issue 2020-04-29 10:06:09 -06:00
04388c26f8 Fix Kokkos view runtime issue 2020-04-29 10:05:47 -06:00
7508660d8a Merge pull request #2036 from stanmoore1/kk_dihedral_charmm
Fix issues in dihedral_charmm_kokkos
2020-04-29 10:24:32 -04:00
fe9e6736e1 Merge branch 'master' into kk_dihedral_charmm 2020-04-29 08:00:55 -06:00
910d00f500 Merge pull request #2041 from stanmoore1/kk_team_ev
Fix Kokkos issue and remove N2 neigh list option
2020-04-28 19:23:35 -04:00
17f7bf2fb9 Merge pull request #2035 from stanmoore1/kk_uvm
Fix UVM compile issues
2020-04-28 19:23:12 -04:00
e47dc6fec9 Merge pull request #2043 from ellio167/ubuntu-install-docs
Update ubuntu ppa install docs
2020-04-28 19:22:27 -04:00
a88364a2ea Tweak error message 2020-04-28 15:39:01 -06:00
754d9fabc6 Merge branch 'ubuntu-install-docs' of github.com:ellio167/lammps into ubuntu-install-docs 2020-04-28 17:27:49 -04:00
b3d8986603 list update kokkos flag 2020-04-28 17:27:23 -04:00
846146c9d4 correct minor formatting and markup issues 2020-04-28 17:23:16 -04:00
e9a777e63d Add explaination of potenentials directory behavior for lmp_daily 2020-04-28 16:16:28 -05:00
4bb5f99801 fix underline 2020-04-28 17:15:48 -04:00
fa0f10f2f5 Remove debug output 2020-04-28 15:15:26 -06:00
6ed2adcd31 Removed unused functions 2020-04-28 15:12:41 -06:00
681878aa24 Merge branch 'master' into viscosity 2020-04-28 17:11:04 -04:00
62cdc9d6f1 Remove full neigh list option in Kokkos ReaxFF 2020-04-28 15:08:30 -06:00
c6dc0cf8c5 flag commands and paths as literals. 2020-04-28 17:03:20 -04:00
3392dca7b8 fix typos in manual 2020-04-28 16:45:02 -04:00
87ca8a0627 Update ubuntu ppa install docs 2020-04-28 15:38:41 -05:00
f5a8d40a51 Merge pull request #1906 from stanmoore1/kk_copycpu
Add method to copy Kokkos neighbor list to CPU list
2020-04-28 15:34:05 -04:00
32f5fd2373 Comment cleanup 2020-04-28 10:39:31 -06:00
712b8668cb Fix Kokkos neighlist issue and remove N2 option 2020-04-28 10:33:10 -06:00
21cb0d394f Merge branch 'master' into kk_copycpu 2020-04-28 11:56:22 -04:00
2e07345cea Merge pull request #2023 from akohlmey/collected-small-changes
Collected small changes and bugfixes
2020-04-28 11:52:54 -04:00
7863dfa1d2 Merge pull request #2033 from stanmoore1/kk_stencil
Fix bug in Kokkos occasional neighlist build
2020-04-28 10:51:34 -04:00
8f9323a3d7 Merge pull request #2013 from wverestek/master
small modification to fix bond/react to allow equal style variables as probability input
2020-04-28 10:51:07 -04:00
ad47b64cb9 Merge pull request #65 from junghans/collected-small-changes
GPU.cmake: localize hackery
2020-04-28 10:49:39 -04:00
ef3e071067 GPU.cmake: localize hackery 2020-04-28 07:43:31 -06:00
672d593241 Merge pull request #64 from junghans/collected-small-changes
cmake: reenable CMAKE_TUNE_FLAGS check
2020-04-28 08:50:37 -04:00
24fe5bc187 cmake: reenable CMAKE_TUNE_FLAGS check 2020-04-28 06:03:34 -06:00
6be36196da explicitly include STUBS MPI headers for serial compile since we seem to pick up the OpenMP ones otherwise 2020-04-28 01:36:21 -04:00
705c10ef47 restore original command 2020-04-28 01:12:49 -04:00
867088dbd8 add packages to also allow a regular build not just cross-compilation 2020-04-28 01:12:31 -04:00
d931365e4e fix typos 2020-04-28 01:11:54 -04:00
d3017744a9 updates for building with hip 2020-04-28 00:39:11 -04:00
25d1ad7714 update HIP compilation makefile for updated legacy build 2020-04-27 23:18:25 -04:00
b362a06ca3 (temporarily) disable CMAKE_TUNE_FLAGS verification script code 2020-04-27 23:17:43 -04:00
dd5ebb0a81 add preset to compile with hcc 2020-04-27 22:30:17 -04:00
29d667721a tweak GPU.cmake so that hip_get_devices compiles and links 2020-04-27 22:29:41 -04:00
5006c2c329 Merge branch 'latte_super_build' of github.com:junghans/lammps into collected-small-changes 2020-04-27 21:19:45 -04:00
0b93b45f2a Fix issues in dihedral_charmm_kokkos 2020-04-27 15:55:15 -06:00
c828492dee Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2020-04-27 17:18:59 -04:00
edd708dbce fix command ordering issues with gpu image build 2020-04-27 17:17:33 -04:00
76d7699abe remove trailing whitespace 2020-04-27 16:58:43 -04:00
74e8505a1f Merge branch 'master' into collected-small-changes 2020-04-27 16:57:47 -04:00
2dd737e765 Fix UVM compile issues 2020-04-27 14:47:03 -06:00
b38e95f88c Merge pull request #1895 from stanmoore1/kk_compute_orientorder_atom
Add Kokkos version of compute orientorder/atom
2020-04-27 16:34:29 -04:00
0f28e0eb0f Merge pull request #2030 from lammps/revert-2018-cmake_kim-api_find
Revert "cmake: move kim-api detection to cmake config"
2020-04-27 16:16:55 -04:00
121b40ebaa Merge pull request #2026 from ndtrung81/ellipsoid-gpu-special-bonds
Fixed bugs with special bonds for ellipsoid gpu pair styles
2020-04-27 16:15:58 -04:00
d4c06a2e2a Merge pull request #2027 from junghans/cmake_clean_up_plumed
USER-PLUMED: remove unused defines
2020-04-27 16:12:58 -04:00
0a9bed0ca6 Merge branch 'cmake_clean_up_plumed' of github.com:junghans/lammps into collected-small-changes 2020-04-27 16:07:52 -04:00
7b79b31018 remove latex support from accelerator image definitions 2020-04-27 15:17:45 -04:00
1aaf3ee03f add new combined container for compiling with GPU support. 2020-04-27 15:14:02 -04:00
0338d57857 Merge branch 'kokkos_fix' of github.com:yafshar/lammps into collected-small-changes 2020-04-27 15:00:04 -04:00
f9b873db24 Merge pull request #2032 from akohlmey/change-box-image-flags
Reset image flag(s) when changing from periodic to non-periodic
2020-04-27 14:58:36 -04:00
437967bfd8 adding the standard header to prevent ‘NULL’ was not declared error 2020-04-27 12:49:03 -05:00
a4b3af7d95 Fix bug in Kokkos occasional neighlist build 2020-04-27 10:07:26 -06:00
73ec2d8182 fix typo in MPI_Allreduce call. 2020-04-27 11:06:17 -04:00
b04cc115f3 document the image flag reset for switching boundaries 2020-04-27 10:51:53 -04:00
644f74c585 when changing boundaries from periodic to non-periodic, we need to reset the image flags for these dimensions to 0 2020-04-27 10:39:34 -04:00
a96f0af271 Merge branch 'kk_compute_orientorder_atom' of ssh://github.com/stanmoore1/lammps into kk_compute_coord_atom 2020-04-27 08:32:55 -06:00
ee9757b155 Add missing copymode flag statement 2020-04-27 08:31:56 -06:00
3028b028f0 Merge branch 'kk_compute_orientorder_atom' of ssh://github.com/stanmoore1/lammps into kk_compute_coord_atom 2020-04-27 08:14:52 -06:00
5de6224bd3 Fix logic error 2020-04-27 08:14:19 -06:00
f1aaad2b13 remove trailing whitespace 2020-04-27 09:54:05 -04:00
bc3a1187ae make behavior of comparing cutoff and long-range coulomb independent of order 2020-04-27 08:06:20 -04:00
d946c61789 re-indent code to better match LAMMPS conventions 2020-04-26 23:25:52 -04:00
d53e468ce0 do not mix c++ style and c-style comments 2020-04-26 22:50:24 -04:00
8fec14f593 Update fix_bond_react.rst 2020-04-26 13:08:40 -06:00
6baca04447 round up 'nevery' variable eval 2020-04-26 12:45:42 -06:00
281c105a34 KIM.cmake: add workaround for <cmake-3.12 2020-04-26 12:02:18 -06:00
d092b24c2e Revert "cmake: move kim-api detection to cmake config" 2020-04-26 11:56:48 -06:00
0b6e5be379 cosmetic edit to trigger new CI test runs 2020-04-26 00:25:07 -04:00
9a5b7141af move MPI compilation variable definitions workaround to MPI4WIN.cmake 2020-04-26 00:14:27 -04:00
a614242595 allow variable-input for Nevery, Rmin, Rmax keywords 2020-04-25 21:45:43 -06:00
e5360bb68a Merge remote-tracking branch 'github/cmake_latte_link_fix' into collected-small-changes 2020-04-25 23:07:58 -04:00
758a27c1e7 update MPI detection and handling of MPI to not automatically assume that a windows target means cross-compiling 2020-04-25 22:06:36 -04:00
7fd50045fe USER-PLUMED: remove unused defines 2020-04-25 10:16:58 -06:00
1295a9ef46 Fixed bugs with special bonds for ellipsoid gpu pair styles 2020-04-25 10:28:18 -05:00
5308b00c7b Update LATTE.cmake 2020-04-25 07:28:16 -06:00
3bebf017c0 Rename log.22Apr20.tiny_nylon.unstabilized.g++.4 to log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 2020-04-25 15:05:32 +02:00
a6c3f2c0e3 Rename log.22Apr20.tiny_nylon.unstabilized.g++.1 to log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 2020-04-25 15:04:46 +02:00
643ef2e2bc return of the data file 2020-04-24 22:59:20 -06:00
bac681b9dc cmake: fix linkage against external latte 2020-04-24 20:51:58 -06:00
1de3995598 rename src/MAKE/MINE/... to src/MAKE/MINE/.gitignore to avoid penalizing people downloading LAMMPS via git on windows 2020-04-24 21:26:11 -04:00
0a96a8c3a5 make check for running under hybrid/overlay compatible with suffix styles
also improve error message
2020-04-24 21:23:21 -04:00
72ff0dd87d Merge pull request #2004 from stanmoore1/kk_3.1
Update Kokkos library in LAMMPS to v3.1
2020-04-24 18:35:53 -04:00
5cbebddae6 Merge pull request #2006 from ndtrung81/body-doc-fix
Fixed the doc page for fix wall/body/polyhedron
2020-04-24 18:01:50 -04:00
3f8efed1fd Merge pull request #2010 from akohlmey/collected-small-fixes
Collected bug fixes and small updates
2020-04-24 17:44:49 -04:00
5855d334e6 Merge pull request #2014 from ellio167/kim_charge
Added changes to support SMs setting charges in kim_interactions
2020-04-24 17:13:58 -04:00
4dae4578ad Merge pull request #2018 from junghans/cmake_kim-api_find
cmake: move kim-api detection to cmake config
2020-04-24 16:55:48 -04:00
91d958faff Remove Kokkos deprecated code 2020-04-24 12:52:46 -06:00
756724c9e3 Merge branch 'kk_compute_orientorder_atom' of ssh://github.com/stanmoore1/lammps into kk_compute_coord_atom 2020-04-24 12:50:40 -06:00
261b826cfc Remove Kokkos deprecated code 2020-04-24 12:49:50 -06:00
700bb2e0f4 Merge branch 'master' of github.com:lammps/lammps into kk_copycpu 2020-04-24 12:33:05 -06:00
0545de5137 clean up comments in fix_accelerate_cos.h 2020-04-24 20:23:14 +02:00
85f1cb6a63 Merge branch 'kk_compute_orientorder_atom' of ssh://github.com/stanmoore1/lammps into kk_compute_coord_atom 2020-04-24 12:22:42 -06:00
cf702c4b1a fixed a type in README 2020-04-24 20:20:49 +02:00
9c081cf439 Update from master 2020-04-24 12:18:53 -06:00
4890c328d9 add comment to trigger jenkins rerun 2020-04-24 13:21:38 -04:00
08dc8e860e Merge pull request #2022 from junghans/github-template-comments
github templates: turn comments in real comments
2020-04-24 13:18:40 -04:00
e114a8d15b Revert accidental change 2020-04-24 10:14:31 -06:00
cb2a9e4329 Clear sharedsize for flat method 2020-04-24 10:10:22 -06:00
47b06cf541 github templates: turn comments in real comments 2020-04-24 09:51:13 -06:00
9266c74370 move fix_accelerate_cos and compute_viscosity_cos to USER-MISC 2020-04-24 15:30:20 +02:00
0bb41bf00b Add ouput for the example for USER-VISCOSITY package 2020-04-24 14:41:03 +02:00
a30d4a6c6f Add documents and minor fix for USER-VISCOSITY package 2020-04-24 14:41:03 +02:00
c7e4304ab6 add package and examples for viscosity calculation 2020-04-24 14:28:46 +02:00
7a366de0a9 Delete log.22Apr20.tiny_nylon.unstabilized.g++ 2020-04-24 09:39:11 +02:00
5a9cc9e380 updated log files 2020-04-24 09:35:32 +02:00
68dd6d0f19 cmake: move kim-api detection to cmake config 2020-04-23 09:20:38 -06:00
1a286d5722 Fix repeat of same bug 2020-04-22 16:14:11 -05:00
623f03e322 cmake: add support for latte super-build 2020-04-22 14:21:34 -06:00
2493987875 Fix binning bug 2020-04-22 14:33:20 -05:00
fc10e885b2 make description of eflux as a variable less convoluted 2020-04-22 08:13:27 -04:00
73bf1874c5 update code owner entry for fix bond/react 2020-04-22 08:12:56 -04:00
e321719558 Merge branch 'master' of https://github.com/wverestek/lammps 2020-04-22 14:09:55 +02:00
34d73a3c67 wrong script. 2020-04-22 14:10:43 +02:00
1751a27ff6 removing example script from nylon melt and adding to tiny nylon 2020-04-22 14:07:11 +02:00
48ab70f9ee avoid segfault when using compute_scalar() on the initial step and no scaling has yet been done. 2020-04-22 07:30:06 -04:00
0288bb4b6b small modification to fix bond/react to allow equal style variables as probability o
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
	modified:   doc/src/fix_bond_react.rst
	new file:   examples/USER/reaction/nylon,6-6_melt/in.large_nylon_melt_variable_probability
	modified:   src/USER-REACTION/fix_bond_react.cpp
	modified:   src/USER-REACTION/fix_bond_react.h
2020-04-22 13:27:10 +02:00
5eccaecf9b use #include <cstdint> now that we require C++11 2020-04-21 19:31:57 -04:00
db4c6e4056 update include file conventions since we no longer require C++98 for LAMMPS core files 2020-04-21 19:31:18 -04:00
0f9d8efe69 state in external Kokkos error message the version 3.1 or later is required 2020-04-21 12:50:27 -04:00
ea31fc11a6 add more explicit note about lack of support for pair styles in compute centroid/stress/atom 2020-04-21 12:44:13 -04:00
9f923c51f8 update singularity definition files for ubuntu variants to enable more LAMMPS build options and features 2020-04-21 12:07:34 -04:00
3c144600a5 update Kokkos related documentation for Kokkos 3.1 and refactor build info a bit 2020-04-21 11:46:16 -04:00
2348d6db62 use HOSTARCH/HOST instead of CPUARCH/CPU to better distinguish from GPUARCH/GPU 2020-04-21 08:30:16 -04:00
729646d7b5 update table of Kokkos supported archs and indicate HOST/GPU designation 2020-04-21 08:27:00 -04:00
2ac7bfc9cf rephrase note about kernel JIT recompilation and Kepler vs. the rest compatibility 2020-04-21 08:26:01 -04:00
0711232e5b Merge pull request #2000 from akohlmey/polymorphic-update
Update for pair style polymorphic from Xiaowang Zhou
2020-04-20 17:14:47 -04:00
0dfb1329be we must not write out per-type pair cutoff when long-range LJ is enabled 2020-04-20 16:56:09 -04:00
1c15ba88f3 need to copy maxspecial and "extra" data to do a proper recreation 2020-04-20 15:27:30 -04:00
91153eaa1a Added changes to support SMs setting charges in kim_interactions 2020-04-20 13:15:25 -05:00
dcc074215d fix inconsistent memory allocate/free 2020-04-20 06:04:33 -04:00
42203bbc35 fix two more typos 2020-04-19 16:37:52 -04:00
a7391d1e36 small corrections/updates for the polymorphic pair style docs 2020-04-18 10:14:38 -04:00
1599d98425 Fixed the doc page for fix wall/body/polyhedron 2020-04-17 13:33:47 -05:00
d3498591f3 Merge branch 'master' of github.com:lammps/lammps into kk_3.1 2020-04-17 12:01:32 -06:00
822c396e3a Work around Kokkos issue 2020-04-17 11:30:43 -06:00
ba66f05a04 some reformatting and minor cleanup of the documentation 2020-04-16 19:14:42 -04:00
42a59921f9 fix spelling issues 2020-04-16 19:04:26 -04:00
21e9db6bdf Merge branch 'master' into polymorphic-update 2020-04-16 18:18:41 -04:00
4fa0186b68 update docs to cleanly translate 2020-04-16 18:17:38 -04:00
0766350838 Merge pull request #2003 from stanmoore1/dpd_error
Remove unnecessary error check in USER-DPD fix rx
2020-04-16 16:49:29 -04:00
8c54507371 forward Kokkos library variables from CMake configuration for LAMMPS to the downloaded Kokkos library build 2020-04-16 16:46:27 -04:00
850bee2331 update KOKKOS.cmake for Kokkos 3.1. no more patch needed. 2020-04-16 15:39:53 -04:00
b3c7c1f93c utils.h is not used anymore 2020-04-16 15:13:21 -04:00
348118317c Update Kokkos docs 2020-04-16 12:36:43 -06:00
f8f69996eb Remove obsolete note 2020-04-16 11:49:03 -06:00
19ac94e9a3 remove @timmattox as a code owner of USER-DPD 2020-04-16 13:15:41 -04:00
ba8d043c7e Update Kokkos library in LAMMPS to v3.1 2020-04-16 09:06:08 -06:00
ca64c461ff Remove unnecessary error check in USER-DPD fix rx 2020-04-16 08:19:50 -06:00
fa6922a182 Merge pull request #1994 from akohlmey/next_lammps_version
Update version string for next patch release
2020-04-15 16:09:52 -04:00
bc3fe80b28 Merge pull request #1997 from giacomofiorin/lepton-windows-defines
Defines to build and link the Lepton library with MSVC
2020-04-15 15:56:48 -04:00
4c870be433 Merge pull request #1957 from david-castillo/restrain_lbound
add moving bond restraints and a lower bound only bond restraint
2020-04-15 14:45:07 -04:00
c5f6b5c687 one more whitespace fix 2020-04-15 14:29:37 -04:00
adf9602ae3 whitespace fix 2020-04-15 14:26:37 -04:00
01f97f1936 Merge branch 'master' into restrain_lbound 2020-04-15 14:24:47 -04:00
45aa6bd3b8 add @giacomofiorin as code owner for USER-COLVARS.cmake 2020-04-15 14:22:29 -04:00
6bac08322c Merge pull request #1999 from ellio167/kim_match_pairs
Add support for "internal" kim_match_pairs command
2020-04-15 12:43:34 -04:00
e7cce60777 Merge pull request #1889 from lammps/change-box-error-check
delay change_box error check with existing per-atom restart data
2020-04-15 12:29:32 -04:00
08d01e6417 import polymorphic pair style update from Xiaowang Zhou 2020-04-15 11:31:30 -04:00
529e905816 Fixup error message 2020-04-15 10:29:55 -05:00
0796a7032e same doc change for "lbond" option 2020-04-15 11:22:48 -04:00
e94576ecd8 update documentation as requested 2020-04-15 11:21:25 -04:00
80311891f1 Merge pull request #1874 from akohlmey/generalize-box-change-detect
Refactor handling of box change information from fixes
2020-04-15 11:14:45 -04:00
1cee0cf50e Changes and Comments in response to Axel's suggestions 2020-04-15 09:58:05 -05:00
3deece168e Merge branch 'master' into next_lammps_version 2020-04-15 05:08:53 -04:00
f5733ccd75 Merge pull request #1978 from evoyiatzis/class2_cs
core-shell version of pair_style lj/class2/coul/long
2020-04-14 22:59:46 -04:00
567147cf78 rename DEFAULT_PACKAGES to STANDARD_PACKAGES and ACCEL_PACKAGES to SUFFIX_PACKAGES for clarity 2020-04-14 22:37:39 -04:00
e5842e9236 must handle CORESHELL as ACCEL_PACKAGE because of the dependency tracking 2020-04-14 22:34:07 -04:00
8a6664eb4c make coulomb part of lj/class2/coul/long/cs consistent with lj/cut/coul/long 2020-04-14 22:05:19 -04:00
b718db385d Add support for "internal" kim_match_pairs command 2020-04-14 20:38:47 -05:00
48c136b784 fix whitespace issue 2020-04-14 21:37:34 -04:00
5951555de4 Merge branch 'master' into next_lammps_version 2020-04-14 21:36:59 -04:00
c50e49fce4 Merge pull request #1967 from julient31/neel-rework
Correct issue #1959 and correct issues in SPIN package
2020-04-14 21:32:37 -04:00
8daf0c56d2 Merge pull request #1996 from lammps/junghans_more_cmake_cleanup
cmake: improve exported target
2020-04-14 21:25:12 -04:00
267654297c Merge pull request #1998 from rbberger/cmake_fix_python_install
Fix installation of lammps.py with CMake
2020-04-14 21:21:07 -04:00
0afa9e60f9 Fix installation of lammps.py with CMake
In CMake 3.10 the PythonInterp module defined PYTHON_EXECUTABLE.  Since CMake
3.12 the Python module defines Python_EXECUTABLE.

Since the rest of the code was using PYTHON_EXECUTABLE and expecting it to be
defined, no matter which version, in newer versions of CMake this would lead to
lammps.py not being installed at all.

This commit changes the LAMMPS CMake files to use the newer variable name and
sets Python_EXECUTABLE in older versions if needed.
2020-04-14 17:45:49 -04:00
5eee4cb1ba C4 JT 041420
- reran all SPIN examples
2020-04-14 15:44:15 -06:00
250e3892f8 Add defines to build Lepton with MSVC and CMake 2020-04-14 17:40:50 -04:00
677f5cc997 C3 JT 041420 2020-04-14 15:22:20 -06:00
f5eb1c5b9d cmake: OpenMP dep is not public 2020-04-14 15:15:16 -06:00
be1f307384 Add defines to build Lepton with MSVC and traditional make 2020-04-14 16:57:04 -04:00
dcbf9f7d17 cmake: improve exported target 2020-04-14 12:16:28 -06:00
7d71d5bfb3 Merge pull request #1981 from akohlmey/simplify_build_choices
Simplify choices for building LAMMPS and add some howtos for CMake and getting stack traces
2020-04-14 10:57:54 -04:00
8a0ed69e5b Merge pull request #1995 from akohlmey/cmake-build-docs
Update CMake scripts to build the HTML docs correctly
2020-04-14 10:22:30 -04:00
da36b252cc remove even more trailing whitespace 2020-04-14 06:08:10 -04:00
dc7853956a remove trailing whitespace 2020-04-14 06:01:07 -04:00
41cfb3ae80 Merge branch 'master' into neel-rework 2020-04-14 05:57:08 -04:00
b8b1e60b37 describe various abstract build targets for CMake 2020-04-14 01:13:46 -04:00
3c2b23e821 small tweaks and grammar corrections 2020-04-14 01:13:22 -04:00
4ded155cf2 simplify directory creation and copying of static content 2020-04-14 00:31:45 -04:00
872f15f2be remove no longer needed include 2020-04-14 00:30:53 -04:00
4f8d4a10d9 small tweaks and grammar/style improvements 2020-04-14 00:00:21 -04:00
a3c5751faf BUILD_LIB variable has been removed from CMake 2020-04-13 23:40:36 -04:00
34689fed5e make clean-all should also remove Manual.pdf and Developer.pdf 2020-04-13 23:34:29 -04:00
1688160669 don't need to force version 2.4.4 of sphinx anymore 2020-04-13 22:55:20 -04:00
e09349bc91 update CMake documentation build for recent changes to the html doc build procedure 2020-04-13 22:41:49 -04:00
a5059092b3 fix permissions 2020-04-13 22:26:20 -04:00
01d2fae925 Merge pull request #1992 from akohlmey/collected-small-changes
Recover cross compilation with MinGW
2020-04-13 21:05:56 -04:00
732ae97083 update version string for next patch release 2020-04-13 20:50:45 -04:00
2321789de0 Merge pull request #1993 from akohlmey/strncmp-update
Use utils::strmatch() in USER-DPD and KOKKOS for safer style matches
2020-04-13 20:44:28 -04:00
c6fe20d93b remove obsoleted file 2020-04-13 20:35:06 -04:00
8962da19ca complete cmake howto 2020-04-13 19:39:00 -04:00
6e4d5fd020 address spelling and other minor issues 2020-04-13 14:34:39 -04:00
e9fdc5e84b rework the debug info section to be more readable and make the options more visible 2020-04-13 14:34:23 -04:00
11b069ffe7 use utils::strmatch() in USER-DPD and KOKKOS for safer style matches 2020-04-13 13:38:38 -04:00
060fa6f68a Merge branch 'master' into simplify_build_choices 2020-04-13 13:00:38 -04:00
61871c3348 Merge pull request #1979 from ohenrich/user-cgdna
USER-CGDNA: Introduced capped force in oxDNA-FENE bonds
2020-04-13 12:59:57 -04:00
6929b3caa3 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2020-04-13 12:03:27 -04:00
209a3fde71 use MY_PI everywhere, not M_PI. 2020-04-13 12:02:53 -04:00
6c3bb9f511 use MY_PI everywhere, not M_PI. 2020-04-13 11:43:16 -04:00
5d2ec73c5d re-enable cross-compilation with mingw64 2020-04-13 11:22:19 -04:00
74143a3d89 Merge branch 'master' into simplify_build_choices 2020-04-13 11:02:35 -04:00
4abff7b4d3 Merge pull request #1986 from akohlmey/correct-kokkos-docs
Update docs and CMake scripts for Kokkos 3.0+
2020-04-13 11:01:26 -04:00
03634b12df add missing pair style. Coulombic/Coulombics -> Coulomb for consistency 2020-04-13 10:38:09 -04:00
29f9ca4b54 use list-table and figure to have side-by-side images 2020-04-13 10:30:01 -04:00
f159c57f08 Adding square roots to inf norm instances in min.cpp 2020-04-13 08:15:59 -06:00
38343f3c03 C2 JT 041320
- removing a commented line
2020-04-13 08:05:06 -06:00
8fabd79440 Commit JT 041320
- corrected pair/spin to recover tests
2020-04-13 07:53:27 -06:00
394c906979 Merge branch 'master' into user-cgdna 2020-04-13 10:40:55 +01:00
fbce1a8549 write initial part of CMake tutorial 2020-04-12 21:39:19 -04:00
ebf6e23a67 explain error message when using a non-c++11 compliant compiler. 2020-04-12 16:32:40 -04:00
3201213bec remove tabs 2020-04-12 16:32:16 -04:00
5bb2449ddb provide info about including debug support in executable and a stack trace debug tutorial 2020-04-12 15:34:00 -04:00
5584bd1106 Update traditional make info and synchronize information provided with CMake version 2020-04-12 11:41:25 -04:00
8b1c6cb279 Merge branch 'omp4-compat' into correct-kokkos-docs 2020-04-12 01:44:47 -04:00
111ceb24cf Merge branch 'simplify_build_choices' of github.com:akohlmey/lammps into simplify_build_choices 2020-04-12 01:39:47 -04:00
17fdf976b0 must force non-interactive setup 2020-04-12 01:35:41 -04:00
9cf6c72a9c fix spell-checker issues 2020-04-12 00:36:39 -04:00
82b767f6bd Merge pull request #1 from akohlmey/omp4-compat
Update OpenMP 4+ compatibility pull request for LAMMPS
2020-04-11 22:21:41 -04:00
7b3b77226e update build overview 2020-04-11 22:20:35 -04:00
fa0cc2c217 update singularity definition files 2020-04-11 21:36:08 -04:00
5542ad31dc Merge branch 'master' into simplify_build_choices
# Conflicts:
#	cmake/Modules/Packages/GPU.cmake
2020-04-11 21:31:07 -04:00
d6624fe444 Merge pull request #1863 from Vsevak/gpu_hip
HIP back end to GPU package to support AMD GPUs via the ROCm toolkit
2020-04-11 21:14:45 -04:00
2edc6939a8 update and correct docs for OpenMP 3.x vs OpenMP 4.x and how to work around it. 2020-04-11 18:51:10 -04:00
3fa7265ff8 modernize CMake script code and add version tests for Clang and Intel to switch to OpenMP4 semantics 2020-04-11 18:35:37 -04:00
7a16567e2a better version info output with intel compilers 2020-04-11 18:34:37 -04:00
4acdd161f0 Merge pull request #1937 from jibril-b-coulibaly/fixadapt
fix adapt: implement scale keyword for diameter/charge and 2d compatibility
2020-04-11 17:31:13 -04:00
832cb57d91 Merge branch 'master' into fixadapt
# Conflicts:
#	doc/src/fix_adapt.rst
2020-04-11 16:24:13 -04:00
35bb597747 fix some whitespace issues: replace tabs with spaces, remove DOS/Windows style CR-LF 2020-04-11 16:11:27 -04:00
15314e3c95 Merge branch 'patch-1' of github.com:LunarLanding/lammps into correct-kokkos-docs 2020-04-11 15:41:14 -04:00
8407a77893 add text segments removed from other pages. 2020-04-11 12:43:50 -04:00
d50013ed16 complete rewrite of the CMake build overview page 2020-04-11 12:43:31 -04:00
15c89c388b add link target 2020-04-11 12:43:00 -04:00
60910e64f1 Fix typo in latex formula (cosine was not squared)
What the title says; I am assuming it is squared in the implementation.
2020-04-11 17:17:48 +01:00
e9af15ebb4 start rewrite of the cmake with LAMMPS documentation 2020-04-11 11:55:45 -04:00
c0d3ecfff0 start more detailed CMake howto document 2020-04-11 11:55:13 -04:00
20edc12821 copy images from figure rst directives as well 2020-04-11 11:53:55 -04:00
7978d20352 tweaks 2020-04-11 02:02:15 -04:00
1aba55a757 Merge branch 'user-cgdna' of github.com:ohenrich/lammps into correct-kokkos-docs 2020-04-10 23:46:16 -04:00
3d1505994c update false positives list 2020-04-10 23:32:41 -04:00
806fd8cf11 rework KOKKOS package compilation docs for Kokkos 3.0+ and recent changes in CMake support 2020-04-10 23:32:31 -04:00
f01c90b6b0 use consistent capitalization with NVIDIA 2020-04-10 23:20:10 -04:00
b83840c2f8 Merge remote-tracking branch 'github/junghans-CMake-typo' into correct-kokkos-docs 2020-04-10 22:29:19 -04:00
9bf31a66fd select compute capability 5.0 as default for Kokkos+CUDA preset. 2020-04-10 22:28:21 -04:00
340a2e719d be verbose about automatically enabling Kokkos_ENABLE_CUDA_LAMBDA 2020-04-10 22:27:42 -04:00
d2c4ade697 Add HIP_USE_DEVICE_SORT CMake option 2020-04-10 18:22:43 -04:00
e114d814f4 add rmass_flag and rectify comments and indents 2020-04-10 16:17:12 -05:00
98fcf83180 Checkout specific hipCUB version 2020-04-10 15:31:06 -04:00
0608002451 Remove trailing whitespace 2020-04-10 15:10:41 -04:00
1a1db599f6 Fix typo 2020-04-10 15:03:48 -04:00
024a91c751 Add documentation on how to compile GPU package with HIP using CMake 2020-04-10 14:50:10 -04:00
4f8a1583b9 Restore --arch line removed during debugging 2020-04-10 14:25:46 -04:00
195e453d17 Add HIP configuration output 2020-04-10 14:24:26 -04:00
b7a2b375c6 Add includes and linked libs for HIP_PLATFORM=nvcc
Do not set CMAKE_CXX_COMPILER=hipcc in the NVCC case since it causes
all sorts of problems. Instead we use the regular host compiler and
set the necessary include and link paths.
2020-04-10 12:45:39 -04:00
df2ddcc98a provide 3 presets for KOKKOS compilation: serial, openmp, cuda 2020-04-10 12:16:56 -04:00
28379e145f set using C++11 w/o extensions globally. move KOKKOS only checks to KOKKOS.cmake 2020-04-10 12:16:24 -04:00
c83dfd2b22 update list of supported Kokkos_ARCH suffixes. convert to table. 2020-04-09 22:52:25 -04:00
469a4f15b7 some tweaks to simplify building the KOKKOS package and to enforce consistent behavior 2020-04-09 22:51:52 -04:00
e39faf4f48 handle change in capitalization of Kokkos variables after upgrade to v3.0 2020-04-09 22:30:48 -04:00
7c8be1a411 update instructions in Python doc section 2020-04-09 21:47:47 -04:00
2becc27aa4 remove a few more BUILD_LIB uses 2020-04-09 21:24:00 -04:00
284c67a0f6 partial update of the new kokkos docs 2020-04-09 21:20:17 -04:00
bca64306ed avoid spellchecker issue 2020-04-09 18:06:05 -04:00
16fa45fef3 Merge remote-tracking branch 'github/junghans-CMake-typo' into simplify_build_choices 2020-04-09 17:59:53 -04:00
fc3011c1b2 complete adapting makefiles and add a minor simplification tweak 2020-04-09 17:59:42 -04:00
a585142de0 update makefiles in src/MAKE/MACHINES 2020-04-09 17:19:27 -04:00
3c0dae3bc5 cmake: fix install error for shared libs 2020-04-09 14:05:48 -06:00
3d2d2cb668 update documentation for the changes to the build procedure 2020-04-09 15:43:05 -04:00
bd7a906838 Merge remote-tracking branch 'github/junghans-CMake-typo' into simplify_build_choices 2020-04-09 15:27:30 -04:00
874ef6afc1 cmake: add error when trying to install downloaded libs 2020-04-09 12:36:57 -06:00
a1992ce01d tweak linking procedure to maximize shared code and have the least issues with rpath 2020-04-09 14:16:00 -04:00
6381940b9a Attempt to get ROCm CUDA working with CMake 2020-04-09 13:53:41 -04:00
4534096ad1 Update Install.sh 2020-04-09 19:44:48 +02:00
52bc8c398d move header file to CORESHELL folder 2020-04-09 19:42:32 +02:00
d4757e5330 move cpp file to CORESHELL folder 2020-04-09 19:41:27 +02:00
dab9cc617a delete entry at README 2020-04-09 19:38:12 +02:00
e7a8de0368 Add container with both ROCm and CUDA 2020-04-09 13:28:56 -04:00
07d31f4643 remove LAMMPS_LIB_SUFFIX variable and use LAMMPS_MACHINE instead.
we are now always building the executable and the library and thus they should have a consistent suffix or none.
2020-04-09 10:42:11 -04:00
79fc73d3a2 small hack to ensure that src/MAKE/MINE is included in the git checkout 2020-04-09 10:11:13 -04:00
69a38115ce Merge remote-tracking branch 'github/junghans-CMake-typo' into simplify_build_choices 2020-04-09 09:44:12 -04:00
8dfc6cdef4 Testing.cmake: some clean up 2020-04-09 07:40:17 -06:00
d6aede2549 LAMMPSConfig.cmake: fixed for disabled PKG_SPACE 2020-04-09 07:27:27 -06:00
32eeffe84d Merge remote-tracking branch 'github/junghans-CMake-typo' into simplify_build_choices 2020-04-09 08:57:42 -04:00
ed0971d663 cmake: fix a typo 2020-04-09 05:44:57 -06:00
0fa6472c51 Merge branch 'master' into omp4-compat 2020-04-08 23:13:05 -04:00
f3a280a9f4 fix typo 2020-04-08 18:49:16 -04:00
61147d75b5 change build settings to have only mode=static and mode=shared and always build library and executable 2020-04-08 18:38:18 -04:00
686aba9fd8 include options to link to the LAMMPS library in mode=print output 2020-04-08 18:36:30 -04:00
e5b521e011 remove BUILD_EXE and BUILD_LIB options from CMake files. we always build both. 2020-04-08 18:31:46 -04:00
1c94415d1f Remove whitespace 2020-04-08 13:57:12 -04:00
438ee4d75b Merge remote-tracking branch 'origin/master' into gpu_hip 2020-04-08 13:49:41 -04:00
b74aabf05c Merge pull request #1956 from junghans/cmake_clean_up
cmake: major refactor of CMake support to take advantage of CMake 3.10 and beyond.
2020-04-08 12:52:06 -04:00
1fed78eecf Removed abort condition, enabled capped force 2020-04-08 08:23:34 +01:00
459c1bbf63 Merge branch 'master' into cmake_clean_up 2020-04-07 16:17:33 -04:00
9da2d34f9d Update pair_cs.rst 2020-04-07 18:50:53 +02:00
4ef0e17900 Update README 2020-04-07 18:44:06 +02:00
c6d09437ae pair_style lj/class2/coul/long/cs
The files for the core-shell version of the pair_style lj/class2/coul/long
2020-04-07 18:41:15 +02:00
15ddbf7e9e Removed abort condition, enabled capped force 2020-04-07 13:32:05 +01:00
4b6dcb3452 LAMMPSConfig.cmake.in: add support for some more packages 2020-04-06 14:51:44 -06:00
bb9ffe2edc simple.c: fix lammps include 2020-04-06 14:15:47 -06:00
5da96f4574 LAMMPSConfig.cmake: add support for PKG_USER-SCAFACOS and PKG_PYTHON 2020-04-06 12:10:39 -06:00
6c8161b2a3 cmake: remove wrongly added warning about downloading 2020-04-06 12:10:00 -06:00
01cd32ebc2 Merge pull request #1972 from akohlmey/collected-small-changes
Collected small changes for the next patch
2020-04-06 10:22:20 -04:00
f3e1db4174 one more false positive 2020-04-06 08:45:22 -04:00
56c07cec26 handle not previously flagged false positives 2020-04-06 08:28:12 -04:00
73aeb74c2a LAMMPSConfig: more fixes for static liblammps 2020-04-05 20:51:02 -06:00
2d92d8f8c6 LAMMPSConfig.cmake: fix linking against FFTW3 2020-04-05 20:06:56 -06:00
592a5fac53 fix bugs in doc makefile 2020-04-05 21:56:55 -04:00
f0817321f9 LAMMPSConfig.cmake.in: improve static lib case 2020-04-05 19:52:28 -06:00
97b11ea746 enforce using sphinx version 2.4.4, install spellchecker with all other sphinx tools 2020-04-05 21:36:06 -04:00
d8402b6249 KIM.cmake: doesn't require MPI 2020-04-05 19:24:12 -06:00
b9c747b680 KIM.cmake: indentation 2020-04-05 19:01:17 -06:00
d568fea7c3 cmake: derive LAMMPS_API_DEFINES from lammps target properties 2020-04-05 18:58:16 -06:00
1b87ce04ee cmake: fix a typo 2020-04-05 15:40:15 -06:00
ac393ca38d GPU.cmake: use OpenCL imported target 2020-04-05 15:37:17 -06:00
a77166379b cmake: remove old comment 2020-04-05 15:23:23 -06:00
6b199f502c cmake: add error for downloading with <=cmake-3.11 2020-04-05 15:14:30 -06:00
9003553384 cmake: move OpenCL handling under Windows in GPU.cmake 2020-04-05 15:12:40 -06:00
e18439f387 cmake: make more include files consistent 2020-04-05 15:03:25 -06:00
1988a2a725 cmake: make USER-H5MD.cmake consistent 2020-04-05 14:58:54 -06:00
9aa6d04997 cmake: move if(PKG_) out of cmake file 2020-04-05 14:57:06 -06:00
5411ae698f KSPACE.cmake: use MKL imported target 2020-04-05 14:39:13 -06:00
e8317b2f6b cmake: don't use PythonInterp on new cmake 2020-04-05 11:53:43 -06:00
909b2dcff8 PYTHON.cmake: don't use PythonLibs on new cmake 2020-04-05 11:43:54 -06:00
6f5fcd66ac cmake: check flags in CMAKE_TUNE_FLAGS 2020-04-05 08:58:34 -06:00
4e0eb0c501 no more need to set compiler flags for intel compiler in preset 2020-04-03 21:24:45 -04:00
5c0e8a6b0d cmake: add options to summary 2020-04-03 15:24:11 -06:00
c54bb316b8 USER-INTEL.cmake: remove duplicated injection of GNU flags 2020-04-03 14:25:43 -06:00
1daa4ce374 USER-INTEL.cmake: add_compile_options -> target_compile_options 2020-04-03 14:24:27 -06:00
9df26bca55 cmake: export lmp executable as well 2020-04-03 13:39:28 -06:00
cab260f3ab cmake: fix mpi default on Windows 2020-04-03 09:57:14 -06:00
b83c98db14 USER-INTEL.cmake: clean up, create imported targets 2020-04-03 09:50:28 -06:00
a2353dfc50 cmake: removed unused FindTBB.cmake 2020-04-03 09:25:09 -06:00
bdc83020f0 cmake:LAMMPS::MPI -> MPI::MPI_CXX 2020-04-03 09:24:47 -06:00
8bcdc86d0f properly pass --enable-stdcall-fixup when linking on windows with mingw cross-compiler 2020-04-03 10:16:20 -04:00
2df524d782 USER-INTEL.cmake: fix TBB_MALLOC warning 2020-04-03 07:23:03 -06:00
e53e443e21 add singularity description file for Ubuntu 20.04 LTS 2020-04-02 21:52:20 -04:00
8b61aed3cb update/order list of require texlive packages 2020-04-02 21:51:52 -04:00
c8481e620d set C locale 2020-04-02 19:41:00 -04:00
d4fbeccb2b add latex support 2020-04-02 19:40:29 -04:00
1e224611ca Add preliminary CMake support to GPU HIP port 2020-04-02 17:59:45 -04:00
2ef4c4166d update container definitions for building documentation 2020-04-02 17:48:17 -04:00
ce80cae5c4 update list of false positives for ubuntu 16.04 2020-04-02 17:42:11 -04:00
3f630f799e fix up non-ascii characters so doc tools can work with LC_ALL=C 2020-04-02 17:29:42 -04:00
237c8f0bec improve portability to older python versions 2020-04-02 17:13:19 -04:00
a9dad3d46c test for PDFLaTeX and update README 2020-04-02 14:31:47 -04:00
1ec91bc214 Add CMake function GenerateBinaryHeader to replace xxd steps 2020-04-02 14:22:04 -04:00
9e563da3eb USER-PLUMED.cmake: use imported targets 2020-04-02 11:38:18 -06:00
9397e11c6f fix issue in README file 2020-04-02 13:29:37 -04:00
96a3ede4f4 Merge remote-tracking branch 'github/master' into collected-small-changes 2020-04-02 13:29:28 -04:00
a68656567f Merge pull request #1975 from rbberger/more_singularity_containers
More Singularity container definitions
2020-04-02 10:56:13 -04:00
96202ccf56 remove trailing whitespace 2020-04-01 20:27:43 -04:00
eb955b44f8 Merge branch 'master' into collected-small-changes 2020-04-01 20:26:02 -04:00
2de7e90e58 add Fedora 30 definition and update README file 2020-04-01 20:21:30 -04:00
927b1b05e5 ignore singularity container files in the entire repo 2020-04-01 20:08:00 -04:00
0cf48c37e1 Add NVIDIA Singularity container 2020-04-01 17:41:40 -04:00
03988a9048 Add ROCm Singularity container 2020-04-01 17:29:07 -04:00
ccdf010ef0 Add Intel OpenCL Singularity container 2020-04-01 17:08:40 -04:00
dbdce3946b Update/Sync singularity container definition for Ubuntu 18.04 2020-04-01 16:35:00 -04:00
13da503704 Merge pull request #1974 from stanmoore1/makefile
Fix MPI environment variable issue in Makefile.kokkos
2020-04-01 14:06:13 -04:00
e1924c6064 Merge pull request #1969 from stanmoore1/team_size
Work around team_size issue in npair_kokkos
2020-04-01 14:03:32 -04:00
fd44f80022 Merge pull request #1973 from evoyiatzis/ext-fix-adapt
Small extension of bonds supported by fix adapt
2020-04-01 14:02:02 -04:00
a4a4562b03 KIM.cmake: remove _KIM_LIBDIR workaround 2020-04-01 11:56:34 -06:00
0358e9c4c9 KIM.cmake: switch to imported targets 2020-04-01 11:46:01 -06:00
e5c5645520 MSCG.cmake: create imported target for downloaded mscg 2020-04-01 10:36:07 -06:00
7059996356 USER-SCAFACOS.cmake: use imported target for downloaded scafacos 2020-04-01 09:02:51 -06:00
72200a9958 Fix MPI environment variable issue in Makefile.kokkos 2020-04-01 08:57:18 -06:00
9574a18a73 USER-SMD.cmake: use imported target for downloaded eigen3 2020-04-01 08:09:56 -06:00
22b90413d5 LATTE.cmake: create and use imported target 2020-04-01 07:27:58 -06:00
08e81d6a36 Update bond_fene.cpp 2020-04-01 15:15:52 +02:00
e93920bb5d Update bond_nonlinear.cpp 2020-04-01 15:15:25 +02:00
ba81e6a955 Update bond_morse.cpp 2020-04-01 15:15:00 +02:00
1157a2a4c2 Update bond_class2.cpp 2020-04-01 15:14:21 +02:00
596ec06960 Update fix_adapt.rst 2020-04-01 15:01:34 +02:00
ef112be870 Update bond_nonlinear.cpp 2020-04-01 14:54:17 +02:00
d0c1b7ea08 Update bond_nonlinear.h 2020-04-01 14:52:41 +02:00
9446f8f780 Update bond_fene.cpp 2020-04-01 14:51:23 +02:00
bd7deebca2 Update bond_fene.h 2020-04-01 14:50:32 +02:00
5bc7a24479 Update bond_class2.cpp 2020-04-01 14:49:04 +02:00
566e110e42 Update bond_class2.h 2020-04-01 14:48:13 +02:00
494750b426 Update bond_morse.cpp 2020-04-01 14:46:52 +02:00
c472f38f5f Update bond_morse.h 2020-04-01 14:44:54 +02:00
4202b4649b KOKKOS.cmake: create imported target for internal kokkos 2020-03-31 20:36:26 -06:00
2f4571e31d VORONOI.cmake: create imported target for internal voro 2020-03-31 20:00:17 -06:00
b645800537 cmake: mark MPI::MPI_CXX global 2020-03-31 19:59:33 -06:00
099880e91b cmake: add missing size defines 2020-03-31 16:35:28 -06:00
53ce24fac1 cmake: remove LAMMPS_USE_MPI4WIN hacks 2020-03-31 16:12:16 -06:00
041941ed81 MPI4WIN.cmake: remove duplicated -D 2020-03-31 15:37:39 -06:00
05ecda3748 cmake: try to fix MPI4WIN build 2020-03-31 15:06:40 -06:00
ef0df90b48 Merge branch 'master' into cmake_clean_up 2020-03-31 14:42:28 -06:00
fbac800b75 Merge pull request #1968 from junghans/cmake_kokkos_3
cmake: fix up kokkos-3.0 update
2020-03-31 16:29:44 -04:00
119ba61c09 cmake: fix MPI linkage 2020-03-31 08:23:59 -06:00
3ba83de700 Work around team_size issue in npair_kokkos 2020-03-30 16:26:46 -06:00
19a52dc506 Update lib/gpu/.gitignore 2020-03-30 17:36:22 -04:00
373b57cfdc Change 'echo -e' to 'printf' for greater compatibility 2020-03-30 17:36:00 -04:00
4f6dd381c3 Merge branch 'master' into gpu_hip 2020-03-30 17:15:55 -04:00
cfd8ea1e36 KOKKOS.cmake: added missing default. 2020-03-30 13:53:26 -06:00
1ceb335059 KOKKOS.cmake: make doc more clear 2020-03-30 12:29:19 -06:00
802909386b KOKKOS.cmake: fix a typo 2020-03-30 12:28:24 -06:00
dd7cb2b770 cmake: fix up kokkos-3.0 update 2020-03-30 11:51:30 -06:00
1316e93eb2 Merge pull request #1870 from stanmoore1/kk_2.99
Update Kokkos library to v3.0
2020-03-30 13:35:48 -04:00
22aab4406e Commit3 033020
- re-checked all validation problems, ready for PR
2020-03-30 09:32:46 -06:00
961c554ed6 Merge branch 'clean-master2' of github.com:julient31/lammps into neel-rework 2020-03-30 09:01:30 -06:00
547d29d030 Commit2 JT 300320
- regenerated all spin examples
2020-03-30 08:55:54 -06:00
3806222e04 make configuations summary more consistent, recover defines 2020-03-30 10:25:04 -04:00
51e3f9dcda Commit JT 033020
- modified all spin pairs (match nve)
- correct doc min_modify
- correct code max norm (square values)
- added draft nvt validation
2020-03-30 08:09:11 -06:00
f30116311f cmake: add simpleC to CMakeLists.txt 2020-03-28 17:57:53 -06:00
fa2df0df0f cmake: clean up header install 2020-03-28 15:42:51 -06:00
b331b2db10 cmake: make incl. dir work under windows as well 2020-03-28 09:30:02 -06:00
4aadb554a3 cmake: replace incl. dir hack by even better hack 2020-03-28 08:43:13 -06:00
b245872bae cmake: replace include dir hack by a different hack 2020-03-28 08:28:41 -06:00
fb9f31580c cmake: install mpi.h in mpi/ subdir 2020-03-28 08:08:26 -06:00
635cca1e8d cmake: add info.h to install 2020-03-28 07:39:30 -06:00
aa76ed0b0e remove tab and trailing whitespace 2020-03-27 22:25:27 -04:00
c4440be392 there are no more fortran sources in "simple" package libraries 2020-03-27 22:12:40 -04:00
2a7f690bf2 refactor error code handler to avoid possible string overflows and handle out of range argument 2020-03-27 21:09:20 -04:00
d37e7a5025 fix whitespace issues 2020-03-27 21:08:43 -04:00
5a88db838d Merge pull request #1946 from yafshar/kim-property
Add new kim_property command
2020-03-27 20:58:52 -04:00
6de66b1140 fix whitespace issues 2020-03-27 19:12:10 -04:00
afc17b1d53 use american english spelling 2020-03-27 19:05:52 -04:00
ad029f567f Merge pull request #1965 from martok/meamc-docs
MEAM/C: Improve documentation, error messages
2020-03-27 18:54:07 -04:00
2d15071c9f Update Errors_messages.rst 2020-03-27 23:22:17 +01:00
24ed8749d2 a kim-property command example 2020-03-27 17:17:04 -05:00
06a9fda7a4 Merge pull request #1966 from rbberger/library-interface-update
Allow query of available styles from lib interface
2020-03-27 17:54:46 -04:00
89eb5fc65a cmake: fix build for shared libs 2020-03-27 15:35:05 -06:00
c49310721c Hide secret styles 2020-03-27 17:23:09 -04:00
055764c20a cmake: install exceptions.h as well 2020-03-27 15:20:10 -06:00
686a2c7a43 Support host execution 2020-03-27 15:19:40 -06:00
16ac65e8cf cmake: make mpi public again 2020-03-27 15:01:51 -06:00
3b1244831e Add Python::has_minimum_version 2020-03-27 16:28:43 -04:00
6f8915e0a5 cmake: updated COUPLE/simple cmake 2020-03-27 13:55:34 -06:00
1861c0f8ec Fix deprecated Kokkos code issue 2020-03-27 12:20:13 -06:00
e809bf6566 Fix merge issue 2020-03-27 11:08:20 -06:00
f7cfaec57d Fix team_size issue in comm_kokkos 2020-03-27 10:18:33 -06:00
758c812306 Allow query of available styles from lib interface
Adds the following new library functions:
- lammps_has_style()
- lammps_style_count()
- lammps_stlye_name()

The Info class now also has the following member functions:

- Info::has_style()
- Info::get_available_styles()
2020-03-26 22:45:18 -04:00
6b6dd07414 Fix runtime issues with pair_exp6_rx_kokkos 2020-03-26 17:12:08 -06:00
7a5f73137a Fix runtime issues with Kokkos vatom 2020-03-26 16:21:06 -06:00
b54697efb8 Fix runtime issue in atom_vec_sphere_kokko 2020-03-26 15:56:58 -06:00
5c0f027464 Fix team_size issue in comm_kokkos 2020-03-26 15:32:45 -06:00
f6a107c448 Fix team_size issues in pair_snap_kokkos 2020-03-26 15:29:01 -06:00
e88e8bdabe cmake: improve install of support libs 2020-03-26 15:00:46 -06:00
8456f3f2ec MEAM/C: refactor file reading with MPI, scope locals accordingly 2020-03-26 17:20:23 +01:00
9e0e046eb2 MEAM/C: improve error messages and documentation 2020-03-26 17:20:23 +01:00
e601fa4e8d cmake: add example CMakeLists.txt for xamples/COUPLE/simple 2020-03-26 08:42:00 -06:00
897f5b19be cmake: improve exported target a bit 2020-03-26 08:41:05 -06:00
be93ef7b20 update 2020-03-25 22:53:58 -04:00
25199e0e57 update 2020-03-25 22:37:26 -04:00
09097e14b9 update 2020-03-25 22:35:55 -04:00
4f0540b331 update 2020-03-25 22:24:26 -04:00
73b8c5ec6b USER-PLUMED.cmake: fix fftw3 linkage 2020-03-25 19:46:10 -06:00
a08cf6d609 cmake: mpi_stubs needs to be public 2020-03-25 19:41:34 -06:00
9c51bb6cb3 Merge pull request #4 from lammps/master
update
2020-03-25 21:25:33 -04:00
b60acaa657 MESSAGE.cmake: fix up 2020-03-25 19:19:00 -06:00
01a51d655c cmake: move kokkos to external project (part I) 2020-03-25 19:11:49 -06:00
9ac445005b Merge pull request #3 from lammps/master
update
2020-03-25 21:10:27 -04:00
c05e1871bf style issues 2020-03-25 20:26:39 -04:00
fa4ef70829 code issues 2020-03-25 20:18:07 -04:00
af6849f783 cmake: fix up MESSAGE.cmake 2020-03-25 18:10:52 -06:00
761de9b13c cmake: add more libs to export target 2020-03-25 18:05:36 -06:00
cad6332065 cmake: add gpu to export target 2020-03-25 18:01:01 -06:00
ad731869d7 cmake: fix atc compile 2020-03-25 16:18:19 -06:00
36b826348b Fix compile issues with Kokkos 2020-03-25 16:12:37 -06:00
568aaeca22 cmake: needs mpi 2020-03-25 15:04:20 -06:00
1e59101606 cmake: fix exported target 2020-03-25 14:52:27 -06:00
ad37c0a806 USER-SMD.cmake: fix a typo 2020-03-25 14:42:23 -06:00
50935b5cbc Fix typos 2020-03-25 14:23:45 -06:00
60864e38d1 Update Kokkos library in LAMMPS to v3.0 2020-03-25 14:08:39 -06:00
0252d8c210 Fix compile for UVM 2020-03-25 13:58:20 -06:00
e298978da0 Change Kokkos::Impl to std namespace 2020-03-25 13:58:12 -06:00
0025dfe1e3 Update Kokkos CUDA minimum verison 2020-03-25 13:56:18 -06:00
1e7e9369da Fix runtime error in Kokkos package 2020-03-25 13:56:07 -06:00
4eebcdfc0d Fix runtime issue in Kokkos 2020-03-25 13:55:51 -06:00
7a09636f9a Fix compile issue in pair_kokkos.h 2020-03-25 13:55:40 -06:00
299f79c919 Remove deprecated Kokkos code 2020-03-25 13:55:31 -06:00
2571b6058e LATTE.cmake: create and use imported target 2020-03-25 11:26:19 -06:00
58c9c4c64b USER-H5MD.cmake: make hdf5 incldir public 2020-03-25 10:14:42 -06:00
b9131fcd18 Merge remote-tracking branch 'origin/master' into cmake_clean_up 2020-03-25 09:36:36 -06:00
ee3249676e cmake: use OpenMP imported target 2020-03-25 09:09:59 -06:00
0e9f65e021 cmake: add exported target 2020-03-25 08:43:57 -06:00
2ac79d4483 Merge pull request #1963 from akohlmey/collected-small-fixes
Collected small changes for the next patch
2020-03-25 10:41:11 -04:00
b8464da71f cmake: remove FindLAMMPS.cmake 2020-03-25 07:45:21 -06:00
1192845ad5 avoid segmentation faults in universe/uloop variable increment 2020-03-25 08:19:24 -04:00
398c030925 whitespace cleanup 2020-03-25 06:52:37 -04:00
3704d90efb Merge branch 'master' into collected-small-fixes 2020-03-25 06:50:11 -04:00
91c1ae8077 Merge pull request #1962 from rbberger/small_fixes
Small fixes
2020-03-25 06:47:28 -04:00
9a25aae31f Merge pull request #1958 from weinbe2/snap-mem-reduce
SNAP optimizations - kernel fusion, memory reduction, misc perf improvements
2020-03-24 19:20:09 -04:00
431647d943 Add link to official WSL docs 2020-03-24 18:52:05 -04:00
0f35c1d009 Update ubuntu package name to libpng-dev 2020-03-24 18:43:20 -04:00
0da108f06f cmake: remove last include_directories() call 2020-03-24 14:50:38 -06:00
5eb77f2e9a FindNetCDF.cmake: fix target 2020-03-24 14:29:14 -06:00
99d4a226b5 USER-NETCDF.cmake: create and use imported targets 2020-03-24 12:33:36 -06:00
f5279a291e USER-QUIP.cmake: create and use imported target 2020-03-24 12:23:39 -06:00
d19f112c75 MSCG.cmake: fix up imported target 2020-03-24 12:18:10 -06:00
72c94f0fbf USER-SCAFACOS.cmake: use imported pkg-config target 2020-03-24 11:49:24 -06:00
d8b6d10f3b MSCG.cmake: create an use imported target 2020-03-24 11:42:36 -06:00
33a57ed215 cmake: some more include_directories() -> target_include_directories() 2020-03-24 11:36:21 -06:00
4736402dd9 cmake: atc needs mpi itself 2020-03-24 11:07:45 -06:00
51eb865d63 VORONOI.cmake: use VORO imported target 2020-03-24 11:05:25 -06:00
9b244b14a6 atc: needs lammps.h 2020-03-24 10:56:49 -06:00
31930139c6 USER-SMD.cmake: use Eigen3 imported target 2020-03-24 10:49:13 -06:00
f2ab654662 cmake: some include_directories() -> target_include_directories() 2020-03-24 10:41:19 -06:00
572502b33d cmake: add_definitions() -> target_compile_definitions() 2020-03-24 09:35:57 -06:00
0060473cee fix up some escaped '*' characters in "code-block" sections that do not need to be escaped 2020-03-24 11:35:21 -04:00
5fa99cb072 Comment cleanup 2020-03-23 21:33:11 -06:00
387c2d0507 Cleaned up comment. 2020-03-23 23:31:12 -04:00
36095bbfdf Tweak comment 2020-03-23 21:15:00 -06:00
bcfc606efb SNAP optimizations, kernel fusion, large reduction of memory usage on the GPU, misc. performance optimizations. 2020-03-23 13:20:56 -07:00
e76afb33ed cmake: update to new target_link_libraries() signature 2020-03-23 12:06:58 -06:00
6209479797 Removed some tabs
Changed mathjax for multiline formula
2020-03-23 17:57:58 +01:00
0f00bb1ca6 Added new argument r0stop to fix restrain bond
Added new fix restrain lowerbound harmonic
2020-03-23 16:48:08 +01:00
d92b9ba8d0 cmake: mpi needs to be public due to DSO 2020-03-23 08:51:29 -06:00
9b8266173f cmake: JPEG imported target is >=cmake-3.12 only 2020-03-23 08:23:16 -06:00
6ee25db32a cmake: fftw needs to be public due to DSO 2020-03-23 08:00:51 -06:00
6e1f18961c Convert characters to UTF-8 2020-03-23 09:42:46 -04:00
a42f7163d2 cmake: move include up 2020-03-22 21:29:15 -06:00
98bfbbd576 fix typo in CMake module 2020-03-22 22:21:12 -04:00
591212af3a cmake: add back include path for now 2020-03-22 19:57:48 -06:00
3076e26707 cmake: create imported target for FFTW 2020-03-22 19:20:00 -06:00
e1f01d3e65 use consistent naming for c++11 style kspace thread 2020-03-22 21:14:26 -04:00
0e3f4f3de2 cmake: remove LAMMPS_DEPS 2020-03-22 19:07:23 -06:00
5828815b3e cmake: remove LAMMPS_LINK_LIBS 2020-03-22 18:55:53 -06:00
cd89a7c4b7 cmake: fix renamed target for exe 2020-03-22 18:03:07 -06:00
62cb760ee2 cmake: remove LIB_SOURCES and LMP_SOURCES 2020-03-22 14:42:29 -06:00
79b84c0847 more thorough checking if BUILD_OMP may be enabled by default. we need the OpenMP runtime, too. 2020-03-22 15:44:28 -04:00
f560cd6dd5 make certain, the molecular flag is always initialized 2020-03-21 01:08:09 -04:00
b533fdb31b Merge pull request #1952 from lammps/numdiff-doc
tweak the docs for the new fix numdiff command
2020-03-20 21:36:03 -04:00
c793db66d2 fix style related issues 2020-03-20 14:45:26 -04:00
a8fc2005d4 Merge branch 'master' into feature-cnt 2020-03-20 14:35:57 -04:00
53ccc4c607 fix code related issues 2020-03-20 14:21:24 -04:00
f60a7ace87 Merge pull request #2 from lammps/master
update the fork to the current state
2020-03-20 14:19:23 -04:00
6563331d6e rename to LAMMPS_OMP_COMPAT, improve docs 2020-03-20 13:21:21 -04:00
0bedebc083 migrate omp constructs to new macros
These changes were automatically generated using the script
posted in https://github.com/lammps/lammps/pull/1651#issuecomment-525814475
2020-03-20 12:47:03 -04:00
9a1b4a8edb Add infrastructure for openmp4 compat 2020-03-20 12:46:24 -04:00
aabee4b328 one more change 2020-03-20 07:27:28 -06:00
9ff71e2da0 fix a typo 2020-03-20 07:26:15 -06:00
8b0e5c66ea tweak the docs for the new fix numdiff command 2020-03-20 07:23:01 -06:00
54c2381632 Merge pull request #1947 from akohlmey/next_lammps_version
Step version string for next patch release
2020-03-19 18:57:27 -04:00
68dc62c512 Merge pull request #1932 from akohlmey/atc-doc-to-rst
Convert AtC documentation html files to reStructuredText
2020-03-19 17:04:35 -04:00
9cfa5506fd flags may be empty, compiler never, if used 2020-03-19 16:46:46 -04:00
9397a763e2 tweak MinGW preset settings to reduce linker warnings 2020-03-19 16:45:22 -04:00
87ac0dc547 Merge commit 'refs/pull/1950/head' of github.com:lammps/lammps into atc-doc-to-rst 2020-03-19 16:08:18 -04:00
a7f16f521f Merge branch 'master' into atc-doc-to-rst 2020-03-19 15:55:08 -04:00
fb9b5c6dd0 remove command copying (the now removed) doc/src/USER into some output folders 2020-03-19 15:55:05 -04:00
a541434e0a cmake: remove hard-coded liblinalg 2020-03-19 13:49:13 -06:00
6644caf817 fix rst formatting issues 2020-03-19 15:48:46 -04:00
223bfac229 remove ATC html files that are no longer needed 2020-03-19 15:44:53 -04:00
a6adf95603 final batch of converted AtC doc files 2020-03-19 15:36:45 -04:00
53883ec077 Merge branch 'atc-doc-to-rst' of github.com:akohlmey/lammps into atc-doc-to-rst 2020-03-19 14:39:15 -04:00
65b6b6f2f8 next batch of converted files 2020-03-19 14:39:00 -04:00
500982ac9c Merge pull request #1949 from akohlmey/cmake-mingw-portability
Improved CMake support for cross-compilation with MinGW
2020-03-19 13:54:17 -04:00
61ebf897e4 expand comment about MinGW cross-compiler hack 2020-03-19 13:31:23 -04:00
55b5753eea next batch of converted files. one more section to go. 2020-03-19 12:22:06 -04:00
84f89134d9 Merge branch 'master' into atc-doc-to-rst
# Conflicts:
#	doc/src/Errors_messages.rst
2020-03-19 11:28:02 -04:00
23509d0785 add missing entries for new pair styles 2020-03-19 11:09:41 -04:00
3d0fc4a112 update docs for updated CMake support with MinGW 2020-03-19 11:09:27 -04:00
38edf20d08 add CMake support for building LAMMPS for windows with MPI
- Handle the MPI support as an External project.
- Also we can enable a few more packages now, that depend on MPI
- Improved dependency tracking for parallel builds
- cross compiler build can now also work with ninja
2020-03-19 10:46:42 -04:00
b1af0a5bd8 add workaround in CMake support for building with MinGW cross-compilers 2020-03-19 09:00:36 -04:00
3bd529342e cross-compilation improvements 2020-03-19 09:00:36 -04:00
5fbb1fa331 small tweak to MinGW preset and correct corresponding entry in documentation 2020-03-19 09:00:36 -04:00
6c4a5a95e8 Merge pull request #1862 from akohlmey/restart-consistency
Add support to detect incomplete restart files and insufficient diskspace conditions
2020-03-19 08:51:57 -04:00
42cff9270c Merge branch 'master' into restart-consistency 2020-03-19 05:32:45 -04:00
245e200c48 Merge pull request #1945 from akohlmey/collected-small-changes
Collected small changes
2020-03-19 05:31:22 -04:00
b40bc3993d Merge branch 'master' into restart-consistency 2020-03-19 00:54:04 -04:00
53bc791b52 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2020-03-19 00:51:30 -04:00
1fd956a696 fix bug when allocating and freeing newly added data structures 2020-03-19 00:51:14 -04:00
9825cd2569 silence compiler warnings 2020-03-19 00:50:30 -04:00
f589cdb8c6 Merge branch 'master' into collected-small-changes 2020-03-19 00:29:08 -04:00
130113927b add new preset "intel" to enable Intel compilers. Tweak Clang settings 2020-03-19 00:22:41 -04:00
b44d3afafe next batch of converted files 2020-03-18 23:41:37 -04:00
17dd794514 Merge pull request #1891 from charlessievers/fix_numerical_differentiation
New fix to compute properties by numerical differences
2020-03-18 23:31:18 -04:00
78a2f86235 whitespace fixes 2020-03-18 23:13:19 -04:00
060e4ff346 integrate fix numdiff into manual and remove bogus false positive from spellcheck 2020-03-18 23:09:43 -04:00
72b70a041d small tweaks to align fix numdiff with the rest of the manual 2020-03-18 23:04:02 -04:00
71582c99ca rearrange pointer variables to a more logical location, quell compiler warning and initialize all pointer 2020-03-18 22:51:16 -04:00
842fe150eb update coul/slater docs to align with recent changes in upstream 2020-03-18 21:07:57 -04:00
7ee63a0025 small spelling update 2020-03-18 21:02:40 -04:00
2714fad178 Merge branch 'master' into collected-small-changes
# Conflicts:
#	doc/src/Build_development.rst
2020-03-18 20:59:16 -04:00
164bf1b60e Merge pull request #1883 from evoyiatzis/master
Coulomb pair style with smeared out charges (coul/slater)
2020-03-18 20:52:47 -04:00
2b39c9968f Merge pull request #1913 from jrgissing/molecule_template_moleculeIDs
Molecule template: molecule-IDs and fragments
2020-03-18 20:31:29 -04:00
3e36acc533 Merge branch 'master' into restart-consistency
# Conflicts:
#	doc/src/fix_halt.rst
2020-03-18 20:30:00 -04:00
a569027a14 trip some excess padding to make the pages waste less space on small screens 2020-03-18 20:25:26 -04:00
d1388b4ea8 Merge pull request #1941 from e-kwsm/typo
Fix typos in comments and output.
2020-03-18 20:24:06 -04:00
9fa4d27bdd Merge commit 'refs/pull/1948/head' of github.com:lammps/lammps into collected-small-changes 2020-03-18 19:02:33 -04:00
986e5b746e new doc edits for refactored AtomVec styles 2020-03-18 16:40:29 -06:00
572eeae549 Move LAMMPS version string to side bar 2020-03-18 18:09:55 -04:00
8b75fb2950 initialize the python interpreter instance with python->init() 2020-03-18 16:56:47 -05:00
7824b3f4ab small html theme tweaks to unclutter top of page. move version string to navigation bar 2020-03-18 17:52:19 -04:00
b6ce32f651 step version string for next patch release 2020-03-18 17:18:46 -04:00
2cefddb16c avoid spelling errors 2020-03-18 17:16:47 -04:00
b903cc6dc7 remove excessive details about how to compile with cmake. refer to cmake docs. 2020-03-18 17:12:36 -04:00
c28b9f100c remove unused and broken function 2020-03-18 15:38:29 -04:00
460dd662e4 next chunk of converted atc doc files 2020-03-18 11:39:53 -04:00
ca1e1e2dff Convert British spelling to American 2020-03-18 23:09:23 +09:00
6054f29933 update false positives 2020-03-18 07:03:32 -04:00
1db2538239 use "command" instead of "cmd" 2020-03-18 07:02:49 -04:00
280d5cc6ae replace "xxxn't" with "xxx not" 2020-03-18 07:02:34 -04:00
38b1bf9ba5 add links to ctypes, ipython, and jupyter 2020-03-18 07:01:06 -04:00
f1679cd58c update false positives 2020-03-18 06:37:51 -04:00
5992bd24e7 some more converted atc fix_modify docs 2020-03-18 06:29:17 -04:00
d7cade9d46 Merge branch 'master' into molecule_template_moleculeIDs 2020-03-17 23:08:00 -06:00
d8a948d9b7 correct spelling 2020-03-17 21:13:03 -04:00
5109b7f1b1 correct incorrect spelling correction 2020-03-17 20:45:52 -04:00
9ebd1e4572 convert british spelling to american 2020-03-17 20:41:49 -04:00
0e764a3a48 correct spelling correction 2020-03-17 20:37:33 -04:00
7f53cbc1a0 fix grammar issue 2020-03-17 20:33:37 -04:00
e000c46c8c correct spelling 2020-03-17 20:29:18 -04:00
da0acd2790 update spelling false positives 2020-03-17 19:28:30 -04:00
4a5125f450 make behavior of CMAKE_TUNE_FLAGS more consistent and allow to turn it off 2020-03-17 19:16:02 -04:00
c1268bd1ec remove dead code 2020-03-17 18:55:05 -04:00
1d8e9ca014 include gcc sanitizer libraries 2020-03-17 18:53:28 -04:00
66f730b895 setting const on return value has no effect 2020-03-17 18:53:10 -04:00
f1e03aefc6 updating the pair potential docs, adding reference to OpenKIM 2020-03-17 16:07:22 -05:00
dae2bce6b0 we can use error->all() and also check the coordinate conversion for valid data 2020-03-17 16:53:22 -04:00
a7d2847140 parse image flags only for valid numbers and requize imz == 0 for 2d-systems 2020-03-17 16:43:34 -04:00
6f6855e831 do not advertise multiple targets in cmbuild wrapper 2020-03-17 15:57:33 -04:00
f893f4f8c7 set host specific optimizations in CMAKE_TUNE_FLAGS, so they can be conveniently overridden 2020-03-17 14:48:20 -04:00
5779731da3 provide cmbuild wrapper script for cmake. document it and add some improvements to CMake build docs 2020-03-17 13:04:38 -04:00
2c282b693e flag two more subroutines can trigger the variable tracking message and slow down compilation 2020-03-17 12:33:23 -04:00
b692da3b01 include building tools in "most" preset 2020-03-17 00:57:30 -04:00
3d66167f64 Merge pull request #1940 from junghans/fix_external_project_ninja
cmake: handle download with ninja thanks to requiring cmake version 3.10.
Also enable building Fortran targets with ninja-build version 1.10 and later/
2020-03-17 00:36:56 -04:00
3da1e127bf updating the false_positives with names causing warning 2020-03-16 08:42:11 -05:00
2d3423a493 updating the Packages_details, KIM package 2020-03-16 08:19:13 -05:00
cfc9fe7e39 updating the Commands_all, adding kim_property command 2020-03-16 08:18:19 -05:00
f203258ad5 updating the Build_extras, KIM package 2020-03-16 08:17:27 -05:00
dc373dbdeb updating the kim_commands doc 2020-03-16 08:15:59 -05:00
05b273d731 kim_property command
A new KIM command to make it as easy as possible to write
material properties computed in LAMMPS to standard KIM
property instance format.
2020-03-16 08:11:58 -05:00
4cdb904e54 next chunk of converted html files 2020-03-16 07:34:56 -04:00
0b293080c9 MSCG.cmake: fix build (hopefully) 2020-03-15 19:51:04 -06:00
c0b39e654f make MSCG library build compatible with using ninja 2020-03-15 19:07:26 -04:00
a4335904b6 need to recheck for MPI after enabling fortran to have MPI_Fortran_LIBRARIES set 2020-03-15 18:37:39 -04:00
d25b73f76d also report fortran MPI libs, if configured 2020-03-15 18:36:57 -04:00
0b6ab1d15a need to forward some (more) cmake settings to external projects. simplify KIM handling of fortran support. 2020-03-15 17:47:30 -04:00
f536451968 cmake: add generator to summary 2020-03-15 13:46:11 -06:00
266a755938 CheckIfNinjaSupportsFortran.cmake -> CheckGeneratorSupport.cmake 2020-03-15 13:45:47 -06:00
241f30fd53 added missing CheckIfNinjaSupportsFortran.cmake 2020-03-15 13:34:38 -06:00
9cf1d37556 cmake: move fortran check for ninja in an include 2020-03-14 07:21:06 -06:00
d60901e777 Merge remote-tracking branch 'origin/cmake_remove_ninja_warning' into fix_external_project_ninja 2020-03-14 07:05:29 -06:00
d941130e6a USER-SCAFACOS.cmake: fix build with ninja 2020-03-14 07:04:58 -06:00
ad9415d260 USER-PLUMED.cmake: fix build with ninja 2020-03-14 06:59:04 -06:00
9d3ca87953 MSCG.cmake: fix build with ninja 2020-03-14 06:52:06 -06:00
f9e2a2d120 LATTE.cmake: fix build with ninja 2020-03-14 06:51:00 -06:00
d0ec427293 KIM.cmake: fix build with ninja 2020-03-14 06:49:57 -06:00
649a8cc01a Fix typo 2020-03-14 13:57:48 +09:00
6cc7ac65a5 VORONOI.cmake: fix ninja build 2020-03-13 20:46:14 -06:00
b3040db1e7 Merge branch 'master' into atc-doc-to-rst
# Conflicts:
#	doc/src/fix_atc.rst
2020-03-13 21:12:12 -04:00
7c6353731e Merge pull request #1938 from akohlmey/doc-remove-backslash-underscore
Remove unneeded escapes in documentation source files
2020-03-13 21:01:04 -04:00
f1cc6c6e57 Merge pull request #1928 from akohlmey/collected-small-fixes
Collected small fixes and updates for the next patch release
2020-03-13 19:44:04 -04:00
6805113780 some more typesetting improvements 2020-03-13 19:41:33 -04:00
6d9064f98f Revert "fix bug in pair styles lubricate and lubricate/poly"
This reverts commit e368ae9f22.
As it contradicts the comments in the code above the segment.
2020-03-13 18:41:37 -04:00
097a4fb52e Merge branch 'doc-lammps-highlights' of github.com:rbberger/lammps into doc-remove-backslash-underscore 2020-03-13 18:39:40 -04:00
cdec46ba6a Some more code-blocks instead of parsed-literal 2020-03-13 18:38:47 -04:00
e4d6214d3b reformat source 2020-03-13 18:08:47 -04:00
f11e431300 some updates to building with cmake 2020-03-13 18:07:49 -04:00
8063088149 fix a couple of settings 2020-03-13 18:07:32 -04:00
cf21affd38 Add special highlights for commands which use IDs 2020-03-13 17:31:08 -04:00
a946a3b1b2 Merge pull request #1936 from rbberger/doc-fixes
Documentation updates
2020-03-13 17:07:05 -04:00
0c0308db3e some more fixups 2020-03-13 17:02:59 -04:00
a990f1dc89 some minor fixups 2020-03-13 16:42:08 -04:00
0b88950e03 replace '\_' with '_' in plain text where possible 2020-03-13 16:34:57 -04:00
924629538f restore support for triclinic cells with pppm/intel by calling the corresponding functions in PPPM in that case 2020-03-13 16:01:00 -04:00
4e525f1d56 PPPM in USER-INTEL does not support triclinic cells 2020-03-13 15:30:52 -04:00
1554aef454 Avoid syntax highlighting in blocks that don't specify language 2020-03-13 15:25:11 -04:00
8b8f928347 update documentation 2020-03-13 12:19:16 -05:00
14bade977e implement diameter/disc option for 2d simulations 2020-03-13 10:59:11 -05:00
e368ae9f22 fix bug in pair styles lubricate and lubricate/poly
Closes #1933
2020-03-13 11:11:27 -04:00
80d413b86c add reference to the fix_modify command overview in fix atc docs into all atc subcommand docs 2020-03-13 11:06:11 -04:00
5a81f69495 next set of converted AtC documentation 2020-03-13 10:19:12 -04:00
3574673901 four more atc subcommand doc files converted 2020-03-13 05:15:35 -04:00
0548dbc729 a couple more inputs and some formatting tuning/tweaking 2020-03-12 22:41:23 -04:00
3708c9f3f1 fix spelling issues 2020-03-12 21:32:06 -04:00
4df25d9c0b four more subcommands converted 2020-03-12 21:27:44 -04:00
9f537f7f40 cmake: ninja-1.10 supports Fortran now 2020-03-12 14:34:46 -06:00
cbd8d07daf convert elementset AtC commands 2020-03-12 16:34:42 -04:00
0a21cdadb5 converted 4 more fix_modify atc commands 2020-03-12 15:49:05 -04:00
c139898f9f Convert a first set of AtC documentation html files to rst and add infrastructure files and links 2020-03-12 14:26:04 -04:00
fa7085be07 Merge pull request #1930 from giacomofiorin/remove-lepton-cxx11-check
Remove now unneeded check for C++11 in Lepton CMake build
2020-03-12 13:09:44 -04:00
437055f913 implement the scale keyword of fix adapt for diameter and charge 2020-03-12 11:11:38 -05:00
3b73b88b57 Merge pull request #1926 from akohlmey/doc-cleanup
Documentation cleanup
2020-03-12 11:49:54 -04:00
de6d1efe7a Remove now unneeded check for C++ standard in Lepton CMake build 2020-03-12 10:33:48 -04:00
010b1f7434 more conversion of parsed-literal to code-block and a bunch of other issues 2020-03-12 08:11:10 -04:00
e2b7054f74 include required header 2020-03-12 06:59:04 -04:00
4f0e9e2d26 some cleanup and consistency improvements in MESSAGE package code and docs 2020-03-12 06:51:06 -04:00
524b37598f correct various misspelled words and remove corresponding false positives 2020-03-12 06:25:42 -04:00
1372c20d94 Merge branch 'DOI' of github.com:e-kwsm/lammps into doc-cleanup 2020-03-12 05:43:44 -04:00
8af9d40392 Update DOI resolver
https://www.doi.org/doi_handbook/2_Numbering.html#htmlencoding
2020-03-12 16:53:24 +09:00
23a402ddd3 convert all remaining compute styles to use code-block instead of parsed literal 2020-03-12 01:56:13 -04:00
c6f846b925 converter tool for inlining external math is no longer needed 2020-03-12 01:20:30 -04:00
7e656b6cea convert more LAMMPS script examples to use code-block instead of parsed-literal 2020-03-12 01:11:38 -04:00
2775ebeb9d update trilinos URL 2020-03-12 00:47:00 -04:00
8a799c4b5f update cslib URLs to use https:// 2020-03-12 00:46:50 -04:00
30817162b9 update moltemplate URL to https:// 2020-03-12 00:42:23 -04:00
2c3d196ce8 remove broken link 2020-03-12 00:41:57 -04:00
3317f90940 update plumed URLs to use https:// 2020-03-12 00:32:44 -04:00
b961aa0542 update lammps.sandia.gov URLs to use https:// 2020-03-12 00:28:28 -04:00
6dd9a507ef update PyMol URLs 2020-03-12 00:21:20 -04:00
23569e67a0 update Ensight URL 2020-03-12 00:20:59 -04:00
e58aeebcce update URLs for pizza.py homepage 2020-03-12 00:13:58 -04:00
667c9f2a9f update AtomEye related URLs 2020-03-12 00:08:57 -04:00
cf48a0f01d use the name MacOS consistently 2020-03-11 19:32:43 -04:00
ddf14763f7 port diskfree detection in fix halt for MacOSX 2020-03-11 19:28:58 -04:00
e4489f58ca make forward declaration consistent with KIM-API code 2020-03-11 19:05:04 -04:00
d0f57289fc finish updating docs for fixes using code-block plus a few other improvements 2020-03-11 12:58:57 -04:00
5029bc9e1e more conversions from parsed-literal to code-block 2020-03-11 10:19:19 -04:00
8546bb51bf Layout images so they show up side-by-side in html and pdf and adapt to screen/paper size 2020-03-11 10:18:48 -04:00
e24feab5aa whitespace fix 2020-03-11 09:08:40 -04:00
68e5a18070 must try suffixes when recreating pair hybrid substyles from a restart 2020-03-11 08:45:35 -04:00
43a6c13f01 change 'groups' to 'fragments' 2020-03-10 21:11:34 -06:00
33996d9bac Merge pull request #1923 from akohlmey/collected_small_fixes
Collected small fixes for the next patch
2020-03-10 19:38:40 -04:00
b4919756d4 Fixed up delta note 2020-03-10 16:58:47 -06:00
a1188c035b Merge branch 'master' of https://github.com/charlessievers/lammps into fix_numerical_differentiation 2020-03-10 16:14:20 -06:00
7dafec1700 Removed misleading doc information and included errors 2020-03-10 16:12:02 -06:00
da2e6b2389 small cleaning 2020-03-10 21:55:17 +01:00
1f4725d652 replace parsed-literal with code-block where appropriate. typeset keywords in cursive 2020-03-10 16:54:04 -04:00
2d329a8b76 typeset symbols in water model howtos 2020-03-10 16:20:52 -04:00
ae9255e057 collapse multiple empty lines into a single empty line 2020-03-10 15:56:11 -04:00
e643e88913 remove trailing whitespace from documentation sources 2020-03-10 15:51:06 -04:00
e9f5b8246a whitespace fixes 2020-03-10 15:18:00 -04:00
5ffc12ffc0 Merge remote-tracking branch 'github/master' into collected_small_fixes 2020-03-10 15:16:07 -04:00
b9ff623c16 Merge pull request #1920 from jguenole/fire-debug
fire bug fix to avoid crashes due to lost atoms
2020-03-10 15:08:58 -04:00
7b7ca000b3 Merge pull request #1922 from weinbe2/snap-scratch
SNAP optimizations - hierarchical parallelism, scratch memory, data layout transformations
2020-03-10 15:07:46 -04:00
be037e222c Update pair_coul_slater.rst 2020-03-10 16:21:15 +01:00
9d7b15631d Add contributing author 2020-03-10 09:20:54 -06:00
30e997df69 Update false_positives.txt 2020-03-10 16:20:42 +01:00
4e31d622ce Whitespace and comment cleanup 2020-03-10 09:11:29 -06:00
f73e21f2ca Update false_positives.txt 2020-03-10 16:05:25 +01:00
b477d8920b Update pair_coul_slater.rst 2020-03-10 15:42:32 +01:00
8332afd2b2 one more spelling error 2020-03-10 15:27:51 +01:00
866899da21 correct spelling error in equation 2020-03-10 15:18:04 +01:00
35a63e21a0 Update pair_coul_slater.rst 2020-03-10 14:34:40 +01:00
4f917fff43 increase the Title underline 2020-03-10 11:51:17 +01:00
66c019e78b more explicitly describe how force/virial depend on random numbers 2020-03-10 06:43:13 -04:00
7959e3ff81 Move rst file to the correct location 2020-03-10 11:26:52 +01:00
6fb84eba32 Update false_positives.txt 2020-03-10 10:47:54 +01:00
3092ee89d3 Update Commands_pair.rst 2020-03-10 09:55:04 +01:00
6fb42a42b8 check for I/O error before closing restart file 2020-03-09 17:42:00 -04:00
cf64ba4059 whitespace cleanup 2020-03-09 16:31:53 -04:00
69a206f720 add diskfree check to fix halt 2020-03-09 16:23:20 -04:00
072ce8947b list errors and warnings from fix halt 2020-03-09 16:23:02 -04:00
50c75b3538 Merge branch 'master' into restart-consistency 2020-03-09 13:41:35 -04:00
903e33d86e Added atom map into example, enforce atom map added to fix_numdiff, added error statement to fix_numdiff.h 2020-03-09 10:33:04 -06:00
d2986b7495 update CMake presets 2020-03-09 11:04:26 -04:00
a0fb7c812c Merge branch 'master' into collected_small_fixes 2020-03-09 10:53:42 -04:00
3be6347ad4 Merge pull request #1924 from akohlmey/rename-user-meso
Rename USER-MESO package to USER-MESODPD
2020-03-09 10:53:22 -04:00
740717d114 add false positives 2020-03-09 10:00:14 -04:00
a6086c279b rename USER-MESO package to USER-MESODPD and update related files and folders 2020-03-09 09:48:49 -04:00
536e7a969a silence compiler warning and provide extra comment about optimization 2020-03-09 09:17:49 -04:00
45902772b7 Merge branch 'minimizer' of github.com:yafshar/lammps into collected_small_fixes 2020-03-09 09:15:40 -04:00
73186e4d26 correction to molecule-ID-increment logic 2020-03-08 16:06:49 -06:00
d717eeba66 Update molecule.rst 2020-03-07 22:57:44 -07:00
2304cdd30d let fix pour know about molecule template molecule IDs 2020-03-07 21:58:47 -07:00
21ae5ac533 groups in molecule templates: docs 2020-03-07 20:03:33 -07:00
475b7dc4f4 provide access to number of local data rows for fixes 2020-03-07 10:58:35 -05:00
6f1d913e7e simplify library interface code to extract peratom or local data from computes 2020-03-07 10:57:51 -05:00
943540b015 bugfix for extracting length of local data through python interface 2020-03-07 10:19:03 -05:00
b77837e3b0 documentation file for the coul/slater styles 2020-03-07 12:40:39 +01:00
337cee7b49 add groups to molecule templates 2020-03-06 22:51:42 -07:00
21e4d92507 another memory correction 2020-03-06 22:49:23 -07:00
1110124627 let 'fix deposit' know about molecule template molecule IDs 2020-03-06 22:04:16 -07:00
5c003b8db2 let create_atoms know about molecule template molecule IDs 2020-03-06 21:38:01 -07:00
e71d298f65 molecule template molecule IDs: error docs 2020-03-06 20:40:34 -07:00
bdbbe00ec7 Merge branch 'master' into feature-cnt 2020-03-06 18:41:38 -05:00
8c580c1d47 Merge pull request #1 from lammps/master
update fork to the state of the current master
2020-03-06 18:39:09 -05:00
a3eee419a1 minor optimization, avoiding double computation and extra communication 2020-03-06 09:01:28 -06:00
ddc36973f0 final reference info 2020-03-06 14:55:52 +01:00
a70aac2f24 Merge pull request #74 from lammps/master
rebase
2020-03-05 22:49:41 -07:00
980ef8095a include USER-REACTION in "most" preset 2020-03-05 22:57:17 -05:00
bc8fa088be Merge pull request #1822 from jrgissing/bond/react-new-examples-and-package
Bond/react: new examples and repackage
2020-03-05 22:49:53 -05:00
21f2ec3a25 Merge branch 'master' into bond/react-new-examples-and-package 2020-03-05 20:08:19 -07:00
8c48a27c1d fix another display issue in pair style srp docs 2020-03-05 15:39:13 -05:00
c38380afc2 bugfix and small tweak for pair style srp docs 2020-03-05 15:36:15 -05:00
1fb54c307c Merge pull request #1918 from akohlmey/collected-small-fixes
Collected small fixes for the next patch
2020-03-05 15:16:50 -05:00
54a37aa4ef fix spelling issue 2020-03-05 14:43:22 -05:00
0fba0b1bc1 handle empty build type 2020-03-05 14:39:40 -05:00
5a3a5d86d4 reduce compiler warnings and avoid clash with KOKKOS 2020-03-05 14:27:33 -05:00
606eaf61f7 Merge branch 'master' into fix_numerical_differentiation 2020-03-05 09:58:50 -07:00
36ec95c2f5 fixed typo in numdiff example input 2020-03-05 09:55:25 -07:00
fb3a8f5bb1 Merge pull request #1909 from giacomofiorin/colvars-update
Update Colvars to version 2020-02-27
2020-03-05 10:18:01 -05:00
b0c6641f1b tweak compiler flags for Intel and GNU 2020-03-05 10:16:38 -05:00
1642bf5afc always skip deprecated C++ MPI interface 2020-03-05 10:16:21 -05:00
2e8aeaef46 remove mentioning external tex files from contribution guide 2020-03-05 09:21:01 -05:00
d0160cc208 Merge pull request #1915 from akohlmey/cpp-11-cmake-3.10
Require C++11 and CMake 3.10
2020-03-05 09:14:46 -05:00
1ee67c20d9 comments 2020-03-05 11:57:01 +01:00
ca89c460bf remove space 2020-03-05 11:49:02 +01:00
022dd4a4e4 special v evaluation to limite dtv each time v is zeroed 2020-03-05 11:39:48 +01:00
27fdbfa8a1 minor modification of halfstepback with correct dt 2020-03-05 10:49:39 +01:00
ae045e4445 indented note block in fix_num_diff.rst 2020-03-04 19:48:12 -07:00
02bdccbae1 added yyy to false positives 2020-03-04 19:45:13 -07:00
be138d368e Merge branch 'master' into fix_numerical_differentiation 2020-03-04 19:11:39 -07:00
968f44601c Updated doc page with delta info and simplified example 2020-03-04 19:08:57 -07:00
6786efa224 Merge commit 'refs/pull/1916/head' of github.com:lammps/lammps into collected-small-fixes 2020-03-04 17:04:45 -05:00
14d17b3513 clean the superfluous newline
I believe this newline in the document is superfluous.
2020-03-04 16:41:27 -05:00
60bba3e238 Fix var name 2020-03-04 13:09:25 -07:00
ec87a51a61 put C++11 compliance check into CMake 2020-03-04 14:52:38 -05:00
7bbf070757 document new C++ and CMake requirements in manual 2020-03-04 14:37:51 -05:00
72a9ce0f32 Add loop chunking option to compute_orientorder_atom_kokkos 2020-03-04 12:31:37 -07:00
ab51ae854e require C++11 to compile LAMMPS 2020-03-04 14:28:47 -05:00
a972850b39 require CMake version 3.10. remove tests for older versions. 2020-03-04 14:28:33 -05:00
e9544218e6 some corrections to the building the manual documentation 2020-03-04 14:14:12 -05:00
3ca93f10b3 don't run atof() on a NULL pointer in case a potential file has an empty line 2020-03-04 14:00:52 -05:00
21f278f47f Merge branch 'master' of github.com:lammps/lammps into kk_compute_orientorder_atom 2020-03-04 09:08:53 -07:00
b55a6b0fd1 memory correction 2020-03-03 23:28:27 -07:00
cd61cfe8c7 SNAP optimizations, taking advantage of improved data layouts, scratch memory, and hierarchical parallelism. 2020-03-03 13:02:04 -05:00
6354777d09 Merge pull request #1914 from akohlmey/next_lammps_version
Step version string for next patch and stable version
2020-03-03 10:27:12 -05:00
a739b8c6b7 Commit JT 030320
- modified fix/precession for correct mag energy calc.
- reran all benchmark / examples in serial for verif
- to do: rerun mpi examples, and clean code
2020-03-03 07:32:13 -07:00
3eeb7547b5 step version string for next patch and stable version 2020-03-03 07:25:18 -05:00
c5ee78ca1d Merge pull request #1910 from akohlmey/documentation-fixes
Some more conversions and corrections for the LAMMPS manual
2020-03-03 06:25:44 -05:00
7d598ba8d7 synchronize list of hardware architectures supported by KOKKOS with list in cmake file 2020-03-03 03:33:23 -05:00
7f84de17bd Merge pull request #1912 from migueldiascosta/epyc_kokkos_arch
add EPYC to KOKKOS_ARCH_LIST
2020-03-03 03:32:03 -05:00
a4a5d24a69 add link to github support for subversion clients 2020-03-03 03:19:25 -05:00
0723bf3db7 setup issues with fix numdiff 2020-03-02 13:32:05 -07:00
9339bb085f Update molecule.rst 2020-03-02 01:06:42 -07:00
90bfa6b783 add molecule IDs to molecule templates
for when more than one molecule per file
2020-03-02 00:53:19 -07:00
8636e86f38 Merge pull request #70 from lammps/master
rebase
2020-03-01 22:39:08 -07:00
8f608f6a35 lo-level -> low-level 2020-03-01 10:30:06 -05:00
ff614957c6 encode some more mathematical expressions and symbols 2020-03-01 09:25:20 -05:00
2455e35fd8 typeset mixing rules with embedded math 2020-03-01 08:51:29 -05:00
8765b14377 add EPYC to KOKKOS_ARCH_LIST 2020-03-01 13:45:06 +08:00
8662733dcd convert the remainder of raw html typesetting in pair style smtbq 2020-02-29 14:45:39 -05:00
228a0bfa2e replace hi- with high- 2020-02-29 11:37:47 -05:00
6f47f110f1 use k_B consistently, fix some more math. convert some transcriptions to math 2020-02-29 11:37:31 -05:00
07fc624509 typeset reduced units 2020-02-29 06:41:28 -05:00
66a0e27edf some more cases where we can use embedded math 2020-02-29 04:57:44 -05:00
0e58c1b299 fix issues with restoring box-shifted coords 2020-02-28 12:55:27 -07:00
aaed572b01 Merge branch 'fix_numerical_differentiation' of github.com:charlessievers/lammps into charlie 2020-02-28 12:53:28 -07:00
cdb4275ced fix issue with restoring box-shifted atom coords 2020-02-28 12:53:04 -07:00
e6c9efe6bf convert lists to tables for more compact presentation 2020-02-28 18:52:13 +01:00
f02b2485fa tweak command overview table width so it is readable in PDF 2020-02-28 18:51:52 +01:00
71c11c32e3 replace more raw html code and add syntax highlighting 2020-02-28 18:00:43 +01:00
19d334908b replace raw html with embedded math expressions and fix related issues 2020-02-28 17:39:57 +01:00
7be004512f Update Colvars to version 2020-02-27
This update contains several small new features or usability improvements.
    Descriptions and authorship information can be accessed from the pull
    requests listed below.

    Allow setting sigma parameter directly for metadynamics
    https://github.com/Colvars/colvars/pull/325

    Remove default values for lowerWall and upperWall legacy keywords
    https://github.com/Colvars/colvars/pull/324

    biasActualColvar option to bypass extended-Lagragian for a bias
    https://github.com/Colvars/colvars/pull/321

    Flexible restart-reading
    https://github.com/Colvars/colvars/pull/320
2020-02-27 19:55:31 -05:00
03985454ed some more formatting and math conversion improvements 2020-02-27 18:18:49 -05:00
fbee5966f6 added cstring back to includes 2020-02-27 14:42:31 -07:00
7a720ee9cf removed cstring from includes and fixed style warnings 2020-02-27 13:54:29 -07:00
d242051c8e Merge pull request #1898 from akohlmey/next_lammps_version
Update version info for next release candidate
2020-02-27 14:38:08 -05:00
10fa9aa074 added cstring to includes 2020-02-27 11:37:02 -07:00
35f4a62566 Change final displace atom to reset atom to save on memory and computation 2020-02-27 11:31:33 -07:00
6e7e365981 Merge pull request #1888 from lammps/release-preparation
Documentation and Build script and Info updates for stable release
2020-02-27 13:23:08 -05:00
236535f61b fixed include, fixed numdiff forces getting called before initialization 2020-02-27 10:48:46 -07:00
3c277409c2 switch parsed-literal to code-block in Howto files where applicable 2020-02-27 12:45:14 -05:00
669a49e994 Merge pull request #1908 from stanmoore1/kk_finalize
Finalize Kokkos on error exit
2020-02-27 12:05:17 -05:00
67bfda532f mods to fix numdiff 2020-02-27 09:52:23 -07:00
06ede499c1 use only the LAMMPS logo in the navigation bar 2020-02-27 11:36:00 -05:00
eb8531062c Merge branch 'doc-updates' of github.com:rbberger/lammps into release-preparation 2020-02-27 11:26:15 -05:00
25ec8d36a8 Final batch of index cleanup and code-blocks 2020-02-27 11:08:04 -05:00
704207f3c8 Finalize Kokkos on error exit 2020-02-27 08:51:02 -07:00
d89db2ac2a files generated by the in.slater example script 2020-02-27 16:03:07 +01:00
7849de15b0 Create in.slater 2020-02-27 16:01:38 +01:00
2d2cb46dc0 move release date 2020-02-27 08:58:09 +01:00
1bb38ed09b Merge commit 'refs/pull/1903/head' of github.com:lammps/lammps into release-preparation 2020-02-27 01:15:17 -05:00
fe1ac99ae7 bond/react: docs tweak 2020-02-26 20:08:58 -07:00
c31917186e Tweak error message 2020-02-26 14:34:42 -07:00
9ef5949798 Second batch of index cleanup and code-blocks 2020-02-26 16:31:05 -05:00
eb80fd3031 Add method to copy Kokkos neighbor list to CPU list 2020-02-26 14:26:46 -07:00
3563d2f10d remove references to html-offline and only produce the offline viewable html manual 2020-02-26 16:01:03 -05:00
7bd3215226 Merge pull request #1894 from stanmoore1/kk_snap_chunk
Make Kokkos pair SNAP chunksize variable user-settable
2020-02-26 15:27:37 -05:00
ba560bc99e Merge pull request #1905 from akohlmey/compute-pair-neigh-request
Correct compute entropy/atom to work with "avg" flag enabled
2020-02-26 14:23:57 -05:00
275626a1de re-enable perpertual neighborlist for compute entropy/atom if avg flag is used only 2020-02-26 13:57:11 -05:00
49b07a2360 Keep original chunksize value set by user in case atom count changes 2020-02-26 09:42:59 -07:00
a828facbd8 Merge pull request #1900 from akohlmey/couple-lammps-plugin
Example for loading LAMMPS as a plugin from a shared library
2020-02-26 10:40:24 -05:00
37e6fd1bae Merge pull request #1901 from stanmoore1/compea_neigh
Change compute entropy/atom to use occasional neigh list
2020-02-26 10:39:37 -05:00
de9691a751 Update README 2020-02-26 14:06:38 +01:00
04e48999b2 Delete pair_coul_slater_cut.h
move this file to USER-MISC
2020-02-26 14:04:12 +01:00
895f7aa46d Delete pair_coul_slater_cut.cpp
move this file to USER-MISC
2020-02-26 14:03:43 +01:00
5be0f1525a source files for pair coul/slater
Source files for long- and short-range coulombic interactions which are smeared with an exponential function (slater-type of smearing)
2020-02-26 14:02:53 +01:00
dcb83d41af Merge pull request #1899 from agiliopadua/thole
Added safeguard to thole pair styles
2020-02-26 07:44:04 -05:00
e766518062 Merge pull request #1896 from pmla/user-ptm-group-fix
Apply compute group correctly for compute ptm/atom
2020-02-26 07:28:01 -05:00
f81b963a8a more strict argument checking and initializing output data to zero 2020-02-26 13:12:39 +01:00
c92378eaca add explanation of use of group2 and document effect of compute group 2020-02-26 13:12:14 +01:00
526c9a548f need to set single_enable to 0 after single() was removed 2020-02-26 12:58:10 +01:00
91c31da576 remove trailing whitespace 2020-02-26 12:52:21 +01:00
49873f765c Added comment to credit myself 2020-02-25 16:53:04 -07:00
f18f2537e6 Updated error/warnings section 2020-02-25 16:35:54 -07:00
b0eb940b05 Added numdiff to false positives 2020-02-25 16:30:13 -07:00
72891aacb2 Fixed groups not working 2020-02-25 16:23:35 -07:00
809d481fd1 Merge branch 'master' of https://github.com/charlessievers/lammps into fix_numerical_differentiation 2020-02-25 15:35:53 -07:00
13bff07606 Added documentation, added an example, avoided position round off, added in compute_pe's compute_scalar, now fix produces per-atom array instead of global array 2020-02-25 15:32:37 -07:00
8e1928aa65 First batch of index cleanup and code-blocks 2020-02-25 14:46:22 -05:00
e87b3a21c2 complete documentation for LAMMPS plugin coupling example 2020-02-25 14:10:55 -05:00
e083f38c59 Merge pull request #1892 from sef43/master
temper timeout synchronization fix
2020-02-25 13:26:30 -05:00
958d5ca05b Merge pull request #1897 from akohlmey/user-sdpd-atom-style-check
Add check for required atom properties in USER-SDPD
2020-02-25 13:26:00 -05:00
4180b4a7d6 add example to COUPLE folder demonstrating loading LAMMPS as a plugin. 2020-02-25 19:07:49 +01:00
eb51511ddf Change compute entropy/atom to use occasional neigh list 2020-02-25 10:48:00 -07:00
928ac7f271 Fix typo 2020-02-25 10:34:29 -07:00
a44e49e276 Add Kokkos version of compute coord/atom 2020-02-25 10:22:30 -07:00
a3c5c49a6b Make k_qnarray public 2020-02-25 10:20:21 -07:00
1fc4dc151f typo 2020-02-25 18:11:31 +01:00
7acba4584d added group2ID 2020-02-25 18:05:36 +01:00
1a2a9f2209 small correction/simplification of the linking to LAMMPS library examples 2020-02-25 17:36:37 +01:00
96d04b8a6c Update LAMMPS lexer for docs 2020-02-25 11:30:20 -05:00
00137765a8 Delete fix_propel_self.h 2020-02-25 17:17:13 +01:00
cdfb1d5026 Delete fix_propel_self.cpp 2020-02-25 17:16:59 +01:00
59370d797f Use more generic type for k_qnarray 2020-02-25 08:58:01 -07:00
6956dc1a33 Added safeguard to thole pair styles 2020-02-25 16:50:49 +01:00
26f11f19a7 update LAMMPS version string 2020-02-25 15:04:56 +01:00
3168c1116f fixed group selection 2020-02-25 14:16:21 +01:00
bf62646977 add check for required atom properties to USER-SDPD 2020-02-25 14:08:55 +01:00
8d427b54ec small tweaks 2020-02-25 00:42:57 -05:00
c505058c5c Add flag for Kokkos computes 2020-02-24 15:43:29 -07:00
11cda92ebb add some false positives 2020-02-24 17:19:29 -05:00
4ed1b4c3c7 Moved the chunking keyword to pair_snap.rst 2020-02-24 15:09:51 -07:00
003ef9d98a add missing table 2020-02-24 17:03:06 -05:00
bf4ad9ddd7 remove unused equation file 2020-02-24 16:45:42 -05:00
351bca4ccb convert pair style bop to class2 2020-02-24 16:43:40 -05:00
3aa6f39425 convert pair styles colloid to dipole 2020-02-24 16:19:24 -05:00
02e287bf51 convert pair styles dpd to exp6 2020-02-24 15:41:16 -05:00
29075c8257 Fix compile issue 2020-02-24 13:31:13 -07:00
796e1ac4e9 Update docs 2020-02-24 13:29:22 -07:00
dd3d5f1f95 Merge branch 'master' of github.com:lammps/lammps into kk_compute_orientorder_atom 2020-02-24 13:28:06 -07:00
674781fe0e Add Kokkos version of compute orientorder/atom 2020-02-24 13:27:40 -07:00
7ee39416b4 Small doc tweak 2020-02-24 13:08:31 -07:00
406ead64b5 Update docs 2020-02-24 13:04:34 -07:00
1b7a8d8875 Make Kokkos pair_snap chunksize user-settable 2020-02-24 12:53:01 -07:00
9955c8f94b convert pair styles gauss to gromacs 2020-02-24 13:30:58 -05:00
8774ec04a9 convert pair styles hbond to lebedeva 2020-02-24 12:01:22 -05:00
6139617458 convert remaining lj pair styles 2020-02-24 10:50:31 -05:00
d00f8fcd0a convert pair styles local/density to meam/c 2020-02-24 09:21:08 -05:00
0b10c0ac60 convert math in more pair styles 2020-02-24 07:46:51 -05:00
54b7480478 convert pair styles sdk to soft 2020-02-23 16:33:37 -05:00
eaeb9cad33 trim the lammps logo a little bit 2020-02-23 15:01:10 -05:00
0cc3f234dc convert math in spin and sph pair styles 2020-02-23 15:00:43 -05:00
d9a7edcf1a Merge commit 'refs/pull/1893/head' of github.com:lammps/lammps into release-preparation 2020-02-23 13:38:26 -05:00
607604d38c Added oxrna2 information 2020-02-23 17:36:57 +00:00
f1ad4ed66b update the internal timeout clock across replica when we stop parallel tempering 2020-02-23 05:09:25 -05:00
c3fc680ccd apply timeout bugfix to temper variants in USER-MISC 2020-02-23 05:04:21 -05:00
d226f5d02c cosmetic changes 2020-02-23 05:03:50 -05:00
31165082c1 change pseudo external link to internal link. provide links to the command subpages 2020-02-22 18:41:36 -05:00
35483a95cd temper timeout synchronization fix 2020-02-22 23:39:59 +00:00
ac639fe629 replace parsed-literal with code-block where applicable. improve typesetting 2020-02-22 13:50:35 -05:00
cdf795652a fix typesetting issues 2020-02-22 13:50:15 -05:00
ca650ba43f add some missing dependencies 2020-02-22 13:49:57 -05:00
6b79b1f978 use table_from_list in Packages_details and check for completenes there, too 2020-02-22 13:25:21 -05:00
b1757bb26c make names/lables more consistent and avoid reference errors in sphinx 2020-02-22 13:24:23 -05:00
e8d1288527 added script to check for missing packages in package tables in manual 2020-02-22 11:46:31 -05:00
ffabee6ae5 move logo symlink 2020-02-22 10:43:58 -05:00
57711f0dcb improve layout and logical structure. add references 2020-02-22 10:39:15 -05:00
44a54324c1 more typesetting updates 2020-02-22 07:40:31 -05:00
a915397668 more code-blocks 2020-02-22 06:14:52 -05:00
09ef55ac26 include small logo image in navigation bar. update copyright date 2020-02-22 06:14:39 -05:00
4ff0279bde remove references and docs about using subversion to download LAMMPS 2020-02-22 05:49:30 -05:00
ff316aa4d0 replace more parsed-literal with code-block sections 2020-02-22 05:42:05 -05:00
f9b451de32 fix spell check 2020-02-22 04:32:26 -05:00
60cb4416f0 add ability to build an offline viewable html format manual in html-offline 2020-02-22 02:27:18 -05:00
09d0df43e2 Commit JT 022120
- added message for only one precession/spin (+doc)
- added a per pair/spin class emag table
2020-02-21 17:53:14 -07:00
59ed320bef more small improvements and additions 2020-02-21 16:52:44 -05:00
6b96dedf75 fix grammar issue 2020-02-21 16:04:00 -05:00
926dbed70a fix spelling issue 2020-02-21 15:25:55 -05:00
b4c65a645e fix some minor style issues 2020-02-21 15:12:53 -05:00
bf3e7237c3 replace dir with directory where appropriate 2020-02-21 15:08:18 -05:00
361f7bb0fd Commit JT 022120
- added precession_spin management in compute_spin
- to do: add it for pairs
- make sure users only declare 1 precession/spin
2020-02-21 12:07:42 -07:00
c144918441 fix typo in markup resulting in broken link 2020-02-21 13:39:31 -05:00
f0e8e3aab8 small cleanup 2020-02-21 13:36:15 -05:00
7186b4795b remove \begin{equation} \end{equation} which are not needed and break epub 2020-02-21 13:21:59 -05:00
0ede04be6c more build docs refactoring, correcting, and expanding 2020-02-21 10:40:18 -05:00
404b4cf299 update and expand the description of building the LAMMPS documentation 2020-02-21 08:10:30 -05:00
95de4f38c9 Edit includes 2020-02-20 23:35:47 -07:00
f0cf7ba3c0 First draft of numerical difference fix 2020-02-20 23:15:53 -07:00
e2f2ec3031 fix minor grammar issues in colomb pair style docs 2020-02-20 18:37:29 -05:00
b9a9bebd37 delay change_box error check on per-atom restart data existing 2020-02-20 12:48:44 -07:00
c6b5606c24 more cosmetic changes and replacing "dirs" with "directories" 2020-02-20 18:20:00 +01:00
1c8b7022a3 update documentation for the conventional build 2020-02-20 17:33:57 +01:00
0db0d5408a update instructions for in qmmm README to cover both build systems and include more details 2020-02-20 16:59:06 +01:00
febb381880 updates and corrections to building LAMMPS as a library and using the USER-QMMM package 2020-02-20 14:58:02 +01:00
5a8eaed13b Update handling of USER-QMMM package in CMake scripts. minor cosmetic changes 2020-02-20 14:39:53 +01:00
dcd9b7c891 replace two tables with code-block sections 2020-02-20 02:12:32 -05:00
a5ab3b13c5 cleaner typesetting 2020-02-19 16:15:35 -05:00
75a43398d9 replace more "parsed-literal" with "code-block" in build docs 2020-02-19 16:11:42 -05:00
a9dc629489 replace non-printable ASCII characters 2020-02-19 15:34:58 -05:00
aa5b870f7e use "code-block" instead of "parsed-literal" 2020-02-19 15:32:58 -05:00
91ad19754c correct, expand, and clarify documentation for linking with LAMMPS as a library 2020-02-19 18:14:57 +01:00
94d1aa45bb add "make mode=print <machine>" to print out compiler and linker flags and libs for any available makefile 2020-02-19 18:11:34 +01:00
8a52e5dbe7 fix logic error in generic Install.py script when a Makefile.lammps is missing 2020-02-19 18:10:32 +01:00
7434267f57 Merge pull request #1886 from mariellaippolito/master
Updates to qmmm package
2020-02-18 11:00:39 -05:00
be847dc12d Merge pull request #1885 from akohlmey/remove-cpp11-check
Remove C++11 check for stable release
2020-02-18 10:59:56 -05:00
012dce93a0 Update package build docs for building the USER-QMMM package 2020-02-18 15:12:31 +01:00
cc3a7c37cb more lib compilation updates 2020-02-18 11:16:08 +01:00
36458a95b7 Updated 2020-02-18 10:59:51 +01:00
387a283157 more lib compilation updates 2020-02-18 10:55:13 +01:00
82b57bd3b8 Upfated Makefile.foo inside lib/qmmm 2020-02-18 10:47:04 +01:00
9c507e6b81 Update Packages_details.rst 2020-02-17 21:53:14 -07:00
49e82e738d Update false_positives.txt 2020-02-17 21:50:54 -07:00
8b92252981 update user-misc readme 2020-02-17 21:42:22 -07:00
ec887b37da Merge branch 'master' of https://github.com/lammps/lammps into bond/react-new-examples-and-package 2020-02-17 21:34:20 -07:00
02dde6e35f Merge pull request #67 from lammps/master
rebase
2020-02-17 21:04:27 -07:00
a7878096f0 Commit2 JT 021720
- small change in energy
- to do: check w and rework F
2020-02-17 17:35:59 -07:00
994e1318dd Commit JT 021720
- initial commit
- added corrected Neel, new E and w calc.
2020-02-17 16:59:01 -07:00
960553db58 remove C++11 check for stable release 2020-02-17 15:09:24 -05:00
ad125bf36a Merge pull request #1881 from akohlmey/next_lammps_version
Update version string for next patch release
2020-02-17 14:53:17 -05:00
fe6f6b3002 Merge pull request #1869 from akohlmey/doc-continued-refactoring
More documentation refactoring for embedding math expressions
2020-02-17 13:06:07 -05:00
f9bee338dd Merge pull request #1875 from akohlmey/collected-small-fixes
Collected small bug fixes and updates
2020-02-17 11:40:27 -05:00
f69c6196a0 Merge branch 'master' into doc-continued-refactoring
# Conflicts:
#	doc/src/compute_fep.rst
2020-02-17 17:37:10 +01:00
c8561ecef0 Merge pull request #1879 from akohlmey/user-plumed-update
Update USER-PLUMED to include support for version 2.6.0. Fix bug in API check
2020-02-17 11:32:10 -05:00
d01b0ed543 Merge pull request #1882 from agiliopadua/docs
Convert documentation of compute_fep, pair_fep_soft, pair_nm to mathjax
2020-02-17 11:31:43 -05:00
b30670d405 correct some grammar and style issues in describing using/building LAMMPS on windows 2020-02-17 10:27:57 +01:00
4a2f05d333 convert pair styles srp to tersoff 2020-02-16 13:42:37 -05:00
3f5bb96aed pair ufm to pair zbl 2020-02-15 16:47:32 -05:00
a508138510 convert wall fixes to embedded math 2020-02-15 12:13:32 -05:00
213bd9de3e Merge pull request #1 from evoyiatzis/evoyiatzis-slater
smeared charges for DPD
2020-02-15 17:47:45 +01:00
60305df69d source code for slater-type electrostatics 2020-02-15 17:40:12 +01:00
b25f781071 convert docs for more fixes 2020-02-15 11:35:21 -05:00
0e2604fc80 Convert documentation of compute_fep and pair_fep_soft to mathjax 2020-02-15 16:19:39 +01:00
fd8cd6faa5 typeset hyperdynamics fix docs with embedded math 2020-02-15 06:50:04 -05:00
b0de48e47f convert some more fixes 2020-02-15 02:31:50 -05:00
f4b64e8d91 fix typo in comment 2020-02-14 18:29:11 -05:00
07c5adc57a we need more specific matches to correctly handle TIME and TIMESTEP items 2020-02-14 16:07:34 -05:00
381ac888c8 initialize cut_respa to NULL in constructor to avoid uninitialized access 2020-02-14 15:51:38 -05:00
9bff431553 make sure coulomb tables are initialized in all coul/long GPU pair styles 2020-02-14 15:50:49 -05:00
0b57549f4c must generate coulomb tables with pair style lj/class2/coul/long/gpu 2020-02-14 15:34:12 -05:00
c23f164639 Increase portability to more C++ compilers 2020-02-14 13:40:31 -05:00
2de515c671 improve layout 2020-02-14 12:31:55 +01:00
74a2fd973b convert docs for fixes eos/cv, eos/table/rx, gcmc, grem, langevin/spin, lb/fluid 2020-02-14 12:27:55 +01:00
c47245c629 update/correct lammps executable manpage 2020-02-14 10:33:08 +01:00
d7a7c103ca Update version string for next patch release 2020-02-14 09:55:56 +01:00
7b32b1e595 Update pair_body_rounded_polyhedron docs 2020-02-14 09:52:06 +01:00
b1493d651f Update pair_body_rounded_polygon docs 2020-02-14 09:44:03 +01:00
f70e39c366 update fix ave/correlate/long docs to include info about limitations in output options vs. ave/correlate 2020-02-14 09:30:06 +01:00
147d430a6d Update pair_body_nparticle docs 2020-02-14 09:27:55 +01:00
e339e1735d Update pair_beck docs 2020-02-14 09:19:32 +01:00
076c28538c Merge branch 'read_dump_item_time' of https://github.com/mkanski/lammps into collected-small-fixes 2020-02-13 13:13:24 -05:00
9e35b85335 Merge remote-tracking branch 'github/master' into collected-small-fixes 2020-02-13 13:13:12 -05:00
7c62bce7d9 Enable reading dump file with ITEM:TIME 2020-02-13 18:13:22 +01:00
4cacc4701d update plumed support to include version 2.6.0. Fix bug in API check 2020-02-13 16:03:58 +01:00
5d467bcc74 Merge pull request #1876 from Vsevak/tip4p_gpu_sharedtypes
TIP4P GPU kernel: shared memory optimization
2020-02-12 11:11:17 -05:00
10a76affd4 Merge pull request #1877 from ellio167/openkim-models-docs
Add openkim-models install instructions
2020-02-12 11:08:25 -05:00
cf67c16fcb Add openkim-models install instructions 2020-02-11 22:33:56 -06:00
d024b3d340 Add shared memory optimization 2020-02-12 01:35:44 +03:00
bfaae6860e fix controller 2020-02-11 16:28:45 +01:00
e4a730d57a fix bond/react, box/relax, ehex 2020-02-11 16:14:00 +01:00
6d5c001b61 delete no longer used equations 2020-02-11 14:57:31 +01:00
440f3b9492 correct for typo in txt style markup 2020-02-11 14:54:54 +01:00
3314b4853e convert compute xrd to use embedded math 2020-02-11 11:26:29 +01:00
002fff95c6 copy large target image files only once 2020-02-11 11:07:55 +01:00
ed9c8b4ea0 reset Modify::n_timeflag in post_run() so we won't skip computes defined between runs 2020-02-11 00:30:09 -05:00
23b7adc9b2 we must defer to Modify::addstep_compute_all() if Modify::addstep_compute() if n_timeflag has not been set 2020-02-11 00:06:41 -05:00
ec3e687b0c fix bug in set type/ratio when operating on subsets 2020-02-10 16:22:23 -05:00
c8034d19c4 fix up remaining computes for embedded math and a few other issues 2020-02-10 16:21:19 -05:00
1430d1cb12 ...and one more 2020-02-08 15:30:13 -05:00
f82892c45a refactor one more fix 2020-02-08 15:28:10 -05:00
8f3c94f33b document new error message 2020-02-08 15:22:54 -05:00
5f68f3006f replace Fix::box_change_xxx variables with Fix::box_change bitmask and add check to Domain::init()
This allows a more specific tracking of whether multiple fixes are
modifying the same box parameter and error out in that case.
2020-02-08 15:12:26 -05:00
e952bcb5ac Fix pdf build of pair_atm docs 2020-02-08 20:09:40 +01:00
86ebc8260e Update pair_atm docs 2020-02-08 19:24:27 +01:00
712dbe6acc Update pair_airebo docs 2020-02-08 19:07:54 +01:00
5bb28e9e84 Update pair_agni docs 2020-02-08 18:36:34 +01:00
01805cf6ce Update pair_adp 2020-02-08 18:09:19 +01:00
8c82c60f2f fix of style related issues 2020-02-07 13:29:05 -05:00
0204bf286b CNT package
The tubular potential model (TPM) force field for Carbon Nanotubes (CNTs) package.
2020-02-06 16:50:38 -05:00
db805bc009 first chunk of compute commands to be converted to use embedded math 2020-02-04 17:05:23 -05:00
301a662a1d cosmetic corrections 2020-02-03 13:41:50 -05:00
f0935feabe Merge pull request #1868 from akohlmey/next_patch_version
Step version strings for next patch release
2020-02-03 11:50:12 -05:00
966bc626fc Merge pull request #1858 from akohlmey/fft-consistency
Improved consistency and thread support in FFTs
2020-02-03 11:14:16 -05:00
f95428ee5e Merge pull request #1867 from akohlmey/doc-convert-to-mathjax
Convert more documentation to use embedded math expressions
2020-02-03 11:11:33 -05:00
b71e41dc8a minor fixes 2020-02-03 10:48:04 -05:00
1827ce1d32 update dynamical_matrix docs 2020-02-03 09:01:31 -05:00
73364404a1 Step version strings for next patch release 2020-02-03 07:18:31 -05:00
ecf30b47a0 Convert and revise a few more files (minimize, neb, tricilinic) 2020-02-02 22:35:39 -05:00
244828d193 add map IDs check to dihedral constraint 2020-02-02 18:05:27 -07:00
fde2a59b0e update documentation for contributing files and building the manual to using rst files 2020-02-02 19:05:35 -05:00
5b557ca4c8 remove references to .txt files for building the documentation 2020-02-02 18:50:49 -05:00
8ef3d77724 Convert documentation of improper styles from images to mathjax 2020-02-02 18:22:40 -05:00
33fc22b752 Fix echo in Makefile 2020-02-03 01:55:20 +03:00
949f88eb65 Convert documentation of dihedral styles from images to mathjax 2020-02-02 17:22:54 -05:00
bbf229e8cc Merge pull request #1866 from YunxingZuo/master
add SNAP and quadratic SNAP potentials for six elemental systems
2020-02-02 06:55:09 -05:00
0a10f5567a correct potential file format to be compatible with latest lammps 2020-01-31 21:04:03 -08:00
01a6608fb6 add SNAP and quadratic SNAP potentials for six elemental systems 2020-01-31 19:30:02 -08:00
2b6a022309 Merge branch 'master' into fft-consistency 2020-01-31 20:51:58 -05:00
dd91d519e1 Merge pull request #1703 from jboschen/nwchem
add NWChem wrapper to client/server mode for AIMD
2020-01-31 20:50:51 -05:00
5983c2a87d Merge pull request #1864 from akohlmey/doc-remove-redundant-links
More documentation ReStructuredText cleanup
2020-01-31 17:32:51 -05:00
472fe8216f address spelling errors 2020-01-31 16:54:27 -05:00
b66717d8cb add one more missing link 2020-01-31 16:40:41 -05:00
a9a2a9fef9 provide updated information on how to report bugs on github or via e-mail 2020-01-31 16:39:34 -05:00
f386598c54 restore missing links 2020-01-31 16:39:09 -05:00
1a4e6228a2 add false positive 2020-01-31 15:59:26 -05:00
21a80e9b50 fix typo 2020-01-31 15:57:52 -05:00
8fd2ab78f1 Merge branch 'master' into nwchem
# Conflicts:
#	doc/src/Howto_client_server.rst
#	doc/src/server_md.txt
2020-01-31 15:56:25 -05:00
97addd2bee Merge branch 'master' into doc-remove-redundant-links
# Conflicts:
#	doc/src/min_modify.rst
#	doc/src/min_style.rst
#	doc/src/minimize.rst
2020-01-31 15:39:25 -05:00
947827fe1f Merge pull request #1052 from jguenole/adaptglok
Optimized implementation of FIRE
2020-01-31 15:24:00 -05:00
0f37e641eb restore one global definition of previously removed links, that are still in use 2020-01-31 14:09:12 -05:00
3169ef772b delete superfluous horizontal line plus preceding empty lines at the end of doc files 2020-01-31 14:06:14 -05:00
cdf2f66c0a delete empty lines at the end of files 2020-01-31 14:03:52 -05:00
ce10fd01a8 remove redundant/obsolete link definitions 2020-01-31 14:00:53 -05:00
9e8806bd22 Addition to lib/gpu/README for HIP 2020-01-31 21:26:52 +03:00
b524db88a3 Merge remote-tracking branch 'github/master' into adaptglok
# Conflicts:
#	doc/src/min_modify.rst
2020-01-31 12:24:59 -05:00
56ff70de70 Merge pull request #1860 from akohlmey/collected-small-changes
Collected small changes for next patch release
2020-01-31 12:21:17 -05:00
39188da85b Merge pull request #1857 from ohenrich/user-cgdna
USER-CGDNA: Increased tolerance for fatal error in FENE bond
2020-01-31 12:20:57 -05:00
860e67873c rename lmp_restart.h to lmprestart.h to avoid confusing it with lmp_<machine> files 2020-01-31 11:18:08 -05:00
710929da1d Merge pull request #1861 from akohlmey/doc-link-escape-removal
Documentation link formatting cleanup and fixup
2020-01-31 11:00:27 -05:00
6424883daf apply revisions suggested by @sjplimp 2020-01-31 10:52:31 -05:00
c021a2d185 multiple consistency improvements for restart files
- make defines and enumerators automatically consistent by moving them to a shared header file
- change VERSION_NUMERIC to FORMAT_REVISION (and corresponding function names)
- new class member revision in ReadRestart class to allow backward compatibility
- step current FORMAT_REVISION to 1
- write the magic string a the end of each restart
- add a check, that skips to the end of a file and checks for the magic string and then returns
  but do this only if FORMAT_REVISION is 1 or larger for backward compatibility
2020-01-31 10:49:59 -05:00
82aab36898 reset array size since we don't use the last element anymore 2020-01-31 09:59:35 -05:00
2069c7a5fd correct incorrect bugfix 2020-01-31 09:58:04 -05:00
31c4833707 correct out-of-bounds array access in RanMars::select_subset() 2020-01-31 09:51:23 -05:00
ed628a2de7 remove some more unneeded backslash escapes and fix up a few more doc links 2020-01-31 09:01:26 -05:00
82286702cb switch OpenMP pragma to default(shared), so it is compatible with all OpenMP standard versions 2020-01-31 08:32:14 -05:00
bc3807aa4b Fix sign of forces in AO mode, update h2o examples 2020-01-31 00:42:00 -06:00
e4cf0a07a0 remove more \_ escapes from doc anchors and a bunch of other issues found in the process 2020-01-31 00:45:13 -05:00
bb94303e73 remove backslash escapes from link anchors 2020-01-30 17:04:09 -05:00
c732ccc0f8 remove trailing whitespace 2020-01-30 17:02:06 -05:00
f872d374a0 Merge branch 'adaptglok' of github.com:jguenole/lammps into adaptglok 2020-01-30 17:00:10 -05:00
6369ab230e make inclusion guard defines consistent with LAMMPS and avoid redefinition of MAX() 2020-01-30 16:56:02 -05:00
950300c86a Merge branch 'atomvec-custom' of github.com:lammps/lammps into atomvec-custom 2020-01-30 14:28:10 -07:00
d34f9af291 fixed bug with writing of data file velocities 2020-01-30 14:27:45 -07:00
9fade740fb Fix issue with Kokkos FFT_CUFFT 2020-01-30 13:27:36 -07:00
a50563d582 Fix issue with Kokkos FFTW3 2020-01-30 13:03:15 -07:00
4ea9dea19c More Kokkos FFT refactor 2020-01-30 12:04:57 -07:00
292fc77dce correct broken links to commands 2020-01-30 12:55:59 -05:00
eb7958d04c update documentation for pair_modify to reflect code changes and clarify the use of special 2020-01-30 12:55:25 -05:00
a35dc180bd bond/react: dihedral reaction constraint 2020-01-30 00:28:59 -07:00
ef30d0ed7b Add missing endif 2020-01-29 17:32:25 -07:00
f8e2543c44 Move FFT data types out of kokkos_type.h 2020-01-29 17:15:47 -07:00
1851a9f7d4 Refactor Kokkos FFT_DATA 2020-01-29 16:21:33 -07:00
0613790b6b support having the keyword special multiple times after pair in pair_modify 2020-01-29 17:23:11 -05:00
0d0c5e2961 make KOKKOS and KSPACE FFT3d code more consistent and remove redundant code 2020-01-29 16:37:29 -05:00
34778c4919 Restore virtual keyword for Kokkos package 2020-01-29 14:10:42 -07:00
44178a335e Propagate rename to Kokkos styles 2020-01-29 13:56:34 -07:00
ccd395fdd8 remove dead code 2020-01-29 14:34:03 -05:00
5962e880d4 remove some unneeded backslash escapes 2020-01-29 14:33:36 -05:00
426ca97aa6 correct bug introduced in previous commit 2020-01-29 17:53:10 +01:00
1e7f09bded removing deprecated functions in log comment 2020-01-29 17:50:56 +01:00
60b9627657 one missing example 2020-01-29 17:48:58 +01:00
c855bbb6bf Merge branch 'master' into adaptglok 2020-01-29 11:42:25 -05:00
6bd23f4909 New example folder for fire 2020-01-29 17:31:20 +01:00
668feb22b5 Merge pull request #1859 from giacomofiorin/colvars-update
Update Colvars library to version 2020-01-27
2020-01-28 16:01:59 -05:00
9427fc50a5 Update Colvars library to version 2020-01-27
One new feature (arithmetic path variables) and several smaller enhancements
or bugfixes.

    Fix error check when loading an old state file
    https://github.com/Colvars/colvars/pull/317

    Get default values for grid boundaries when available
    https://github.com/Colvars/colvars/pull/310

    Allow redefining existing index groups (warn when this happens)
    https://github.com/Colvars/colvars/pull/302

    Simplified replica communication syntax in metadynamics
    https://github.com/Colvars/colvars/pull/301

    Obtain the bias_energy for ABF biases
    https://github.com/Colvars/colvars/pull/294

    Fix reading path file with vector CVCs
    https://github.com/Colvars/colvars/pull/288

    Fix segfault at deleting CVBasedPath
    https://github.com/Colvars/colvars/pull/286

    Parrinello's (arithmetic) pathCV in CV space
    https://github.com/Colvars/colvars/pull/274

    Fix race condition when starting a bundle of walkers
    https://github.com/Colvars/colvars/pull/279
2020-01-28 14:15:05 -05:00
66c5fa2abd Merge 'gpu_hip_port' into master 2020-01-28 20:35:08 +03:00
e9b6824e11 correct spelling 2020-01-28 16:27:19 +01:00
a3d10d537c Updated documentation 2020-01-28 16:03:49 +01:00
197ba62cd9 Change fire to fire/old and fire2 to fire. Implement normstyle in fire. Update author affiliation. 2020-01-28 14:51:23 +01:00
5eef3b1828 Merge pull request #1855 from akohlmey/remove-txt-files
Remove txt sources of rst files from doc folder
2020-01-27 12:04:37 -05:00
99cfc9e668 small documentation tweak 2020-01-27 11:17:08 -05:00
795f2fd894 properly support threaded FFTs with MKL and document it. remove commented out FFTW2 code 2020-01-27 11:00:57 -05:00
e1e5a1e47b Merge pull request #64 from lammps/master
rebase
2020-01-24 21:22:29 -07:00
ec381964e4 Merge branch 'master' into remove-txt-files
# Conflicts:
#	doc/src/Build_settings.rst
2020-01-24 21:32:24 -05:00
4134d7fddd Merge pull request #1854 from akohlmey/next_patch_release
Update version string for the next patch release
2020-01-24 20:58:03 -05:00
da35840cd9 Merge pull request #1520 from stanmoore1/fft
Add threaded FFTs to the KOKKOS package
2020-01-24 18:21:33 -05:00
9d333c351a Small clarification to kspace_style.rst 2020-01-24 14:42:40 -07:00
669980388a Merge branch 'fft' of ssh://github.com/stanmoore1/lammps into fft 2020-01-24 14:33:31 -07:00
76aaf16c66 Add check for FFT_FFTW_THREADS and turn off MKL threads for now 2020-01-24 14:30:11 -07:00
e9d4823d71 Add cuFFT to Makefile.lassen_kokkos and generalize MPI path 2020-01-24 13:56:00 -07:00
0302c0ba24 correct malformed tables 2020-01-24 12:30:15 -05:00
c9cc13c2a6 add mpi4py url and expand/update the python with MPI introduction 2020-01-24 11:27:43 -05:00
899a654161 Merge branch 'master' into user-cgdna 2020-01-24 14:21:55 +00:00
23febc7101 Increased tolerance for fatal error in FENE bond argument 2020-01-24 14:19:18 +00:00
fa4d9ff0d8 remove automatic translation of .txt to .rst and references to txt folder 2020-01-23 16:56:41 -05:00
daa5efe1fd remove .txt doc sources 2020-01-23 16:53:11 -05:00
72d8bea459 remove backslash escapes for underscore in doc references 2020-01-23 16:52:38 -05:00
cb5138a335 update version string for the next patch release 2020-01-23 12:00:33 -05:00
f14b200b6a correct KOKKOS FFT output for CMake summary one more time 2020-01-23 00:27:00 -05:00
df23460e18 Merge branch 'master' into fft
# Conflicts:
#	src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
2020-01-23 00:22:38 -05:00
958b8d96a9 expand explanations about setting the python version for the python wrapper 2020-01-23 00:14:44 -05:00
204fb6f7ed fix issue with standalone anchor_check 2020-01-22 23:51:53 -05:00
b3a7aa6541 correct whitespace issue 2020-01-22 17:48:50 -05:00
25cdcc7592 Merge branch 'master' into fix-dummy 2020-01-22 17:25:52 -05:00
30444b344b Merge pull request #1853 from akohlmey/collected-small-changes
Collected small changes and bugfixes for the next patch release
2020-01-22 17:25:03 -05:00
8096a78340 Merge pull request #1852 from vklip/bugfix-gjf
Add unit conversion in setup() in fix_langevin.cpp
2020-01-22 17:22:01 -05:00
949d7608ba Merge pull request #1811 from brycelelbach/bug/missing_execution_space_qualifiers
Fix mismatches in CUDA execution space qualifiers between declarations and definitions.
2020-01-22 17:10:11 -05:00
c126df4f79 update KOKKOS FFT status message in CMake summary 2020-01-22 17:08:58 -05:00
5488efbc03 fix typo, update maintainer. 2020-01-22 17:00:10 -05:00
53554fdb84 add -DFFT_CUFFT for KOKKOS only when KISSFFT is not selected 2020-01-22 16:56:12 -05:00
70731468df include "pppm.h" last so that necessary KOKKOS config define is available 2020-01-22 16:32:32 -05:00
9d06430894 Merge pull request #603 from jrgissing/Ncreate_atoms
add exactly N particles to available lattice points
2020-01-22 15:36:54 -05:00
61ddf9bcd8 undo accidental edit of KOKKOS cuda mpi makefile 2020-01-22 15:32:00 -05:00
70b9a060dc add missing #endif 2020-01-22 15:26:34 -05:00
9a27aa4e9e Merge branch 'master' into fft
# Conflicts:
#	src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
2020-01-22 15:21:08 -05:00
dfda8b5ce6 fix up LMP_FFT_LIB for reporting FFT lib in use for KOKKOS with CUDA logic 2020-01-22 15:18:59 -05:00
40e0e78abd import template atom ID check from PR #1822 2020-01-22 15:02:55 -05:00
bb024bc077 add call to KSpace::two_charge() that was overlooked 2020-01-22 14:46:57 -05:00
48cae2703b move memory allocation for atom style variable data where it belongs and cannot be skipped
this fixes the bug reported on lammps-users on 2020-01-22 by Olivier Politano
2020-01-22 14:34:12 -05:00
cc81dc2046 remove redundant initializers 2020-01-22 14:32:34 -05:00
8a1f893b43 repair incorrect conversions on [*] expressions by txt2rst 2020-01-22 13:20:04 -05:00
37e8195b01 fix whitespace issue 2020-01-22 12:44:24 -05:00
a87c7a4a53 avoid segfault 2020-01-22 12:41:59 -05:00
64a4bf6a42 Merge pull request #1850 from lammps/kspace-bugfix
move two_charge_force calc to occur at init, not constructor, fix small bug in pair style extep
2020-01-22 12:38:33 -05:00
0623859f36 fix small bug in pair style extep 2020-01-22 11:25:13 -05:00
0ae40c5967 Add unit conversion in setup() 2020-01-22 17:13:10 +01:00
d897949ff8 bond/react: check for valid IDs in map file 2020-01-21 23:21:41 -07:00
ac143dbdb7 capitalize comment 2020-01-21 17:57:12 -07:00
11f687c1fb make comment string consistent 2020-01-21 17:56:00 -07:00
b29ffabe56 move two_charge_force calc to occur at init, not constructor 2020-01-21 14:24:55 -07:00
f7dc70a986 add new error/warning messages to documentation 2020-01-21 16:05:55 -05:00
a6f59a8607 Merge remote-tracking branch 'github/master' into Ncreate_atoms
# Conflicts:
#	src/create_atoms.cpp
2020-01-21 15:52:01 -05:00
646dc83394 remove trailing whitespace 2020-01-21 15:46:28 -05:00
7728c5069f Merge pull request #1845 from akohlmey/collected-small-changes
Collected small changes for next patch release
2020-01-21 15:45:41 -05:00
d83cf8e4b0 add Jake's name as contributor 2020-01-21 13:36:36 -07:00
90ff2eb6c9 modified versions of creating atoms on subset of lattice, ditto for set type/fraction 2020-01-21 13:31:47 -07:00
4ea679dd54 Merge branch 'master' into nparticles 2020-01-21 13:26:03 -07:00
405eb63a51 update sphinx extension to automatically pad lists to fill tables and avoid errors processing the documentation 2020-01-21 11:39:29 -05:00
3db920b8a6 fix minor issues with docs 2020-01-20 17:03:54 -05:00
12de17621f Merge branch 'master' into collected-small-changes
# Conflicts:
#	doc/src/Commands_fix.rst
2020-01-20 16:59:42 -05:00
795a872bf3 Merge pull request #1847 from pdebuyl/fix-active
Add fix propel/self
2020-01-20 16:57:04 -05:00
f03cfba029 Merge pull request #1820 from ornladios/adios_read_dump
Support read_dump with dump style 'adios'
2020-01-20 16:27:09 -05:00
946bd8f3c0 print warning about adjusting the communication cutoff only during integrator or minimizer setup phase 2020-01-20 16:23:26 -05:00
41cfb91d7d Reformat README and mention about the timeout option 2020-01-20 15:55:31 -05:00
7766b29c97 replace strncmp by strcmp 2020-01-20 21:54:29 +01:00
44a814ec1d Added 'timeout <value>' option to the adios reader, so that a rerun can concurrently run with the first simulation 2020-01-20 15:52:21 -05:00
95d3b9e708 Change BPFile to BP4 in adios config so that streaming through files is enabled 2020-01-20 14:35:51 -05:00
3ccab876f7 fix string length for strncmp 2020-01-20 18:16:20 +01:00
b0ba91d353 add false positive 2020-01-20 11:58:59 -05:00
8ed271f16f change mode of propel/self to quat instead of quaternion 2020-01-20 17:41:20 +01:00
50062d6a44 Added rerun example for ADIOS dump/read_dump to examples/USER/adios/rerun.
Moved the balance example under examples/USER/adios/balance
2020-01-20 11:23:18 -05:00
3c55bded69 Merge pull request #1848 from Vsevak/tip4p_gpu_fix
Fix some issues with lj/cut/tip4p/long/gpu
2020-01-20 11:17:37 -05:00
18c16b4b39 Print lammps style error and abort when adios2_config.xml is not found. Avoid ugly C++ exception stack. 2020-01-20 10:11:57 -05:00
a1864f8bfd Fix commands table 2020-01-20 10:11:34 -05:00
fdd330256c update adios example input file to show more read_dump options 2020-01-20 09:23:35 -05:00
95b4613e16 Added documentation for 'read_dump ... format adios' command and fixed links and names for 'dump atom/adios' and 'dump custom/adios' commands. 2020-01-20 09:23:35 -05:00
125a82f572 change isReaderParallel flag to parallel and generally adapt more to LAMMPS programming style 2020-01-20 09:20:42 -05:00
76818a47c0 add missing include statement 2020-01-20 09:20:42 -05:00
fed1e800a9 revert reformatting of unrelated file 2020-01-20 09:20:42 -05:00
9959997376 change attribution 2020-01-20 09:20:42 -05:00
0da85cb2fc update README for USER-ADIOS 2020-01-20 09:20:42 -05:00
580909fd47 Implement read_dump with format 'adios'. It modifies read_dump.cpp to support reading from one dataset by all processes. 2020-01-20 09:20:42 -05:00
0bed348073 fix typo 2020-01-20 07:17:39 -05:00
019e269ed9 silence compiler warning 2020-01-20 07:12:22 -05:00
3ff49dfd59 avoid segfault when using per-particle masses 2020-01-20 07:12:12 -05:00
c19085dc08 silence compiler warning 2020-01-20 07:06:49 -05:00
926096dc66 silence compiler warning 2020-01-20 07:06:00 -05:00
af1e797271 fix mass and nve/asphere
1. Set mass to 1. The radius is 1/2, so the density must be
   1/(4/3 pi 1/2^3)
2. Use nve/asphere instead of nve. Else, the particle's orientation are
   not integrated.
2020-01-20 12:48:26 +01:00
43c184983e Fix lj/cut/tip4p/long/gpu name in docs 2020-01-20 03:39:16 +03:00
43a9936241 Fix tagint usage 2020-01-20 03:38:58 +03:00
d1f3f659ac Fix GPU package install script to resolve file dependency
'pair_lj_cut_tip4p_long_gpu' depends on 'pair_lj_cut_tip4p_long' from KSPACE package
2020-01-20 00:03:04 +03:00
074e18d9cb fix one more whitespace issue 2020-01-19 13:34:21 -05:00
0471d211a2 remove dead code and silence compiler warnings 2020-01-19 13:33:16 -05:00
5e740c9cc5 documentation and examples cleanup for fix propel/self
- rename example folder
- remove .txt format docs
- remove obsolete fix active sources
- update readme in src/USER-MISC
- replace non-ASCII characters and fix spelling issues
2020-01-19 13:29:52 -05:00
f4d9715cc7 make code follow LAMMPS conventions more closely and do some cleanups
- remove tabs and trailing whitespace
- remove references to atom style body, since code only works with ellipsoid
- adjust function names and tests for requirements to be more obvious and work correctly in parallel
- remove rather specific debug code
- remove non-essential c++11 features
- refactor, correct, and simplify parsing of types keyword arguments
2020-01-19 13:07:54 -05:00
d739e017ad tweak examples to be shorter/faster 2020-01-19 12:22:22 -05:00
f69a17dd3a Reduce unnecessary data exchanges 2020-01-19 02:05:16 +03:00
4c8a857960 Merge branch 'master' into fix-active-rebase-5 2020-01-17 22:11:55 +01:00
998b60eabc restore accidentally renamed keyword 2020-01-17 12:17:47 -05:00
33c846cd5e guard converting thermo output from other output to the screen and do not crash
fixes #1844
2020-01-17 09:48:07 -05:00
a53202bad2 removing the time estimate code for create_atoms completely, as we'll have linear scaling soon. 2020-01-16 17:23:57 -05:00
dd60bddc33 reset embedding step counter when init_style() is called 2020-01-16 17:14:23 -05:00
868df1f640 Merge pull request #1843 from oywg11/new-ILP-parameters
New ILP paramters  and pair style improvements
2020-01-16 16:53:59 -05:00
79f9ede38a print warning when using pair_write on EAM pair style 2020-01-16 16:51:32 -05:00
070bb8c5cd change estimate for creating atoms after benchmarking a 440M atom system 2020-01-16 16:46:37 -05:00
93a6d3a1fc print warning (once) if EAM embedding data is out of sync, error out, if embedding term is not available at all. 2020-01-16 16:35:05 -05:00
96cc098dc1 Merge branch 'new-ILP-parameters' of github.com:oywg11/lammps into new-ILP-parameters
# Conflicts:
#	doc/txt/pair_ilp_graphene_hbn.txt
#	doc/txt/pair_kolmogorov_crespi_full.txt
2020-01-16 14:18:42 -05:00
8ffe15871a Refine the doc files 2020-01-16 21:12:02 +02:00
4dc37bf56e replace tabs and remove trailing whitespace 2020-01-16 14:06:15 -05:00
2c86c79dbb correct issue with command table for fix styles 2020-01-16 14:04:48 -05:00
ef2ac8aa26 convert updated docs to rst and remove .txt sources 2020-01-16 14:04:14 -05:00
cf80495a3d change estimate for time to create an atom from 25ns to 1us 2020-01-16 12:15:42 -05:00
b2b28015c4 New ILP paramters 2020-01-16 16:46:04 +02:00
9f018b9aa2 make list of fixes have a multiple of 6 number of entries 2020-01-15 17:40:51 -05:00
f1c79fb914 Merge pull request #1096 from ProfessorMiller/master
Changes to the NH fix enabling Cauchy stress control (Cauhchystat) du…
2020-01-15 17:35:03 -05:00
77a28c404a Merge pull request #1831 from akohlmey/pair-bop-updates
Correct some issues with pair style bop and its potential files
2020-01-15 17:30:07 -05:00
4e32af5d49 Merge branch 'master' into pair-bop-updates 2020-01-15 17:13:22 -05:00
62f0d87e59 update .gitignore for recently added styles 2020-01-15 17:13:14 -05:00
df24475ea1 update bop potential files to the latest versions 2020-01-15 16:50:10 -05:00
4801f013a5 correct logic error in reading of bop potential files 2020-01-15 16:49:23 -05:00
3efc5b0b64 Merge pull request #1841 from phankl/stable
Mesoscopic potential for carbon nanotubes
2020-01-15 16:31:40 -05:00
cb20d73a82 consistent name for pot file, symbolic link in examples 2020-01-15 20:45:13 +00:00
1ed50bcdde Merge pull request #1837 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2020-01-15 15:34:00 -05:00
f888c436c3 use safe fgets version and check sscanf() return value for correct parsion of potential file header 2020-01-15 14:24:02 -05:00
48cdd6c2fb refactor mesocnt example to be better suited for testing and add logs 2020-01-15 14:23:19 -05:00
90d5f7be01 Merge remote-tracking branch 'cntmeso/stable' into ph-cntmeso
# Conflicts:
#	doc/src/pair_mesocnt.rst
2020-01-15 13:54:37 -05:00
3cb26e576d make sure communication buffers are fully initialized 2020-01-15 13:47:01 -05:00
f05175eb1d properly initialize eflag/vflag and all related properties 2020-01-15 13:42:50 -05:00
500363ab83 move functions in MathExtra namespace to math_extra.h header file 2020-01-15 13:42:14 -05:00
34bc3b1b2e changed documentation format to .rst 2020-01-15 18:23:45 +00:00
51f41d4559 add missing rst format doc file 2020-01-15 13:05:28 -05:00
a74c3b912b remove tabs and trailing whitespace, adjust source format to closer match LAMMPS style 2020-01-15 12:54:37 -05:00
4d20f1623c remove outdated .txt versions of documentation 2020-01-15 11:53:21 -05:00
97bcce77d3 update documentation to rst format and integrate into lists/tables 2020-01-15 11:52:49 -05:00
2f1e3d8490 Merge branch 'master' into ph-cntmeso
# Conflicts:
#	doc/src/pairs.txt
2020-01-15 11:45:14 -05:00
a8d27efbe7 fixed typos in documenation, added words to false positives for spell check 2020-01-15 14:33:52 +00:00
902d772b85 removed harmonic bond and angle from repo 2020-01-15 13:47:51 +00:00
331fff0613 moved files to USER-MISC, added README entry, added examples 2020-01-15 12:07:26 +00:00
198a40ada6 fixed typo in documentation 2020-01-15 11:43:11 +00:00
9ef984daaa added documentation 2020-01-15 11:04:43 +00:00
133be2132d Merge remote-tracking branch 'github/junghans-patch-1' into collected-small-changes 2020-01-14 16:57:52 -05:00
392b32ef6f cmake: fix warning about chain.x 2020-01-14 14:26:28 -07:00
cbf3756923 correct CR/LF into plain LF line endings 2020-01-14 15:57:37 -05:00
a57f6f5852 Merge pull request #1838 from lammps/stochastic-example
enhanced stochastic wall example
2020-01-14 15:55:24 -05:00
93b6d5312d update the github workflow document for recent changes 2020-01-14 15:42:55 -05:00
16d6932aca update the contributing guidelines to new documentation format and additional policies and checks 2020-01-14 15:37:07 -05:00
ceeae57172 enhanced stochastic wall example 2020-01-14 13:20:35 -07:00
50aa52fc9c replace (evil) tabs with blanks 2020-01-14 15:08:56 -05:00
ded3354fa9 add comments about thread safety to the library howto 2020-01-14 15:04:17 -05:00
7f0373afa3 fix typo 2020-01-14 14:51:00 -05:00
be8832be99 Merge branch 'master' into nparticles 2020-01-14 12:36:02 -07:00
b9c6e0f700 Merge pull request #1691 from toquydong/stochasticwall
Implementation of statistical gas wall boundary conditions
2020-01-14 14:11:16 -05:00
285138ea13 Merge pull request #1836 from lammps/hyper-upgrade
Hyperdynamics upgrade
2020-01-14 14:10:16 -05:00
75b2066506 correct spelling issues 2020-01-14 13:34:19 -05:00
660264855a update rst documentation for fix hyper/local 2020-01-14 13:27:35 -05:00
cae994dea9 fix whitespace issues 2020-01-14 13:24:40 -05:00
2f83b32030 Merge branch 'master' into pair-bop-updates 2020-01-14 13:15:05 -05:00
531946a35f updated hyper examples 2020-01-14 11:14:48 -07:00
00ffa5cc10 Create in.shearflow 2020-01-14 18:58:38 +01:00
628dc6dd2a sync with master 2020-01-14 10:40:05 -07:00
07e58fd681 document latest fix hyper/local diagnostics 2020-01-14 10:36:19 -07:00
1ce1474864 Update README 2020-01-14 18:13:53 +01:00
9de4e56f3e Update README 2020-01-14 18:12:33 +01:00
41792da707 Update fix_wall_reflect_stochastic.cpp 2020-01-14 18:08:42 +01:00
126bc01dd4 Merge pull request #1835 from lammps/message-iterate
add quit option to message command
2020-01-14 11:41:06 -05:00
ea24ec8d6a minor formatting edits 2020-01-14 09:15:05 -07:00
95a3abc74e Merge branch 'master' into fire 2020-01-14 08:53:40 -07:00
b308f1c4e0 fix whitespace issue 2020-01-14 10:26:25 -05:00
0dc2d411c5 renamed potential file 2020-01-14 15:19:54 +00:00
02c99d1554 convert documentation to rst format and remove corresponding txt files 2020-01-14 10:14:39 -05:00
e03b7c5441 Merge branch 'master' into message-iterate 2020-01-14 10:10:08 -05:00
87b55a5434 Merge pull request #1685 from lengxupa/master
Added New keywords rotation rx ry rz to fix_deposit
2020-01-14 10:09:42 -05:00
6c851f6db0 remove outdated .txt file 2020-01-13 23:15:20 -05:00
f095aacad7 remove outdated .txt files 2020-01-13 23:08:20 -05:00
6fa02ea3e0 update spelling false positives list 2020-01-13 23:03:37 -05:00
7c591b9b62 list new fix in overview lists and tables 2020-01-13 23:03:24 -05:00
146e6faad4 add rst version of doc file 2020-01-13 22:58:56 -05:00
d35b15525b remove obsolete .txt files 2020-01-13 22:58:35 -05:00
0a84106b23 fix whitespace issues 2020-01-13 22:47:06 -05:00
bd5a97e07e add false positives 2020-01-13 22:41:08 -05:00
8258d0cb59 remove obsolete .txt file 2020-01-13 22:28:02 -05:00
231b4b1dce Merge branch 'master' into deposit-add
# Conflicts:
#	doc/src/fix_deposit.rst
#	doc/txt/fix_deposit.txt
2020-01-13 22:26:26 -05:00
c8f6866f0d fixed minor bug in memory allocation for coefficients 2020-01-13 23:01:20 +00:00
2b51938a94 changed potential file format to single file 2020-01-13 22:52:52 +00:00
d3348371e1 refactoring of code and doc files 2020-01-13 15:22:02 -07:00
aa70f8cc6b small edits for reformatting 2020-01-13 14:26:22 -07:00
51efee43be sync to master 2020-01-13 13:42:05 -07:00
9ed987c255 minor changes to syntax and documentation of fix deposit orient 2020-01-13 13:15:17 -07:00
afcc1d935d added and corrected error and warning messages 2020-01-13 17:45:38 +00:00
e8d11931ec merged in current master 2020-01-13 10:34:31 -07:00
2d28e9fa2e check for FFT_FFTW_THREADS may only run when CUDA is not enabled 2020-01-13 12:08:46 -05:00
03a7f617eb now opening files with lmp method 2020-01-13 17:05:31 +00:00
99dc283f82 Merge branch 'master' into message-iterate 2020-01-13 09:30:51 -07:00
e35f160e9c added standard potential files to git repo 2020-01-13 16:23:07 +00:00
206aa77532 fix one more whitespace issue 2020-01-13 11:22:42 -05:00
5198058691 fix whitespace issues in fft3d_kokkos files 2020-01-13 11:21:44 -05:00
a7720124db check and adjust FFT selection for KOKKOS depending on whether CUDA is enabled or not 2020-01-13 11:09:37 -05:00
88448ef950 update rst docs since .txt file is gone 2020-01-13 10:57:36 -05:00
2834965e98 Merge branch 'master' into fft
# Conflicts:
#	doc/txt/kspace_style.txt
2020-01-13 10:53:26 -05:00
6813ab4c9c Merge pull request #1832 from akohlmey/doc-styles-check
Check style command lists against existing styles in sources
2020-01-13 10:38:26 -05:00
eed85bb676 Merge pull request #1834 from akohlmey/suffix-flag-refactor
Small Suffix flag refactoring and disallow per substyle special overrides for USER-INTEL and GPU
2020-01-13 10:37:35 -05:00
8e08acd5d4 moved mesocnt to user packages 2020-01-13 15:01:03 +00:00
9d207e5829 renamed mesocnt directory 2020-01-13 15:00:42 +00:00
b18f79abe0 merged latest stable version into fork 2020-01-13 14:31:18 +00:00
fe1f7f9a9c restored Makefile.g++_openmpi to default 2020-01-13 13:00:31 +00:00
601658fa50 removed unnecessary headers and converted ints for tag and mol to tagint 2020-01-13 12:56:30 +00:00
bfaea66e66 update documentation 2020-01-12 23:03:45 -05:00
15603e0ff7 add documentation for including cufft with KOKKOS+CUDA (for conventional build, CMake is automatic) 2020-01-12 21:46:02 -05:00
3784df23f0 use FFT_FFTW_THREADS consistently, add CUFFT to CMake, minor improvements 2020-01-12 21:32:07 -05:00
7cb36d1705 Merge branch 'master' into fft 2020-01-12 20:22:15 -05:00
a88e6494cf address documentation spelling issues and remove obsolete file 2020-01-12 15:11:45 -05:00
22af416c53 correct output to be consistent with other code in LAMMPS 2020-01-12 14:47:15 -05:00
ebdc4b1ce3 rework npt/cauchy example to use bundled potential, run shorter and move to proper folder 2020-01-12 14:46:55 -05:00
0d6ec02d5a small corrections and more cleanup 2020-01-12 14:31:05 -05:00
57f4b06db5 integrate RST version of npt/cauchy documentation 2020-01-12 14:06:12 -05:00
107c5bbced Merge branch 'master' into cauchystat and resolve conflicts
# Conflicts:
#	cmake/CMakeLists.txt
#	doc/src/Commands_fix.txt
#	doc/src/Packages_details.txt
#	doc/src/Packages_user.txt
#	doc/src/fix_nh.txt
#	doc/src/fixes.txt
#	doc/src/lammps.book
#	src/Makefile
2020-01-12 13:58:41 -05:00
2231feaf9b some corrections to the documentation 2020-01-12 13:55:39 -05:00
b6d86e3c91 merge fix sources and move into USER-MISC package. clean up docs 2020-01-12 13:45:22 -05:00
ef4e061cb7 merge contents of fix_npt_cauchy files into fix_cauchy 2020-01-12 13:27:40 -05:00
755620acb7 correct documentation link 2020-01-12 13:10:37 -05:00
7cdd39b894 remove references to fix npt/cauchy which has its own doc file now 2020-01-12 13:10:26 -05:00
9811a85a9a reformat 2020-01-12 13:09:53 -05:00
64e72b1cd5 indent consistently with tabs only 2020-01-12 12:34:54 -05:00
4a5511d00a Merge branch 'collected-small-changes' into doc-styles-check 2020-01-12 10:19:22 -05:00
81c9b0b12e small update to kspace overview 2020-01-12 10:17:56 -05:00
7b9abda6c4 refactor to use a function to process files with lists of styles 2020-01-12 10:17:14 -05:00
c93ee1045c Merge branch 'collected-small-changes' into doc-styles-check 2020-01-12 10:13:34 -05:00
a0ecf539f6 clean up and correct some documentation link issues 2020-01-12 10:08:14 -05:00
a957d1c4c2 fix whitespace issue 2020-01-11 21:05:08 -05:00
675bd26085 Merge branch 'master' into doc-styles-check 2020-01-11 21:00:49 -05:00
587fc9d962 Merge pull request #1828 from lammps/post-patch-tweaks
minor omissions in recent patch release
2020-01-11 21:00:09 -05:00
3b32141330 update documentation for style check 2020-01-11 20:47:10 -05:00
d7242eaa6a print total styles and count/report the number of issues 2020-01-11 20:41:14 -05:00
26830d09f8 hook style check into makefile 2020-01-11 20:39:58 -05:00
1d7b554e9a Merge branch 'post-patch-tweaks' into doc-styles-check 2020-01-11 20:08:03 -05:00
b2c4385661 clean up and correct fix style command overview 2020-01-11 20:02:23 -05:00
b4a87d79a0 make anchors and file names for lj/switch3/coulgauss/long consistent 2020-01-11 20:02:04 -05:00
bc9436a04f add support for computes and fixes 2020-01-11 19:58:31 -05:00
4a58d356b0 Merge branch 'post-patch-tweaks' into doc-styles-check 2020-01-11 19:43:42 -05:00
05b68d9e0d add missing pair style entries 2020-01-11 19:43:29 -05:00
019c70140f add and correct kspace style entries 2020-01-11 19:43:18 -05:00
7ea366b3ce fix formatting issue 2020-01-11 19:42:40 -05:00
1d838dad19 add checking of kspace styles 2020-01-11 19:41:59 -05:00
555f9b3450 Merge branch 'post-patch-tweaks' into doc-styles-check 2020-01-11 19:16:44 -05:00
ff7110028b make doc of pair style mm3/switch3/coulgauss/long consistent and complete 2020-01-11 19:16:34 -05:00
66296616ae handle removed styles on bonded command table 2020-01-11 19:10:21 -05:00
8f9c3a3a9c Merge branch 'post-patch-tweaks' into doc-styles-check 2020-01-11 19:04:38 -05:00
84a975439a clean up pair style command overview some 2020-01-11 19:04:02 -05:00
f713e9acc3 add missing bond style 2020-01-11 19:03:20 -05:00
297d31ab8f clean up and update general command overview 2020-01-11 19:02:49 -05:00
a38cf075db add checks for global commands, pair and bonded styles 2020-01-11 18:53:09 -05:00
7ebddb6088 Merge pull request #1829 from lammps/rerun-example
added rerun example dir
2020-01-11 18:49:40 -05:00
0c1157362a Merge pull request #1830 from lammps/fix-bond-create-warn
add warning to fix bond/create
2020-01-11 18:49:17 -05:00
00a31f6637 Merge branch 'master' into doc-styles-check 2020-01-11 17:05:16 -05:00
d7d1d57170 remove outdated txt files 2020-01-11 16:35:27 -05:00
e1849232b8 remove redundant lj/cut/tip4p/long/gpu entry and correct underline length 2020-01-11 16:21:42 -05:00
9c207bb751 remove outdated .txt file for pair style meam/c 2020-01-11 16:20:13 -05:00
4f35682828 list added example folder in manual 2020-01-11 16:15:49 -05:00
67b9fd10cc rename output files to correctly match the used version 2020-01-11 16:12:58 -05:00
cb8313d947 document added warning for fix bond/create 2020-01-11 16:08:37 -05:00
9ed9b4338b fix several memory leaks in pair style bop exposed when using the pair_coeff command multiple times 2020-01-11 14:03:30 -05:00
2e941fd9c0 update BOP potential files with missing final line of zeros 2020-01-11 14:02:59 -05:00
869e2f0916 added support for all unit styles except lj 2020-01-11 16:32:00 +00:00
8fa0700df1 add warning to fix bond/create 2020-01-10 16:49:09 -07:00
d0eb41b61e disallow per substyle special bond factors with certain suffix styles 2020-01-10 16:58:39 -05:00
d5192c1043 added an example for recalculating the RDF at a longer cutoff via rerun 2020-01-10 14:37:45 -07:00
6e3559a6e7 added rerun example dir 2020-01-10 14:09:38 -07:00
4989c3a878 convert static const ints to an enumerator 2020-01-10 15:30:26 -05:00
f073a64549 add suffix_flag settings to GPU package styles 2020-01-10 15:29:53 -05:00
a93ba8ab74 Merge branch 'fix-active' of github.com:pdebuyl/lammps into fix-active-rebase-4 2020-01-10 13:47:13 +01:00
13ee0c1739 fix doc for fix propel/self to sphinx system 2020-01-10 13:42:43 +01:00
fe4f7899d2 Use x-axis along the particle's quaternion.
This change allows the fix to work in 2D as well.
2020-01-10 11:32:57 +01:00
7b977856b9 Update documentation of fix propel/self
1. Remove reference to velocity alignment model.
2. Use reference to velocity-dependent friction for mode velocity
3. Add references to Fily & Marchetti and Bialké, Speck & Löwen for the
quaternion mode.
2020-01-10 11:32:54 +01:00
95784f7066 Updated documentation regarding types keyword. 2020-01-10 11:32:03 +01:00
60c0270375 Added option to impose fix propel/self only to specific types 2020-01-10 11:32:03 +01:00
768fd8f7fe Added type support. 2020-01-10 11:32:02 +01:00
2eb3f4e169 Updated documentation. 2020-01-10 11:32:01 +01:00
6240a7e278 Fixed example 3d_quaternion 2020-01-10 11:32:00 +01:00
f7bbc81d9b Added angular momentum thermostatting to 3d quaternion example. 2020-01-10 11:32:00 +01:00
060c45d36e Updated docs 2020-01-10 11:31:59 +01:00
3144b91fb3 Some code clean-up, added safety check in post_force_velocity. 2020-01-10 11:31:58 +01:00
074dfd8651 Commit before merging latest changes in master. 2020-01-10 11:31:57 +01:00
8c7890b6df Added two modes, one via velocity and one via quaternion. 2020-01-10 11:31:57 +01:00
7076e9fe72 Undid weird change in random source file. 2020-01-10 11:31:43 +01:00
942812a654 Commit before changing branches. 2020-01-10 11:31:21 +01:00
2a0081d135 Renamed fix active to fix propel/self 2020-01-10 11:31:20 +01:00
3d813fec6b Slightly modified example. 2020-01-10 11:31:19 +01:00
c93ca5b4a4 Added a fix to add active force to particles. 2020-01-10 11:31:16 +01:00
5139f3af33 Fixed compile error for fix_momentum_kokkos. 2020-01-10 11:17:37 +01:00
7af38e0862 Makefile.kokkos_cuda_mpi 2020-01-10 11:17:37 +01:00
4853b43f16 Commit change in fix_wall_region before merge. 2020-01-10 11:17:37 +01:00
683d6ce9b3 'install' USER-REACTION package 2020-01-09 21:11:30 -07:00
c3922c7e35 rename package USER-REACTION 2020-01-09 20:07:41 -07:00
664227ff11 one more tweak 2020-01-09 17:41:02 -07:00
d1222bd3c0 minor omissions in recent patch release 2020-01-09 17:38:50 -07:00
c06ba2b295 moved matrix functions into separate MathExtra namespace in pair_mesocnt.h 2020-01-09 09:28:35 +00:00
7b8498fab6 Merge pull request #1825 from akohlmey/next_patch_version
Step version string for next patch release
2020-01-08 18:09:05 -05:00
514271c984 recover compilation with -DLAMMPS_BIGBIG and fix whitespace and formatting issues 2020-01-08 17:57:54 -05:00
c482a04f80 fix whitespace issue 2020-01-08 17:21:35 -05:00
a3fd7345a7 Merge branch 'master' into next_patch_version 2020-01-08 17:20:36 -05:00
18a0cd3ead Merge pull request #1817 from akohlmey/collected-small-fixes
Collected small bugfixes and updates
2020-01-08 17:16:34 -05:00
d3eed9dba4 Merge pull request #1752 from ndtrung81/gpu-mem-leak-init
Fixed bugs with kernel (re)compiling when the global device got clear and reinitialized
2020-01-08 16:17:13 -05:00
2d71d9d47b add citation for GPU accelerated TIP4P style 2020-01-08 16:15:18 -05:00
6e2c3b7ce9 Merge branch 'master' into collected-small-fixes 2020-01-08 16:14:19 -05:00
481c647889 Merge pull request #1776 from Vsevak/tip4p_gpu
GPU support for lj/cut/tip4p/long pair style
2020-01-08 15:35:39 -05:00
9e3364ed39 no need to flag ibody as private 2020-01-08 15:13:34 -05:00
7051c941e5 Merge branch 'master' into collected-small-fixes 2020-01-08 15:05:03 -05:00
c5768acbbc Merge pull request #1801 from lammps/rigid-gravity
enable fix rigid commands to add gravity to COM of rigid bodies
2020-01-08 14:47:03 -05:00
e243ca92b0 step version string for next patch release 2020-01-08 14:31:08 -05:00
00dce6b198 Merge branch 'master' into gpu-mem-leak-init 2020-01-08 14:26:03 -05:00
97a798c776 Merge pull request #1824 from tabedzki2/patch-1
Updated Makefile.stampede: replacement options icc
2020-01-08 10:59:31 -05:00
a9a033de6f adjusted formatting 2020-01-08 15:39:55 +00:00
1cd6d302bb Merge pull request #1823 from dsbolin/rigid-gravity
Adds an example using new options in fix rigid and fix gravity
2020-01-08 09:15:55 -05:00
4599ffd4d5 removed numerical integration, cleaned up file 2020-01-08 13:28:00 +00:00
a219e442f4 swapped newton off to newton on - now working in parallel 2020-01-08 10:31:00 +00:00
f1a23b1ea2 Updated Makefile.stampede: replacement options icc
The default options for Makefile.stampede did not compile. They had to be updated to include the `q` replacement options.
2020-01-07 21:47:43 -05:00
e8a941a0b9 Remove unnecessary data transfer from tip4p/gpu pairstyle init
Such data transfer is performed at each timestep, so it does not belong to the initialization
2020-01-08 01:48:47 +03:00
8cc8c2793b Merge pull request #1819 from jotelha/master
Find parallel NetCDF with cmake for USER-NETCDF
2020-01-07 16:39:35 -05:00
23b73a0ebc plug small memory leak 2020-01-07 15:32:44 -05:00
f8ad7cc90f refactor fix for detecting intel pair styles in hybrid pair styles 2020-01-07 15:09:50 -05:00
4c974c6d5e avoid uninitialized memory access when used with hybrid styles 2020-01-07 11:14:22 -05:00
7470a120bb fix small memory leak in USER-INTEL binning style 2020-01-07 11:13:43 -05:00
46584d4520 Update cmake/Modules/FindPNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2020-01-07 13:26:01 +01:00
24ef36dd4d Update cmake/Modules/FindPNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2020-01-07 13:25:54 +01:00
7bc8c8e9d8 Minor tweaks to in.rigid.gravity example 2020-01-06 21:26:34 -07:00
6aa4f4caf6 Added example script and input data file showing benefits of new fix gravity and fix rigid options 2020-01-06 21:18:00 -07:00
66a473455e silence warnings from generic OpenCL header files (as seen on Fedora 31) 2020-01-06 17:34:26 -05:00
8ac2da792c fix typo in fix ave/atom docs 2020-01-06 16:18:23 -05:00
0dda120ef8 Merge pull request #1800 from jibril-b-coulibaly/patch-1
Correct typo in pair_granular.rst
2020-01-06 15:35:36 -05:00
5500198b4e correct whitespace issue in dynamical_matrix.cpp 2020-01-06 15:21:18 -05:00
394e5459b6 correct whitespace issues in pair_meamc.cpp 2020-01-06 15:16:08 -05:00
fbc0b8a881 Merge branch 'master' into collected-small-fixes 2020-01-06 15:14:48 -05:00
00dfde2952 Merge pull request #1783 from ares201005/fix_dynmat
add force modifications in dynamical_matrix.cpp
2020-01-06 15:08:35 -05:00
1be8109618 Merge pull request #1798 from martok/meamc-dec19
Collected MEAM/C additions
2020-01-06 15:07:08 -05:00
abb1b6bab4 added full p1,p2 swap for CNT end at end of chain 2020-01-06 13:20:41 +00:00
949337abff numerical differentiation for r1,r2, fixed bug in end indices and added p1,p2 swap for r1,r2 forces 2020-01-06 11:33:58 +00:00
a145e5cd3c fixed bug in forces acting on chain 2020-01-04 17:47:38 +00:00
a63792a07a need to explicitly run pair_init_check() inside kspace_init_check() for hybrid styles 2020-01-03 01:40:20 -05:00
2f6018b099 use regex pattern matching to make style lookup more specific with less code 2020-01-03 01:39:35 -05:00
e11374d433 print intel package status message only once per run 2020-01-03 01:37:12 -05:00
a36acf5547 USER-REACT readme 2020-01-01 13:07:46 -05:00
a6eb3ad458 bond/react: update docs (repackage) 2020-01-01 13:06:10 -05:00
96fb374641 bond/react: create USER-REACT 2020-01-01 13:04:59 -05:00
1dc8d4acaa bond/react: repackage examples 2020-01-01 12:58:10 -05:00
293e5c3242 bond/react: tiny polystyrene example 2019-12-31 19:35:42 -05:00
895c6be182 bond/react: tiny epoxy example 2019-12-31 19:32:28 -05:00
c28a9704e2 changed output format for time averaged values 2019-12-30 16:25:30 +00:00
9239688b8f added correct force expressions for approximate chain 2019-12-30 16:24:39 +00:00
f7e214ee8d Merge pull request #63 from lammps/master
rebase
2019-12-27 14:21:44 -05:00
ed1d633060 added harmonic bond and angle to commit 2019-12-23 14:50:14 +00:00
309936027b added harmonic bond and angle to commit 2019-12-23 14:49:44 +00:00
e34234d07b fixed bug with empty neighbor lists 2019-12-23 12:08:58 +00:00
337b0fd649 Fix 'sametag' transfer 2019-12-22 20:20:12 +03:00
3f24144abd Update cmake/Modules/FindPNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2019-12-22 13:25:24 +01:00
0c7d6a01e8 Update cmake/Modules/FindNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2019-12-22 13:25:08 +01:00
4e7bcee8e3 Update cmake/Modules/FindNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2019-12-22 13:24:34 +01:00
200b539d09 added forces on CNT chain 2019-12-22 09:55:40 +00:00
a72f53e367 add stan/steve as code owners for minimizer changes 2019-12-21 16:18:26 -05:00
2084d0657a Merge branch 'fft' of github.com:stanmoore1/lammps into fft
# Conflicts:
#	doc/src/Build_settings.txt
#	src/KOKKOS/fft3d_kokkos.cpp
2019-12-21 11:09:16 -05:00
5268ceaf08 initial commit 2019-12-21 12:36:20 +00:00
a88a00dbbb remove trailing whitespace 2019-12-20 15:08:51 -05:00
3b76ab56f0 port gravity changes to rigid fixes to USER-OMP package versions 2019-12-20 12:09:50 -05:00
c8a53d560a Find parallel NetCDF with cmake for USER-NETCDF
Conflicts:
	cmake/presets/forhlr2-gnu.cmake
2019-12-20 17:59:05 +01:00
3631a50b83 cleaned up indents 2019-12-20 11:24:44 +00:00
21f454c040 correct truncated AlCu.bop.table potential file from Xiaoweng Zhou 2019-12-20 03:48:08 -05:00
a11b886b5c add warning if gravity is used incorrectly with overlapped rigid bodies 2019-12-19 16:17:14 -07:00
402f5585ff Merge pull request #1795 from jrgissing/bond/react-chiral_centers
Bond/react chiral centers
2019-12-19 16:13:32 -05:00
5a2074cc5a Merge pull request #1816 from stanmoore1/kk_min_fix
Fix issue in Kokkos minimize
2019-12-19 16:12:53 -05:00
a65e2a5de4 Use x-axis along the particle's quaternion.
This change allows the fix to work in 2D as well.
2019-12-19 21:34:49 +01:00
8283e68cdd Merge pull request #1807 from ndtrung81/gpu-readme-update
Updates to README and Makefile's in the GPU package
2019-12-19 14:59:12 -05:00
27180e0b22 Merge pull request #1812 from ohenrich/user-cgdna
USER-CGDNA: Added oxRNA2 files to .gitignore
2019-12-19 14:58:56 -05:00
6192741f79 Merge pull request #1813 from wmbrownIntel/user-intel-tri-fix
Bug fix for USER-INTEL package with triclinic neighbor builds.
2019-12-19 14:58:40 -05:00
92b2e4256b Bug fix for lj/class2/coul/long/gpu 2019-12-19 14:45:19 -05:00
7d16783366 Fix issue in Kokkos minimize 2019-12-19 09:31:30 -07:00
081839b449 Fix the example according to the convention 2019-12-19 16:44:32 +03:00
ccc8f29d60 added support for USER-AWPMD package 2019-12-18 12:04:37 -07:00
00ef854da1 Merge pull request #4 from pdebuyl/fix-active-doc
Update documentation of fix propel/self
2019-12-18 12:50:00 -05:00
b6374bacfb enable replicate to work with local ptrs 2019-12-18 08:56:03 -07:00
d05f32d152 Added oxRNA2 files to .gitignore 2019-12-18 11:31:02 +00:00
3be04e4671 Bug fix for USER-INTEL package with triclinic neighbor builds. 2019-12-18 01:27:39 -08:00
b90c372a63 Fix mismatches in CUDA execution space qualifiers between declarations and
definitions.

Add missing `KOKKOS_INLINE_FUNCTION` to the definition of:
- `FixEnforce2DKokkos::post_force_item`
- `FixNeighHistoryKokkos::zero_partner_count_item`
- `FixNeighHistoryKokkos::pre_exchange_item`

Add missing `KOKKOS_FUNCTION` to the definition of:
- `NeighborKokkosExecute::build_Item`
- `NeighborKokkosExecute::build_Item_Ghost`
- `NeighborKokkosExecute::build_ItemSize`
2019-12-17 17:27:51 -08:00
cb20cb9f25 Add range checks for MathSpecial::fm_exp 2019-12-17 22:23:19 +01:00
a231197c10 MEAM/C: remove unused variable alias 2019-12-17 21:55:50 +01:00
1be9364a89 MEAM/C: document new reference structures 2019-12-17 21:55:38 +01:00
4c3ec145f3 Corrected the wrong use of the stubs path in -rpath 2019-12-17 14:05:39 -06:00
913c9a7b33 Update documentation of fix propel/self
1. Remove reference to velocity alignment model.
2. Use reference to velocity-dependent friction for mode velocity
3. Add references to Fily & Marchetti and Bialké, Speck & Löwen for the
quaternion mode.
2019-12-17 11:59:29 +01:00
4c9d355fc7 Fix compile error in fft3d_kokkos.cpp 2019-12-16 13:30:52 -07:00
55fde76d59 may only close files on MPI ranks that have a file reader instance 2019-12-16 07:22:41 -05:00
c169e88268 Update from master 2019-12-13 16:42:05 -07:00
db6d272303 more additions to USER atom styles and bug fixes 2019-12-13 13:54:12 -07:00
6c3161cb55 Merge pull request #1796 from athomps/compute-snap-tweak
Fixed error in compute snap for quadratic and add log files for regre…
2019-12-13 11:55:20 -07:00
8030ff255d Merge pull request #1794 from yafshar/master
Certificate Verification
2019-12-12 13:24:21 -07:00
1f9f85e798 Mark LMP_NO_SSL_CHECK and LMP_DEBUG_CURL as advanced options 2019-12-12 14:17:32 -05:00
b0d0037f50 Certificate Verification
if SSL report an error ("certificate verify failed") during the
handshake and thus refuses further communication with that server,
you can specify your own CA cert path by setting the environment
variable CURL_CA_BUNDLE to the path of your choice.
2019-12-12 12:57:34 -06:00
a1e49eced7 Merge pull request #1806 from akohlmey/mpi-info-in-help
Include MPI version and vendor info in LAMMPS help message
2019-12-12 09:37:28 -07:00
96f75c7b67 Merge pull request #1802 from rbberger/small-fixes
Collection of small fixes
2019-12-12 09:36:53 -07:00
7e8a04d985 More minor update to README 2019-12-12 09:57:49 -06:00
bde8b57f0b Update fix_bond_react.rst 2019-12-11 23:10:11 -07:00
99ba15bf6a Updated README and added -L$(CUDA_HOME)/lib64/stubs to the Makefile's 2019-12-11 16:29:42 -06:00
5e4e6b2853 Merge pull request #1803 from stanmoore1/kk_mpi
Fix performance issues with CUDA-aware MPI
2019-12-11 13:34:33 -07:00
5e983b899a remove unused variable 2019-12-11 08:34:56 -05:00
876032b762 refactor MPI library info query so it can be added to -help flag output 2019-12-11 05:33:16 -05:00
af4e49a517 Merge branch 'rigid-gravity' of github.com:lammps/lammps into rigid-gravity 2019-12-10 14:14:21 -07:00
e0a771d5cb Remove outdated package.txt 2019-12-10 13:46:30 -05:00
fba97b94cb Don't change comm flags when there is only 1 MPI rank 2019-12-10 10:10:12 -07:00
a6a354279c Merge pull request #1804 from ohenrich/user-cgdna
USER-CGDNA update for Install.sh script
2019-12-10 09:31:20 -07:00
bf1ee20403 Added oxRNA2 files to Install.sh script 2019-12-10 14:46:24 +00:00
1b9214c3e9 Fix issues with CUDA-aware MPI 2019-12-09 15:21:47 -07:00
a3fca53e97 Separate the computation of newsite into another kernel
This eliminates the need for thread fence and makes the calculation stable on GTX1070 (CUDA and OpenCL) and TitanV
2019-12-07 15:54:20 +03:00
4a51e1660f Add thread fence in kernel to fix Volta indeterminacy 2019-12-07 01:16:39 +03:00
00547d906b Fix whitespace 2019-12-06 14:43:45 -05:00
2d4d07521d Add false positives to spell check 2019-12-06 14:43:19 -05:00
e68824a392 Merge pull request #1772 from ohenrich/user-cgdna
USER-CGDNA oxRNA2 Implementation
2019-12-06 12:23:47 -07:00
a2f9fa8e78 Separate the computation of hneigh into another kernel
Simplify the main GPU kernel and add another kernel 'k_pair_reneigh'. It works good on GTX1070 (Pascal), but still there is a problem with non-deterministic results on Volta.

I reimplement BaseCharge::compute methods in the child class LJ_TIP4PLong to correctly embed a new kernel in the code.

Also commit includes some codestyle fixes.
2019-12-06 21:41:02 +03:00
5859b18d2f enable fix rigid commands to add gravity to COM of rigid bodies 2019-12-06 11:04:50 -07:00
9af08f2d54 small change for atom_style mdpd 2019-12-06 10:06:16 -07:00
bf20d72fc3 Merge branch 'master' of https://github.com/lengxupa/lammps 2019-12-06 12:05:27 -05:00
38e82cbbcc This fix_deposit document added the description of the new rotation flag and its use. 2019-12-06 12:02:42 -05:00
f6bdf5662e Update pair_granular.rst
Correct formula for tangent stiffness, consistent with `PairGranular::mix_stiffnessG()`
2019-12-06 10:40:04 -06:00
b1668f28dd Merge pull request #1674 from rbberger/library_interface_update
Expose neighbor lists via library interface - Second iteration
2019-12-04 11:11:50 -07:00
81fb0d613f * This commit includes the addition of new reference structures such as
ch4: methane-like structure only for binary system.
dia3: diamond structure with primary 1NN and secondary 3NN inteation
tri: H2O-like structure that has an angle
zig: zigzag structure with a uniform angle
lin: linear structure (180 degree angle)

** tri, zig, and lin reference structures require angle information (in degree)
such as the following.
   theta = 109.5
2019-12-03 19:36:35 +01:00
f51ee40640 atom_vec.cpp 2019-12-03 11:24:12 -07:00
9e52980aaa all of remaining USER package styles except AWPMD 2019-12-03 11:15:16 -07:00
e08ba3f11e Merge branch 'master' into library_interface_update 2019-12-03 12:51:17 -05:00
ce05ed4cca MEAM/C: infer z parameter from lattice structure, eliminates possible user mistakes 2019-12-03 18:06:34 +01:00
7e14dda789 MEAM/C: warn if z given and expected by lattice do not agree 2019-12-03 18:06:29 +01:00
2c65659421 MEAM/C: implement scaling factor for reversible scaling calculations 2019-12-03 18:06:29 +01:00
204529bcaf MEAM/C: remove unused vars, refactoring for extensibility 2019-12-03 18:06:29 +01:00
cd6d2c55d1 MEAM/C: helper function for x=1 2019-12-03 18:06:29 +01:00
1172f7bd96 Delete pair_mesocnt_old.h
deleted old implementation files
2019-12-03 13:25:31 +00:00
6da8a4ca1e Delete pair_mesocnt_old.cpp 2019-12-03 13:25:07 +00:00
7233c3fedf Fixed error in compute snap for quadratic and add log files for regression testing 2019-12-02 18:30:38 -07:00
ccca80a6a5 changes to enable atom_style hybrid to work 2019-12-02 15:39:54 -07:00
e69e96ffbe Update Errors_messages.rst 2019-12-02 15:20:01 -05:00
28fda04526 chiral centers docs 2019-12-02 15:11:59 -05:00
4cb797e63d correct image atom mistake 2019-12-02 14:25:58 -05:00
819fe9ec56 add option to enforce atom chirality 2019-12-02 12:27:57 -05:00
93eb518f5d made local neighbor list, updated when regular list is updated leading to speed-up 2019-12-02 16:54:35 +00:00
1d92840918 Merge pull request #1792 from akohlmey/library-define-fix
Improve handling of LAMMPS integer size defines in library.h
2019-12-02 08:48:34 -07:00
36e102516f angle constraint bugfix
ghost atom fix
2019-12-02 10:34:03 -05:00
2f4adfc0c8 Merge pull request #1786 from rbberger/doc_command_tables
Add Sphinx extension to generate tables from lists
2019-12-02 08:07:22 -07:00
f801fbaca1 outsourced parts of compute into separate functions 2019-12-02 12:45:32 +00:00
0e3c816d41 removed numerical differentiation 2019-12-02 09:59:50 +00:00
dfcb4edca7 Fix trailing whitespace 2019-12-01 15:42:46 -05:00
73a4c58ba1 Merge branch 'master' into doc_command_tables 2019-12-01 15:40:52 -05:00
3ce020eab2 Merge pull request #1779 from athomps/compute-snap
Compute snap
2019-12-01 12:52:22 -07:00
acf02bb1a3 Revert split of Commands_bond.rst as requested by @sjplimp 2019-12-01 14:50:29 -05:00
3611a75ce0 Merge pull request #1771 from julient31/zeeman-rework
Adding test examples for the SPIN package and correcting some bugs
2019-12-01 09:10:25 -07:00
99a6678955 Merge pull request #1787 from akohlmey/collected-small-changes
Collected small changes
2019-12-01 08:14:41 -07:00
c5fc920881 Merge pull request #1784 from LucienPan0903/master
Patch of class2 dihedral in OMP and Kokkos
2019-12-01 08:11:58 -07:00
9140700701 rather than abort with an error, assume -DLAMMPS_SMALLBIG if no define is set 2019-11-29 10:37:30 -05:00
0c29c2827a check if one of the required defines is set and correct dependent API check 2019-11-29 10:16:22 -05:00
e64b395f5d Merge branch 'master' into user-cgdna 2019-11-29 09:11:04 +00:00
4f6cb13592 added atom styles with bonus data, also a few USER packages 2019-11-27 16:03:50 -07:00
f5fb9f2012 Merge pull request #60 from lammps/master
rebase
2019-11-27 14:46:09 -08:00
a5be6e5c55 Merge pull request #1789 from evoyiatzis/patch-2
Patch 2
2019-11-27 14:11:46 -07:00
8677bdda5c Merge branch 'master' into user-cgdna 2019-11-27 15:57:56 -05:00
5c93b6ad6f Update docs: compute_spin, fix_precession_spin, pair_spin_exchange, pair_spin_neel 2019-11-27 15:17:11 -05:00
66a076b819 Delete "float.h" from TIP4P GPU kernel for better OpenCL compatibility
According to Khronos OpenCL docs, "The C99 standard headers <...>, float.h, <...> are not available and cannot be included by a program"
2019-11-27 19:49:12 +03:00
6297c685e8 Add missing false positives for spell check 2019-11-27 11:38:53 -05:00
453d03177d Remove UTF-8 characters 2019-11-27 11:36:37 -05:00
41666be740 Update RST docs and remove txt files 2019-11-27 11:22:16 -05:00
489b7eb2a2 Merge branch 'master' into adaptglok 2019-11-27 11:12:00 -05:00
98221f7a07 Update create_atoms.rst and remove txt file 2019-11-27 11:06:52 -05:00
ce4b71f3e0 Merge branch 'master' into Ncreate_atoms 2019-11-27 11:01:23 -05:00
e3da3cadad Remove magic numbers and additional data types in extract_global 2019-11-27 10:51:09 -05:00
b49957c191 Fix memory leak 2019-11-27 10:50:41 -05:00
1f83c7d037 Commit JT 112719
- correcting 'neighbours' in doc
- modifying README is src/SPIN
2019-11-27 06:26:34 -07:00
6c18e366d7 changes to start to make atom style hybrid work 2019-11-26 18:34:51 -07:00
60d5244526 Remove the const of costh12, costh13 costh23 in KOKKOS class dihedral 2019-11-26 18:05:06 -05:00
d806ee5d7e Fixes misleading indentation 2019-11-26 17:25:51 -05:00
87a04db02c add prototype of style checking script (incomplete)
so far, this code can compile a list of styles with flags
indicating support for accelerated styles
2019-11-26 16:24:03 -05:00
3aed4eb74c Update Howto_pylammps.rst 2019-11-26 21:52:31 +01:00
3736af0aaf initial refactoring on AtomVec class 2019-11-26 13:42:32 -07:00
3bd3c7a196 remove compute head/flux txt style docs as it is out of sync with the rst version 2019-11-26 14:48:08 -05:00
3b6a42dc79 clarify the impact of the lack of potential energy in pair style agni 2019-11-26 14:46:32 -05:00
a171efa149 Resolve merge conflict by merging in master and recreating Commands_compute.rst 2019-11-26 08:20:42 -05:00
2e4f514d40 Fixed some minor errors and omissions 2019-11-25 14:32:37 -07:00
f98a0025d6 Merge branch 'compute-snap' of https://github.com/athomps/lammps into compute-snap 2019-11-25 14:00:53 -07:00
dae321f83a fixed smooth cutoff, added numerical differentiation as comparison 2019-11-25 14:54:40 +00:00
4c13001a6f Add extension errors that stop the build 2019-11-24 19:49:59 -07:00
7d289063b4 Update src/Command*.rst files 2019-11-24 19:23:16 -07:00
2c33b5589d Remove txt/Commands*.txt 2019-11-24 18:12:24 -07:00
65381d7a69 Add new table_from_list extension 2019-11-24 18:11:35 -07:00
8bca0b13f1 Commit2 JT 112219
- correcting issue in src/SPIN/atom_vec_spin.cpp (inconsistency packing/unpacking hybrid)
- rerunning all examples with corrections of former commit
2019-11-22 16:29:37 -07:00
89bb2ef83f Commit JT 112219
- improved figure in precession/spin documentation
- corrected other pair/spin interactions
2019-11-22 12:07:05 -07:00
32514eceaf integrated energies into force functions 2019-11-22 18:31:42 +00:00
0df520a0c9 finished all functions, still buggy 2019-11-22 17:15:56 +00:00
0f809c639a added force functions 2019-11-22 12:17:06 +00:00
b606e95364 Merge branch 'master' of github.com:LucienPan0903/lammps 2019-11-21 18:08:20 -05:00
54f998bde5 Patch of Dihedral class2 KOKKOS
Since the costh12, costh13, costh23 and c0 are declared as const,
a hack using const_cast is used to work around this.
2019-11-21 18:07:17 -05:00
0085aaabd2 Patch of Dihedral class2 KOKKOS
Since the costh12 costh13 costh13 and costh0 are declared as const,
a hack using const_cast is used to work around this.
2019-11-21 18:00:18 -05:00
babab9b5f7 replace non-UTF-8 compliant character with ASCII 2019-11-21 17:09:24 -05:00
c14ac53306 Patch of class2 dihedral in OMP and Kokkos 2019-11-21 12:28:18 -05:00
4ed8e38b5a added parallel case to finf 2019-11-21 15:41:51 +00:00
b4b1e10998 added usemi, graphs from paper reproducable (in code) 2019-11-21 15:06:54 +00:00
5cec83031f minor bugfixes in read_file, now with correct spline starting values 2019-11-21 14:02:16 +00:00
45c4165811 minor bugfixes to coefficients, debug statements included 2019-11-20 20:35:23 +00:00
5174365570 add force modifications. Previous code does not call force modify, thus the dynamical matrix calculation does not work for other potentials defined via modify 2019-11-20 13:21:41 -07:00
738f155cc4 Merge pull request #1777 from akohlmey/next_patch_release
Step version strings for next patch release
2019-11-20 12:04:10 -05:00
ae46503b73 Merge pull request #1782 from akohlmey/last-minute-fixes
Last minute bugfix for the upcoming patch release
2019-11-20 12:03:32 -05:00
5b0403ced5 added geometry functions 2019-11-20 16:04:48 +00:00
24b7c13a42 fixed splines, spline testing included 2019-11-20 11:31:52 +00:00
5c7a81128d Merge branch 'zeeman-rework' of github.com:julient31/lammps into zeeman-rework 2019-11-19 15:51:55 -07:00
b4ba356f7b Commit JT 111919
- generated fresh log. files in examples
- corrected some of the examples
2019-11-19 15:50:56 -07:00
6b3421c966 silence compiler warning 2019-11-19 17:23:03 -05:00
3525c13653 need to make certain, that cvflag_atom is always initialized 2019-11-19 16:36:09 -05:00
8f3680039b Merge pull request #1704 from donatas-surblys/many-body-atomic-stress-rev
Revised implementation of a new atomic stress definition for correct computation of heat flux with many-body interactions
2019-11-19 15:53:40 -05:00
280d0defec whitespace cleanup 2019-11-19 15:35:31 -05:00
2a943241ae update doc/src/.gitignore 2019-11-19 15:33:44 -05:00
3dc8b7b6e5 update rst files with changes to .txt versions 2019-11-19 15:30:30 -05:00
3b6fa078c2 Merge branch 'master' into zeeman-rework 2019-11-19 15:29:21 -05:00
379b936149 minor bug fix in file_read 2019-11-19 20:09:34 +00:00
a0c51b40b9 Commit2 JT 111919
- renaming validation directory
2019-11-19 12:54:30 -07:00
b109fd1687 Commit JT 111919
- modified named of tests, from benchmark to validation
2019-11-19 12:50:52 -07:00
5435d19a7c update compute command lists for added compute centroid/stress/atom 2019-11-19 13:48:39 -05:00
2e31086094 Merge branch 'master' into many-body-atomic-stress-rev 2019-11-19 13:27:52 -05:00
7468497673 added splines 2019-11-19 16:59:49 +00:00
897ffef242 Fixed some formatting issues 2019-11-19 00:50:57 -07:00
920a217ee1 Fixed some formatting issues 2019-11-19 00:47:29 -07:00
921d0794bb Finished documentation and example 2019-11-19 00:12:57 -07:00
b092a9fffa Added code to create pressure compute snap_press behind the scenes 2019-11-19 00:00:04 -07:00
59af51ca91 Added code to create pressure compute snap_press behind the scenes 2019-11-18 23:51:08 -07:00
11961084ce Made compute snap fully parallel 2019-11-18 21:35:32 -07:00
39a26e6c35 Merge pull request #1769 from akohlmey/collected-small-fixes
Collected small fixes for the next patch release
2019-11-18 11:33:12 -05:00
fbf280f6a3 Merge pull request #1775 from rbberger/doc_updates
Update bond docs
2019-11-18 11:32:07 -05:00
2e24d0ab26 step version strings for next patch release 2019-11-18 10:38:42 -05:00
c504d93e3c Found an error in energy row that only affected ntypes > 1 2019-11-17 19:23:14 -07:00
7cfd5ce634 Fixed another problem with typeoffsets 2019-11-17 17:01:12 -07:00
2fea49741f Fixed some problems with type offsets 2019-11-17 16:50:16 -07:00
4febc7f794 Add copyright and fix style 2019-11-18 02:01:32 +03:00
ca8d1ac2ff Simplify tip4p GPU memory resize using 'resize_ib' 2019-11-18 02:01:32 +03:00
f47c543ca6 Merge pull request #59 from lammps/master
rebase
2019-11-17 13:16:59 -07:00
7f448a02b1 Add examples/water 2019-11-17 22:01:29 +03:00
19b265f845 Update CMake-based doc build 2019-11-16 23:57:12 -05:00
3ff3621efa Fix pdf build 2019-11-16 23:17:08 -05:00
d6b1e302f2 Update docs: bond_hybrid 2019-11-16 22:59:34 -05:00
ff9f93bbf6 Update docs: bond_table 2019-11-16 22:51:46 -05:00
1b4e84de94 Update docs: bond_none 2019-11-16 22:46:53 -05:00
18a86a90ef Update docs: bond_zero 2019-11-16 22:44:28 -05:00
2a900f85aa Update docs: bond_style 2019-11-16 22:40:33 -05:00
c5c7e6953c Update docs: bond_write 2019-11-16 22:35:06 -05:00
9780fd3146 Update docs: bond_coeff 2019-11-16 22:30:09 -05:00
d13ec0d098 Update docs: bond_quartic 2019-11-16 22:27:08 -05:00
2150415888 Update docs: bond_oxdna 2019-11-16 22:18:22 -05:00
48485f1e2f Update docs: bond_nonlinear 2019-11-16 22:14:15 -05:00
35181a66d0 Update docs: bond_morse 2019-11-16 22:08:33 -05:00
3861b3cbbb ComputeSnap is working with, matching results FitSNAP3 A matrix 2019-11-16 18:20:08 -07:00
64c31b377e Update docs: bond_mm3 2019-11-16 19:59:59 -05:00
7aa74ac250 Update docs: bond_harmonic_shift_cut 2019-11-16 19:53:38 -05:00
fed5d07aa7 Update docs: bond_harmonic_shift 2019-11-16 19:36:17 -05:00
41c0d69050 Update docs: pair_list 2019-11-16 19:28:20 -05:00
4a1e9d9483 Update docs: bond_harmonic 2019-11-16 19:19:57 -05:00
5760de0587 Update docs: bond_gromos 2019-11-16 19:10:25 -05:00
a3b3b761ef Update docs: bond_fene_expand 2019-11-16 19:07:16 -05:00
5f89fde6bc Update docs: bond_fene 2019-11-16 18:59:49 -05:00
98bd975e90 Update docs: bond_class2 2019-11-16 18:53:01 -05:00
a1d226f26e Update docs: atom_style 2019-11-16 18:42:32 -05:00
4b6265ae40 Update docs: atom_modify 2019-11-16 18:40:26 -05:00
ffc443c957 Started on ComputeSnap 2019-11-15 18:34:44 -07:00
58bbbc3d8b Started on ComputeSnap 2019-11-15 18:00:25 -07:00
4889488412 rename count_embed to numforce and move the location where numforce is set to 0 2019-11-15 19:49:30 -05:00
9a43229c83 disable single function for KOKKOS eam styles, since the required data is not available 2019-11-15 19:48:58 -05:00
2013b7edf9 Merge remote-tracking branch 'origin/master' into library_interface_update 2019-11-15 17:44:03 -05:00
06c7464a20 Fixed anchor error 2019-11-15 22:05:12 +00:00
4fa86e6ee8 Revert "Fixed anchor errors"
This reverts commit 2d6e84edd7.
2019-11-15 21:59:21 +00:00
2d6e84edd7 Fixed anchor errors 2019-11-15 21:45:33 +00:00
b61fb73677 Merge branch 'master' into collected-small-fixes
# Conflicts:
#	doc/README
2019-11-15 16:44:47 -05:00
2e6b19ea5f Merge pull request #1770 from rbberger/doc_math_changes
Update angle docs
2019-11-15 16:27:36 -05:00
2c2b7cf20b Corrected linking error 2019-11-15 21:19:33 +00:00
95de27d8d1 correct false positives to not have non-ASCII characters 2019-11-15 14:31:33 -05:00
5ddac24161 Modified README 2019-11-15 19:27:48 +00:00
08044dcd35 update README for "make pdf" and list dependencies 2019-11-15 14:21:44 -05:00
e287cd975b update README 2019-11-15 14:10:33 -05:00
3d106c7d47 replace non-ascii character 2019-11-15 14:09:59 -05:00
f4491011d0 Modified README 2019-11-15 18:54:37 +00:00
31ac2f3bd1 Commit2 JT 151119
- adding doc exceptions to false-positives
2019-11-15 11:42:04 -07:00
39ca4c85b7 Merge branch 'clean-master2' of github.com:julient31/lammps into zeeman-rework 2019-11-15 11:25:52 -07:00
0346a3d6d1 Commit JT 111519
- add README file to the benchmark examples repo
- removed comments from src/SPIN files
2019-11-15 10:53:39 -07:00
f96520ffc6 Added unique base pairing 2019-11-15 17:49:17 +00:00
334a74830d Fix equations 2019-11-15 12:48:43 -05:00
7e58920fe3 move developer's guide tex sources back to src/Developer 2019-11-15 12:37:46 -05:00
71a4755a8e Update docs: angle_table 2019-11-15 11:48:00 -05:00
10f98e3f10 Update docs: angle_none 2019-11-15 11:42:02 -05:00
cedcc6fc50 Commit JT 111519
- modified documentation spin (compute and exchange)
- modified compute spin for Ts
2019-11-15 09:27:02 -07:00
cdd56cd08f Update docs: angle_style 2019-11-15 11:22:25 -05:00
fb64068fbc Update docs: angle_coeff 2019-11-15 11:16:47 -05:00
e017e7d447 Update docs: angle_zero 2019-11-15 11:13:07 -05:00
a20a27880d Update docs: angle_sdk 2019-11-15 11:05:23 -05:00
cbbe449d07 Updated README 2019-11-15 15:59:06 +00:00
5d6137fd69 Update docs: angle_quartic 2019-11-15 10:55:06 -05:00
ec052ea99a Update docs: angle_mm3 2019-11-15 10:45:25 -05:00
1df3a71734 Updated documentation 2019-11-15 15:35:19 +00:00
bac8d15764 Merge branch 'master' into user-cgdna 2019-11-15 10:06:49 +00:00
c182d3f545 Update docs: fix_restrain 2019-11-14 21:16:24 -05:00
aed67fc96e Update docs: angle_hybrid 2019-11-14 21:06:14 -05:00
dcf332f896 Update docs: angle_harmonic 2019-11-14 20:57:34 -05:00
46db670093 Update docs: angle_fourier_simple 2019-11-14 20:52:55 -05:00
36a5c73a71 Update docs: angle_fourier 2019-11-14 20:49:02 -05:00
954be8483a Update docs: angle_dipole 2019-11-14 20:44:22 -05:00
35f305eac4 Update docs: angle_cross 2019-11-14 17:02:23 -05:00
579b1271b0 Update docs: angle_cosine_squared 2019-11-14 16:51:06 -05:00
f2271e294d Update docs: angle_cosine_shift_exp 2019-11-14 16:32:17 -05:00
de166a3d16 Update docs: angle_cosine_shift 2019-11-14 16:19:06 -05:00
c4511cb2fc Update docs: angle_cosine_periodic 2019-11-14 15:59:40 -05:00
71304c3b8c Update docs: angle_cosine_delta 2019-11-14 15:52:29 -05:00
00fc015e4c Update docs: angle_cosine_buck6d 2019-11-14 15:48:19 -05:00
c25f8b2120 Update docs: angle_cosine 2019-11-14 15:43:27 -05:00
28402ad656 Update docs: angle_class2 2019-11-14 15:36:29 -05:00
9c1d5e76cc Update docs: angle_charmm 2019-11-14 15:31:21 -05:00
125b29a686 replace non-ascii character 2019-11-14 13:50:30 -05:00
0ef3d0e59a update README 2019-11-14 12:36:05 -05:00
9ea5e40255 move developer's guide tex sources back to src/Developer 2019-11-14 12:35:50 -05:00
32753a59e6 one more whitespace cleanup 2019-11-14 09:42:44 -05:00
fd22ef52cc Merge branch 'master' into collected-small-fixes 2019-11-14 09:41:50 -05:00
5d042cf629 Merge pull request #1740 from cabb99/master
Fix print patch to allow print on rerun
2019-11-14 09:25:50 -05:00
60fe0c0b86 Silence compiler warning 2019-11-14 09:24:56 -05:00
93bd2f4ab0 Commit JT 111319
- addind 4 first benchmark examples (in examples/SPIN/benchmark)
- corrected typo in examples (in dump commands)
2019-11-13 20:46:28 -07:00
62b3e79022 Add autodoc for lammps.lammps and lammps.NeighList 2019-11-13 15:54:22 -05:00
28a9dc40cb Add docstring to new lammps.py methods 2019-11-13 15:53:25 -05:00
7e92c2e0ee Add more detailed code documentation 2019-11-13 14:30:13 -05:00
b0c872cd51 started refactoring mesocnt code 2019-11-13 16:48:21 +00:00
f18cb83def fix spelling: dihedras -> dihedrals 2019-11-14 01:07:30 +09:00
28269c4a21 change wording to be more in line with LAMMPS terminology and current state of implementation 2019-11-13 22:19:34 +09:00
85e96bf31c fix broken italization 2019-11-13 22:02:10 +09:00
e44c394680 pairwise -> two-body for clarity in appropriate comments 2019-11-13 19:48:52 +09:00
b80e5d3d11 fix spelling: forth -> fourth 2019-11-13 18:45:49 +09:00
b5c6647992 prevent pair hybrid from needlessly allocating vatom when only cvatom is needed 2019-11-13 18:42:34 +09:00
6b94126f67 change flag name in pair.h: cntratmstressflag -> centroidstressflag 2019-11-13 18:37:48 +09:00
e0646b73e3 revised implementation of inclusion of embedding energy in PairEAM::single()
this variant is also ported to USER-OMP and OPT
2019-11-13 01:46:00 -05:00
f1e4f98364 include embedding energy term in PairEAM::single() 2019-11-13 01:04:39 -05:00
f704079fb7 remove trailing whitespace 2019-11-12 16:13:01 -05:00
78d5bc3d12 Merge branch 'master' into library_interface_update 2019-11-12 15:17:32 -05:00
25e2a7a37f update bond style table docs about out-of-range errors 2019-11-12 14:25:45 -05:00
f803ba5655 Add shfl_xor sum to kernel for ARCH>=300 2019-11-12 21:35:36 +03:00
1955c57791 make fix print work the same for run, multiple runs, rerun 2019-11-12 10:16:50 -07:00
2d75e6b167 Add author name to false positives for citation "Boone, Babaei, Wilmer, J Chem Theory Comput, 15, 5579–5587 (2019)." 2019-11-12 23:37:14 +09:00
b6930cbc8d Add author names to false positives for citation "Surblys, Matsubara, Kikugawa, Ohara, Phys Rev E, 99, 051301(R) (2019)." 2019-11-12 23:34:03 +09:00
b65a3e94a7 update compute heat/flux documentation 2019-11-12 22:43:52 +09:00
de7a8c6559 Merge pull request #1768 from ellio167/doc-conda
Add Install_conda doc
2019-11-11 17:11:22 -05:00
5289417e9c Merge pull request #1739 from evoyiatzis/shape_chunk
Computing the eigenvalues of the gyration tensor and shape parameters…
2019-11-11 17:10:52 -05:00
06fdaa04b3 Merge pull request #2 from rbberger/shape_chunk
Fix documentation
2019-11-11 21:46:44 +01:00
0018a88f45 Only keep RST version of compute_gyration_shape_chunk 2019-11-11 15:32:48 -05:00
22a033f5d4 Move compute_gyration_shape_chunk.txt into txt/ folder 2019-11-11 15:32:09 -05:00
16f67ee56a Add new words to false-positives.txt 2019-11-11 15:26:48 -05:00
5ba7686939 add documentation about centroid/stress/atom compute 2019-11-12 01:40:59 +09:00
9e2129b676 Merge pull request #1767 from LucienPan0903/p_class2
Patch of class2 dihedral
2019-11-11 10:44:37 -05:00
7db3d7b5c0 setting cntatmstressflag = 1 for true pariwise styles 2019-11-12 00:02:50 +09:00
0a64dff132 add initial support to centroid virial in USER-OMP pair styles 2019-11-11 23:27:10 +09:00
7937bec396 add pair style compatibility check to compute centroid/stress/atom 2019-11-11 22:45:59 +09:00
a782245179 support for par-atom centroid virial in pair hybrid 2019-11-11 19:39:01 +09:00
61a286a0da compute centroid/atom/stress will use cvatom from pair styles when available 2019-11-11 19:16:21 +09:00
3258a14923 initial support for par-atom centroid virial in pair styles 2019-11-11 18:46:59 +09:00
02791e0b4d Add Install_conda doc 2019-11-10 17:49:15 -06:00
93b03aa82c Merge pull request #1 from akohlmey/shape_chunk
Documentation update
2019-11-10 21:35:30 +01:00
64bdc59623 Implement GPU pair style lj/cut/tip4p/long/gpu
Source code, Makefiles and Install for GPU-accelerated TIP4P pair style.
It is implemented as a part of the standard GPU package.
The style is compatible with the standard  lj/cut/tip4p/long.
Also, this commit modifies "atom.h" just to
add a getter for variable 'max_same'.
2019-11-10 02:38:58 +03:00
599a189545 Patch of class2 dihedral 2019-11-08 17:28:49 -05:00
59b5ef8fb0 Patch of Dihedral class2 2019-11-08 17:17:01 -05:00
cb30ab7556 Merge branch 'p_class2' of github.com:LucienPan0903/lammps into p_class2 2019-11-08 16:28:49 -05:00
4baa665a80 Patch of class2 dihedral
Fix the NAN problem when any two bonds are nearly parallel
2019-11-08 16:26:54 -05:00
e5933ecc4a Fix previous submission of nan problem 2019-11-08 16:22:57 -05:00
29b2dc7043 Patch of class2 dihedral
Fix the nan problem when any two bonds are nearly parallel
2019-11-08 16:11:34 -05:00
b9648884bb Add rst versions of new documentation 2019-11-08 15:28:12 -05:00
07a34382ae Magic
Merge branch 'master' into shape_chunk
2019-11-08 15:25:47 -05:00
90729ebe25 Merge pull request #1764 from jwood13/stable
Add a max and min option to fix_gcmc
2019-11-08 15:01:51 -05:00
6623169d97 Delete example file on request of @athomps 2019-11-08 15:00:26 -05:00
95a6498569 Merge pull request #1766 from lammps/compute-hma-doc
Link compute hma docs
2019-11-08 14:51:32 -05:00
8778ec9dde Merge pull request #1763 from lammps/fix-pour-doc
add documention to FixPour::outside(), simplify logic a bit
2019-11-08 12:09:19 -05:00
0583fb6ae0 update rst file also 2019-11-08 09:46:49 -07:00
82ecce8a1a Merge branch 'master' into compute-hma-doc 2019-11-08 09:40:40 -07:00
cbca94e4bf Merge pull request #1765 from rbberger/doc_fixes
Doc Fixes
2019-11-08 11:27:33 -05:00
02a1ef0630 add compute hma to list of computes 2019-11-08 09:25:08 -07:00
6eebc86735 Update lammps.book
Update stochastic wall
2019-11-08 11:12:31 +01:00
01faaadf37 Update fix.txt
Add wall/reflect/stochastic
2019-11-08 11:08:05 +01:00
6aea69104c Update fixes.txt 2019-11-08 11:03:45 +01:00
b8a51b34a1 Rename fix_wall_stochastic.txt to fix_wall_reflect_stochastic.txt 2019-11-08 11:02:42 +01:00
4c48700df0 Update Commands_fix.txt 2019-11-08 11:01:50 +01:00
01f605a195 Update fix_wall_stochastic.txt 2019-11-08 10:58:41 +01:00
28f5ad6993 Add files via upload 2019-11-08 10:53:07 +01:00
b3feeddaab Delete fix_wall_stochastic.cpp 2019-11-08 10:52:45 +01:00
b8314db8d1 Delete fix_wall_stochastic.h 2019-11-08 10:52:30 +01:00
f4ff35f2ce Add files via upload 2019-11-08 10:51:24 +01:00
81e92de838 Fix doc Makefile 2019-11-07 21:47:29 -05:00
83f0eb0058 Remove unnecessary files 2019-11-07 21:47:02 -05:00
ce6893e717 Add max/min changes to documentation
again
2019-11-08 12:59:39 +11:00
e926c16544 Merge remote-tracking branch 'upstream/master' into stable 2019-11-08 12:58:23 +11:00
c5b0f0afcf add documention to FixPour::outside(), simplify logic a bit 2019-11-07 17:06:38 -07:00
d37ee59296 Add example of fix gcmc max behaviour 2019-11-08 10:53:53 +11:00
a2eec80f25 add max and min to documentation 2019-11-08 10:53:53 +11:00
e5dd154366 Make max/min prevent moves already outside the bounds
Previously allowed free movement outside the bounds until they were reached.
Now forces movement towards the bounds
2019-11-08 10:53:53 +11:00
6d7a591dce Merge pull request #1762 from rbberger/doc_lammps_lexer
Add LAMMPSLexer for LAMMPS code-blocks in docs
2019-11-07 16:25:01 -05:00
d2da55f5e3 Update Howto_pylammps.rst and remove Howto_pylammps.txt 2019-11-06 23:52:04 -05:00
3f10c4fcdc Update Manual_build.rst and remove Manual_build.txt 2019-11-06 23:33:14 -05:00
eaef8089a1 Add LAMMPSLexer for LAMMPS code-blocks in docs 2019-11-06 17:40:39 -05:00
f80c527b17 Commit JT 100619
- modified precession and Langevin/spin
2019-11-06 14:15:25 -07:00
f2795f26b8 Merge branch 'master' into fix-dummy
sync with latest whitespace changes
2019-11-06 13:49:59 -07:00
6af726e589 undo a re-bug change - sigh 2019-11-06 10:26:13 -07:00
bb18adc745 Merge pull request #1761 from rbberger/doc_updates
Update documentation tools and paths
2019-11-06 12:24:03 -05:00
d34502669c fixed a typo 2019-11-06 09:38:38 -07:00
9ac9ba6401 Merge branch 'master' into doc_updates 2019-11-06 11:35:35 -05:00
09e539cce1 make IDs of 2 fix neigh history instances unique 2019-11-06 08:35:31 -07:00
cf0eac62fa Merge pull request #1745 from yafshar/feature_parameterupdate
New KIM package feature: kim_param command for querying model parameters.
2019-11-06 09:17:07 -05:00
e64f68e73c Merge pull request #1 from akohlmey/kim_update_rst_fixes
Documentation update for your LAMMPS pull request
2019-11-06 07:55:42 -06:00
2fd9a27902 update kim_commands.rst from .txt file 2019-11-06 08:33:05 -05:00
729eabd771 make QUIP_LIBRARY setting consistent and backport change to .rst file only 2019-11-06 08:32:07 -05:00
efcf919ede Merge branch 'master' into feature_parameterupdate 2019-11-06 08:21:33 -05:00
2bbf52073f Merge pull request #1759 from akohlmey/hybrid-exclusion-bugfix
Consistent exclusion settings with multiple kspace-like sub-styles in pair hybrid
2019-11-06 06:24:35 -05:00
ee4e6352c4 Merge pull request #1755 from akohlmey/whitespace-cleanup
Whitespace cleanup
2019-11-06 06:23:16 -05:00
ca0cf23a4b fix a bug with indexing the replaced fix and optional args 2019-11-05 16:59:44 -07:00
c3e52c3c8c Use globs for style lists 2019-11-05 15:49:09 -05:00
c756e472ae Remove Manual.txt and use variable for version 2019-11-05 15:34:57 -05:00
5e6694f3bc Re-enabled conversion of equations arrays. Disabled works even worse 2019-11-05 15:27:21 -05:00
423a3bb99f Add initial version of updated tools from #1533 2019-11-05 15:27:21 -05:00
74dade3ccb Change doc folder src -> txt, rst -> src 2019-11-05 15:27:21 -05:00
d8ef5f6991 added internal fix dummy command to enable more control of fix ordering 2019-11-05 12:57:34 -07:00
fe91d462db Merge pull request #1758 from marian-code/patch-1
wrong cmake option for QUIP
2019-11-05 12:11:17 -05:00
ae4764e614 address pair match issue with multiple hybrid substyles in exclusion settings 2019-11-05 11:03:25 -05:00
7ec1dccbe0 wrong cmake option for QUIP
QUIP cmake option for specifying library path should be QUIP_LIBRARY not QUIP_LIBRARIES
2019-11-05 14:57:44 +01:00
816546d008 Commit3 JT 110419
- comments in precession
2019-11-04 17:38:32 -07:00
7bef07e9f7 Merge branch 'master' into HEAD 2019-11-04 16:52:02 -05:00
cf251eb8be Merge pull request #1756 from julient31/correct-minimizer
Correct warning issue in min_cg.cpp
2019-11-04 15:37:32 -05:00
e20439374e Merge pull request #1643 from rbberger/docs_to_rst_migration
Change documentation to use RST directly
2019-11-04 12:15:22 -05:00
74e502eb63 Commit2 JT 110419
- removed all tabs from spin package
2019-11-04 09:59:37 -07:00
1074884f74 Commit JT 110419
- removed fmax uninitialized variable from min_cg.cpp
- removed tabs from comments
- initialized fdotf variables
2019-11-04 09:04:43 -07:00
d64bc2a1b7 Commit JT 110419
- commit changes examples
2019-11-04 08:05:07 -07:00
b6b022b610 whitespace cleanup: remove trailing blanks 2019-11-03 11:03:39 -05:00
9e7ca428aa whitespace cleanup: remove (evil) tabs 2019-11-03 11:01:42 -05:00
12cb19090a Remove txt2html and htmldoc from doc build 2019-11-02 23:07:49 -04:00
8f946b765e Add missing RST files 2019-11-02 23:03:36 -04:00
eac5f6e53e Update RST files 2019-11-02 23:01:18 -04:00
aeaa289d1d Merge branch 'master' into docs_to_rst_migration 2019-11-02 22:57:43 -04:00
e6aa79101f Implemented and verified oxRNA2 model 2019-11-01 10:54:12 +00:00
e119bffcca Fixed bugs with kernel (re)compiling when the global device got cleared and then reinitialized 2019-10-31 01:15:53 -05:00
63cce391ca Adding the documentation for the new 'kim_param' command
New documnetation is added and the whole document is checked
and partly rewritten for clarity and errors are corrected

Adding the word "Zm" to prevent the spelling error in document
building check.
2019-10-29 11:51:05 -05:00
5ce8860dce Updating the 'kim_query' default behavior and adding the 'list' setting
Adding the 'list' setting of {formatarg} (default behavior or if
{formatarg} is not specified), the result is returned as a
space-separated list of values in {variable}.
2019-10-29 11:51:05 -05:00
c8c92189b4 New capabilities for accessing KIM portable models parameters
Add an ability within LAMMPS for getting/setting KIM
portable models (PM) parameters. The assumption is that
the model is already known (through 'kim_init') when
calling the new command.

'kim_param get' gets the value of PM parameters, where
the command input includes:
parameter name, & location, or indices range, and the
variable(s) name / variable name + split / list /explicit
to return the value(s).

'kim_param get paramname index_range varname [s|split|list|explicit]'

'kim_param set' sets the value(s) of PM parameters, where
the command input includes:
parameter name, & location, or indices range, and the
corresponding variable(s) value(s).

'kim_param set paramname index_range value(s)'

NOTE: The varable_name is the name of the lammps variable in the
lammps input script and can be used in other locations in the
script.
2019-10-29 11:51:05 -05:00
3cca4e0d2d New capabilities for updating KIM portable models parameters
1. Add new capabilities within LAMMPS for setting parameters of
the KIM portable models (PM). The current implementation extends
the 'pair_coeff' command to modify the PM parameters.
A series of additional parameters after the species list is the
input to the modified command. Each set of the other setting
is parameter name, range of array indices, and corresponding
parameter values.

2. Add two getters to the PairKIM class to get the KIM_Model object,
and the atom type list outside the 'pair_kim' command for ease of
use and extension ability of a new 'kim_param' command.
2019-10-29 11:50:28 -05:00
63cb88daae Printing the mutable parameters of the KIM portable models
Calling 'kim_init' would report the mutable parameters
of KIM portable models (PM) including parameter's name,
data type, and extent.
2019-10-29 10:46:35 -05:00
4743c0004f Commit JT 102819
- corrected issue in Zeeman precession
- improved documentation of Zeeman interaction
2019-10-28 15:34:52 -06:00
050a0d4f5c fixing link issues 2019-10-27 12:15:50 +01:00
e263890a6b inclusion of reference links in the text 2019-10-26 18:09:11 +02:00
4859f3e534 Minor documentation correction 2019-10-24 15:29:07 +02:00
f758d0670e Small documentation simplification 2019-10-24 15:27:44 +02:00
9215bce14f Updated and simplified documentation 2019-10-24 15:06:43 +02:00
1cb9e0d86d Remove unecessary compute 2019-10-24 14:20:03 +02:00
4a669bb883 Renamed: adaptglok -> fire2 2019-10-24 14:14:00 +02:00
549c8ee734 Renamed: adaptglok -> fire2 2019-10-24 14:11:16 +02:00
9885d384be Fix print patch to allow print on rerun 2019-10-23 13:00:34 -05:00
b7fbb36b81 one more missing entry to required files 2019-10-23 12:10:20 -04:00
fad4cecc20 no need to define link targets that are not pointed to 2019-10-23 12:10:03 -04:00
22b9cce436 Update lammps.book 2019-10-22 20:44:06 +02:00
a8501f922c Computing the eigenvalues of the gyration tensor and shape parameters per chunk 2019-10-22 20:35:54 +02:00
54733b204d Merge pull request #57 from lammps/master
rebase
2019-10-18 20:13:04 -06:00
e47090d931 add suport for centroid virial to hybrid angle/dihedral/improper styles 2019-10-11 18:10:06 +09:00
766b8c58d8 Merge branch 'master' into fft 2019-10-08 16:51:11 +02:00
877329c1e4 rename rflag to orientflag to be consistent with documentation and more readable 2019-10-08 16:35:50 +02:00
3e49aab521 update missed pair styles for modified ev_setup_thr 2019-10-08 19:47:15 +09:00
f4a07cf24e update USER-OMP to compute per-atom virial for pairs when vflag=8 2019-10-08 16:11:58 +09:00
9301fc6b9d update compute heat/flux to work with compute centroid/stress/atom 2019-10-08 12:05:49 +09:00
4e53102499 add compute centroid/stress/atom 2019-10-08 16:06:13 +09:00
7bd296919e update USER-OMP to compute per-atom centroid virial for impropers when vflag=8 2019-10-08 14:55:26 +09:00
a368f4ee29 update USER-OMP to compute per-atom centroid virial for dihedrals when vflag=8 2019-10-08 14:55:20 +09:00
cbeba2fa25 add a comment to bond.cpp about per-atom virial and per-atom centroid virial equivalency 2019-10-08 15:41:13 +09:00
20b44f2427 update USER-OMP to compute per-atom centroid virial for angles when vflag=8 2019-10-08 14:06:54 +09:00
f16486b23e stats bug when straight MD + quench 2019-10-07 09:03:36 -06:00
16b01af95a minor changes, removed index swapping 2019-10-04 20:06:30 +01:00
d401d07595 v_tally9 helper function for adding arrays with 9 elements 2019-10-04 19:39:23 +09:00
ad6e5a82b0 update USER-OMP to compute per-atom centroid virial for bonds when vflag=8 2019-10-08 16:08:04 +09:00
d2281503ca add centroid virial argument (cvatom) to ThrOMP::ev_setup_thr, and modify all related styles to pass a NULL pointer to pass compilation 2019-10-04 19:14:05 +09:00
25b6de2001 update improper.h and improper.cpp to compute per-atom centroid virial according to vflag=8 2019-10-04 18:33:26 +09:00
8a307ed12e update dihedral.h and dihedral.cpp to compute per-atom centroid virial according to vflag=8 2019-10-04 18:27:04 +09:00
239edc3442 update angle.h and angle.cpp to compute per-atom centroid virial according to vflag=8 2019-10-04 18:05:25 +09:00
0067a5b0fe add support for pressatomflag=2 to compute.h and vflag=8 to integrate.cpp and min.cpp to indicate centroid atomic stress computation 2019-10-04 17:34:15 +09:00
afc9627506 Add files via upload 2019-10-04 09:52:45 +02:00
b9d68f93af remove debug statement 2019-10-03 17:04:40 -06:00
5c92e5aa01 added W minimization example 2019-10-03 17:02:04 -06:00
49cd88170f Merge branch 'master' of https://github.com/lengxupa/lammps 2019-10-02 15:52:45 -04:00
227a82e19f an update to the documentation in doc/src/fix_deposit.txt describing the orientation rx ry rz to restrict random rotation 2019-10-02 15:47:10 -04:00
319df973d9 Fix typo in cmd line 2019-10-02 11:27:21 -05:00
80168d0d5a Automatically append input file to nwchemcmd 2019-10-02 11:11:50 -05:00
2a7861528b removed overcomplicated chain rule terms, added comments 2019-09-30 16:13:43 +01:00
7b039f3a97 added re-labelling of nodes and debug output 2019-09-30 09:38:57 +01:00
214850088b add NWChem wrapper to client/server mode for AIMD 2019-09-27 15:28:48 -06:00
b160d9b9b6 Add files via upload 2019-09-26 10:42:57 +02:00
a605fa867d Add files via upload 2019-09-25 22:11:18 +02:00
24ed074bdf Add files via upload 2019-09-25 22:03:35 +02:00
c37a64fd4f Merge branch 'master' into fft 2019-09-25 15:56:49 -04:00
a705b635a5 remove cstdio include
cstdio is implicitly included by pointers.h which is included by fix.h.
2019-09-25 14:36:26 -04:00
6e56672b02 replace non-ASCII characters with their ASCII equivalents 2019-09-24 16:33:56 -04:00
c298429886 correct legacy pdf build 2019-09-24 16:33:28 -04:00
8e1fc8944a small tweak 2019-09-24 16:00:17 -04:00
7e6910dfe6 correct links 2019-09-24 15:42:25 -04:00
ff991c4c53 Added new keywords orientation rx ry rz to restrict random rotation 2019-09-24 15:10:47 -04:00
87d838d80b reformat modified core LAMMPS code 2019-09-24 14:52:09 -04:00
ed5407e998 add spellchecker false positives 2019-09-24 14:19:43 -04:00
be88e65c7e reformat doc file and adjust so it converts without warnings 2019-09-24 14:19:30 -04:00
cf72a30bfd integrate fix wall/stochastic docs into manual 2019-09-24 14:18:49 -04:00
e3a3c50040 change indentation and whitespace to LAMMPS style 2019-09-24 12:24:23 -04:00
a3e255b314 Merge branch 'master' into stochasticwall 2019-09-24 12:08:38 -04:00
12ffa868b3 strip CR characters from source files 2019-09-24 12:08:16 -04:00
36f417ac14 Add files via upload 2019-09-23 18:23:15 +02:00
1203c2a1c6 Add files via upload 2019-09-23 18:16:56 +02:00
89f5883648 Add files via upload 2019-09-23 16:16:38 +02:00
b681e6e82d Delete fix_wall_maxwell.txt 2019-09-23 16:12:49 +02:00
9db380f335 Delete fix_wall_cl.txt 2019-09-23 16:12:26 +02:00
a2e706916c Delete fix_wall_diffusive.txt 2019-09-23 16:11:49 +02:00
a2fd8bc04c Add files via upload 2019-09-23 16:01:14 +02:00
c39c201125 Add files via upload 2019-09-23 15:59:36 +02:00
0a4e8c115e Delete fix_wall_maxwell.h 2019-09-23 15:59:07 +02:00
b016259cff Delete fix_wall_diffusive.cpp 2019-09-23 15:58:48 +02:00
8581a50ac9 Delete fix_wall_cl.h 2019-09-23 15:58:25 +02:00
c728dcc64a Delete fix_wall_cl.cpp 2019-09-23 15:57:58 +02:00
e87e7b7064 Delete fix_wall_diffusive.h 2019-09-23 15:57:43 +02:00
31644e4b96 Delete fix_wall_maxwell.cpp 2019-09-23 15:57:13 +02:00
48967a6fd6 Updated documentation 2019-09-19 16:05:57 +02:00
de78e309cf Resolved merge conflict by accepting incomming changes 2019-09-19 15:59:38 +02:00
25c3a452f2 Added New keywords rotation rx ry rz to fix_deposit 2019-09-18 17:29:45 -04:00
98f94ea7a2 Add files via upload 2019-09-18 21:25:43 +02:00
14e8bb75dd Delete fix_wall_Maxwell.txt 2019-09-18 21:21:42 +02:00
fe92e13dcf Delete fix_wall_ACL.txt 2019-09-18 21:20:53 +02:00
ff1ff43216 Add files via upload 2019-09-18 11:48:11 +02:00
021ba02832 Add files via upload 2019-09-17 21:39:44 +02:00
10684973f8 Add files via upload 2019-09-17 21:38:10 +02:00
9c5840445c Delete random_extra.h 2019-09-17 21:37:23 +02:00
2d7e59cae5 Delete random_extra.cpp 2019-09-17 21:37:15 +02:00
e93be67e3b Delete in.flow.pois.3D 2019-09-17 21:37:07 +02:00
13c7464dde Delete fix_wall_diffusive.h 2019-09-17 21:36:57 +02:00
ef88e58ea0 Delete fix_wall_diffusive.cpp 2019-09-17 21:36:48 +02:00
e5dd343a52 Delete fix_wall_Maxwell.h 2019-09-17 21:36:40 +02:00
211e623964 Delete fix_wall_Maxwell.cpp 2019-09-17 21:36:32 +02:00
753e7ae917 Delete fix_wall_ACL.h 2019-09-17 21:36:24 +02:00
88976cc3c1 Delete README 2019-09-17 21:36:14 +02:00
6de3fbba2a Delete fix_wall_ACL.cpp 2019-09-17 21:35:57 +02:00
739269138b Add files via upload 2019-09-17 21:29:33 +02:00
aa8b61e8f8 Add files via upload 2019-09-16 16:55:41 +02:00
b4d187b056 Add files via upload 2019-09-16 16:42:00 +02:00
9fa8311d01 Add files via upload 2019-09-16 09:39:05 +02:00
e9ea92c991 Add files via upload 2019-09-13 15:50:44 +02:00
358c130489 Add files via upload 2019-09-13 15:47:51 +02:00
c33685c05b Add files via upload 2019-09-13 15:11:16 +02:00
199f5afdba Add files via upload 2019-09-13 14:54:07 +02:00
11cb542211 add omitted cmake entries for recent KOKKOS package changes 2019-09-12 15:59:37 -04:00
cd57708e85 Merge branch 'master' into fft 2019-09-12 15:51:02 -04:00
8bc54c96b0 Add missing default 2019-09-12 14:44:56 -04:00
fb58eb5f23 Add __len__ implementation for NeighList 2019-09-12 14:37:18 -04:00
fec9817086 Add __getitem__ implementation for NeighList 2019-09-12 14:14:06 -04:00
34dbcf4f20 Update example 2019-09-12 13:53:29 -04:00
69854eab42 Expose Neighbor lists via library interface 2019-09-12 13:46:05 -04:00
3353bffb72 Remove magic numbers and additional data types in extract_global 2019-09-12 13:38:04 -04:00
5d7ce839a1 Fix memory leak 2019-09-12 13:37:53 -04:00
86179478d2 Updated documentation regarding types keyword. 2019-09-11 11:05:04 -04:00
2430c7bcff Added option to impose fix propel/self only to specific types 2019-09-11 10:58:45 -04:00
dd0ceec0dc Added type support. 2019-09-11 10:26:03 -04:00
e919edb7a7 Updated documentation. 2019-09-11 09:28:42 -04:00
97ab08d738 Merge branch 'master' into fix-active 2019-09-11 09:21:06 -04:00
f2789c7d60 Merge branch 'master' of https://www.github.com/lammps/lammps 2019-09-11 09:20:43 -04:00
a75f84334f Merge branch 'stable' of gitlab.com:jared.wood13/lammps into stable 2019-09-10 15:04:01 +10:00
11bc0601de minor correction in LeapFrog integration 2019-09-03 18:08:24 +02:00
17886f1e62 Fixed example 3d_quaternion 2019-08-29 09:56:37 -04:00
6084fc23ce Added angular momentum thermostatting to 3d quaternion example. 2019-08-29 09:55:22 -04:00
5b04d45c07 Merge branch 'master' into fix-active 2019-08-29 09:52:38 -04:00
04571ca6c2 Undid incorrect deletion of files. 2019-08-29 09:51:54 -04:00
cdca2f2d7c Removed spurious file changes not belonging to this branch. 2019-08-29 09:50:27 -04:00
712b385b67 Updated docs 2019-08-29 09:44:54 -04:00
e0aefd6b44 Some code clean-up, added safety check in post_force_velocity. 2019-08-29 09:41:50 -04:00
dabd3833b1 Merge branch 'master' of https://www.github.com/lammps/lammps 2019-08-29 09:00:52 -04:00
f2b567bfb6 Commit before merging latest changes in master. 2019-08-29 09:00:36 -04:00
fc7565177b Merge branch 'master' into Ncreate_atoms 2019-08-23 20:52:04 -06:00
68a74fdf31 resolve merge conflict
for recent include file cleanup and molecule rotation options
2019-08-23 20:42:26 -06:00
ddab4eeb1a Remove SHA1 utility used in doc Makefile 2019-08-22 14:11:32 -06:00
574e4067dc Add documentation files in RST format
This is the first step for moving the documentation format from *.txt to the
*.rst format.

In the last years we've been automatically converting txt files from Steve's
markup into RST to generate the documentation pages via Sphinx. The decision
has now been made to fully migrate to RST and avoid the conversion in the
future.

This will enable us to fully use RST and Sphinx to improve the documentation.

For the intermediate period, while there are still pending PRs with
documentation changes, we will keep both source files and update the RST files
accordingly.
2019-08-22 14:11:32 -06:00
5c25355b9b update comments 2019-08-02 12:18:10 -04:00
3d4825e238 fix bug that would break single precision FFTW support with threads using KOKKOS 2019-08-02 12:18:10 -04:00
6a65deeb65 make support for threaded FFTW3 consistent and incorporate it into CMake
This now also includes threaded FFTW3 for regular FFTs, not only KOKKOS.
2019-08-02 12:14:32 -04:00
8b134cb0c9 refactor FFT handling in CMake module for KSPACE.
This also improves the FFT info output in the PPPM styles

# Conflicts:
#	cmake/Modules/Packages/KSPACE.cmake
2019-08-02 12:14:27 -04:00
9a43a6824c Fix issues 2019-07-30 09:25:24 -06:00
f96609a046 Add MKL support 2019-07-29 14:56:21 -06:00
4874fcc32a Merge branch 'master' into fft 2019-07-29 14:05:46 -06:00
2ec743abb7 Increase default stack size on GPUs for Kokkos KISS FFT 2019-07-29 14:02:38 -06:00
a5fbb6af17 fixed boundary case in old interpolation 2019-07-22 21:10:49 +01:00
da3cf890e1 fixed bug in file reading 2019-07-22 21:06:14 +01:00
d8ffbbaf4d cleaned up files, reverted uSemi to regular bicubic interpolation 2019-07-22 20:54:13 +01:00
d530f9dedc experimenting with splines, added proper chain rule derivatives 2019-07-20 19:14:14 +01:00
73f3019ef3 update comments 2019-07-19 17:27:10 -04:00
147999d6bd fix bug that would break single precision FFTW support with threads using KOKKOS 2019-07-19 17:00:06 -04:00
bf06dca11c make support for threaded FFTW3 consistent and incorporate it into CMake
This now also includes threaded FFTW3 for regular FFTs, not only KOKKOS.
2019-07-19 16:46:37 -04:00
cf11804ceb refactor FFT handling in CMake module for KSPACE.
This also improves the FFT info output in the PPPM styles

# Conflicts:
#	cmake/Modules/Packages/KSPACE.cmake
2019-07-19 14:44:24 -04:00
920ea89c37 Added two modes, one via velocity and one via quaternion. 2019-07-09 15:07:04 -04:00
6dc184b5d6 Merge branch 'master' into fix-active 2019-07-09 10:31:11 -04:00
8339d96200 Undid weird change in random source file. 2019-07-09 10:31:03 -04:00
cb3dce182b Commit before changing branches. 2019-07-09 10:29:42 -04:00
4865f03d69 Merge branch 'master' into fix-active 2019-07-09 10:26:11 -04:00
9988ccafe1 Merge branch 'master' of https://www.github.com/lammps/lammps 2019-07-09 10:24:42 -04:00
2b518f5a12 Renamed fix active to fix propel/self 2019-07-09 10:24:17 -04:00
475e8875a3 Merge branch 'stable' of gitlab.com:jared.wood13/lammps into stable 2019-07-08 15:24:55 +02:00
eb9f5cf128 Update gcmc to have a max and min 2019-07-03 17:24:00 +02:00
4314e6df44 Merge branch 'master' into Ncreate_atoms 2019-07-02 22:59:18 -06:00
94cb1a8a6a Add CUFFT to KSPACE.cmake 2019-07-02 11:40:23 -06:00
2ce7da80d1 Add Kokkkos FFT build options 2019-07-02 08:28:18 -06:00
b1781e5129 Small tweaks 2019-07-02 08:27:49 -06:00
dcf9351514 Removed commented out code 2019-07-02 08:27:35 -06:00
5aae095677 Add support for single precision 2019-07-01 17:58:25 -06:00
56e1032c1d Update gcmc to have a max and min 2019-06-27 17:50:45 +02:00
bd77dc0468 Merge branch 'fix-active' of brandeis_desktop:/home/stefan/projects/lammps-mine into fix-active 2019-06-25 10:19:16 -04:00
0bc648e23e add message quit protocol, to allow for non-quantum MD steps 2019-06-18 14:30:30 -06:00
c515b7dc98 Turn of View initialization for d_tmp 2019-06-18 14:02:22 -06:00
fafd824b74 Small tweaks 2019-06-18 13:55:02 -06:00
08471684f3 upgrades to global and local hyper, including more output 2019-06-18 12:29:46 -06:00
06506b9f40 Merge branch 'master' of https://github.com/lammps/lammps into fft 2019-06-18 12:11:01 -06:00
9f40899ad7 Error out if using cuFFT with Kokkos CUDA on host CPUs 2019-06-18 12:10:41 -06:00
f34c899a19 Reduce compiler warnings and fix a few issues 2019-06-18 11:09:51 -06:00
8274266b8b fixed out by one error for end of chain 2019-06-18 17:46:36 +01:00
811b28ac97 Code cleanup 2019-06-18 09:43:54 -06:00
fce9439c72 Update docs 2019-06-17 15:25:22 -06:00
739097f34b Error out if using FFTW on GPUs 2019-06-17 15:24:47 -06:00
3c9098d2ee FFTW3 for Kokkos 2019-06-17 14:42:23 -06:00
80846e3ed5 WIP: add FFTW3 threaded support 2019-06-17 13:52:34 -06:00
ca5aa1f907 Add cuFFT norm functor 2019-06-17 13:18:26 -06:00
117fef7d3c fixed geometry, put sort into separate function 2019-06-17 18:06:54 +01:00
0322ebd093 WIP: add cuFFT support 2019-06-17 09:19:40 -06:00
3410989ff1 working + clean version 2019-06-17 10:26:27 +01:00
ab6be65ab3 Flatten loops in pack_kokkos 2019-06-14 09:20:15 -06:00
f02fe15ec2 Add Kokkos version of FFTs 2019-06-12 15:47:33 -06:00
141df0d3a0 fixed splines, cleaned debug, optimised memory 2019-06-12 20:17:33 +01:00
e1fbe4db64 updated makefile 2019-06-05 12:05:44 +01:00
875df7b851 added mesocnt to stable 2019-06-05 12:05:08 +01:00
c2e4009106 Remove option relaxbox from adaptglok: wrong behavior with non-P boundaries. Code cleanup. 2019-05-29 10:37:53 +02:00
58d99f5e1f add keywords in false_positive.txt to correct doc comppilation warnings 2019-05-27 18:38:13 +02:00
1a5c448ae1 doc correction 2019-05-27 17:49:14 +02:00
9f08b1c316 finalize merge 2019-05-27 16:43:06 +02:00
d3b2a225c4 Merge branch 'master' of https://www.github.com/lammps/lammps 2019-03-23 13:16:28 -04:00
46b277b699 c++11 compliance
also preempt a very unlikely bug
2019-02-20 23:25:05 -07:00
76e67415b0 Merge pull request #45 from lammps/master
rebase
2019-02-20 23:18:16 -07:00
627cc254f0 Merge branch 'master' into Ncreate_atoms 2019-02-11 20:47:13 -07:00
df41ce6522 create_atoms subset: make 'fully parallel', fix bugs and typos 2019-02-10 01:11:11 -07:00
825facad75 create_atoms subset: improvements based on Steve's suggestions 2019-01-31 22:41:08 -07:00
72bbabcecb randnpos: reduce overzealous pointer usage 2019-01-28 21:23:27 -07:00
9abf5c09d8 update with considerably-easier-to-read version 2019-01-28 20:55:06 -07:00
c9b727e75b create_atoms randnpos doc spelling correction 2019-01-28 20:41:24 -07:00
d71305b209 Merge pull request #43 from lammps/master
rebase
2019-01-27 21:56:03 -07:00
2bd2d43cca Merge branch 'master' of https://www.github.com/lammps/lammps 2018-12-29 18:25:43 -05:00
501e457201 Commit before merge. 2018-12-29 18:25:40 -05:00
78685761d5 Merge pull request #36 from lammps/master
rebase
2018-11-30 22:58:45 -07:00
7b64ed19be modified "package" related pages to point to USER-CAUCHY correctly 2018-11-30 12:54:18 -05:00
01f47c4450 fixed the input for the example 2018-11-29 20:06:36 -05:00
4d06e11cfd creating clean fix npt/cauchy package and docs 2018-11-29 19:55:31 -05:00
8f90dc54bf relaxbox: updated documentation 2018-11-20 17:41:59 +01:00
0d9cd31764 relax_box: add nb build check, add zeroing v 2018-11-20 17:27:38 +01:00
b0004bfd57 minor opt.: check for nb build 2018-11-19 20:13:13 +01:00
98868cd66d cleanup of relax_box method 2018-11-19 14:07:25 +01:00
6d5f495965 Merge branch 'fix-relaxbox' into adaptglok 2018-11-19 13:37:15 +01:00
0912054fca re-writting relax_box method 2018-11-19 13:18:55 +01:00
d0235dd018 remove cauchystat changes from fix_nh.cpp/.h/.txt (again). delete misplaced example that came back from the dead, too. 2018-11-14 17:22:31 -05:00
a4835fa7a6 Merge branch 'master' of https://github.com/ProfessorMiller/lammps 2018-11-14 09:42:32 -05:00
f46478e5ad add missing file 2018-11-13 17:40:05 -05:00
32be742144 fix typo 2018-11-13 17:32:48 -05:00
ad764dbdfb remove cauchystat changes from fix_nh.cpp/.h and fix_nh.txt 2018-11-13 17:23:39 -05:00
d1ff90eacf copy and rename fix_nh.cpp/.h to USER-CAUCHY/fix_cauchy.cpp/.h related changes
this moves the code into the corresponding folders, renames the classes, adds copies of the doc files, moves the examples, integrates the USER-CAUCHY package into the build system.
2018-11-13 17:18:37 -05:00
9fb05cb428 Merge branch 'patchy-sphere-model' of brandeis_desktop:projects/lammps-mine 2018-10-28 16:12:15 -04:00
681be091c8 Merge branch 'master' of github.com:Pakketeretet2/lammps 2018-10-28 16:09:25 -04:00
c495020287 Merge branch 'master' into patchy-sphere-model 2018-10-25 18:00:03 -04:00
06cdf5545e Slightly modified example. 2018-10-25 11:41:58 -04:00
63d24b1655 Merge branch 'master' into fix-active 2018-10-25 11:35:34 -04:00
dd9166f896 Merge branch 'master' of https://www.github.com/lammps/lammps 2018-10-25 11:35:22 -04:00
07ccfc355d Added a fix to add active force to particles. 2018-10-25 11:34:54 -04:00
6618ca2270 Makefile.kokkos_cuda_mpi 2018-10-24 11:10:53 -04:00
a726cb50e1 fix uninitialized data issue detected by valgrind 2018-10-23 10:41:51 -04:00
a20c38af80 complete implementation of using an instance of fix STORE for persistent storage 2018-10-23 10:41:51 -04:00
cf91a93876 update example to check if the store fix is removed properly 2018-10-23 10:41:51 -04:00
baea04b913 update cauchystat example to conform more with standard LAMMPS examples 2018-10-23 10:41:51 -04:00
8f6f7eb4cd add infratructure to add an instance of fix STORE for persistent storage 2018-10-23 10:41:51 -04:00
c094831617 tweak example input and readme 2018-10-23 10:41:51 -04:00
13d7514ea0 remove dead code and reduce compiler warnings because of it 2018-10-23 10:41:51 -04:00
864958216a remove static class members. some cosmetic changes 2018-10-23 10:41:51 -04:00
5c686be33d clean up whitespace, indentation, isolate all cauchystat-related code, remove extraneous examples 2018-10-23 10:41:50 -04:00
43f83abe5e Changes to the NH fix enabling Cauchy stress control (Cauhchystat) due to Miller, Tadmor, Gibson, Bernstein and Pavia, J Chem Phys,
144, 184107 (2016).
2018-10-23 10:41:50 -04:00
1492a2221a Merge branch 'master' of https://www.github.com/lammps/lammps 2018-10-22 11:24:22 -04:00
8b055ee4ef Fixed compile error for fix_momentum_kokkos. 2018-10-22 11:24:11 -04:00
12385480ab Started work on a patchy sphere model. 2018-10-22 11:12:46 -04:00
5a359d887a remove dead code and reduce compiler warnings because of it 2018-10-02 16:33:15 -04:00
c9b7a30eea remove static class members. some cosmetic changes 2018-10-02 16:25:34 -04:00
4b988b8cdf clean up whitespace, indentation, isolate all cauchystat-related code, remove extraneous examples 2018-09-24 11:30:06 -04:00
5192825230 doc tweak 2018-09-22 22:17:22 -06:00
2477f00402 change keyword from 'insert' to 'randnpos' 2018-09-22 21:36:27 -06:00
f13d5db614 Merge pull request #27 from lammps/master
rebase
2018-09-22 16:45:45 -06:00
f63ff38339 Merge branch 'master' of github.com:Pakketeretet2/lammps 2018-09-21 19:43:22 -04:00
c047de5ad8 minor: validation of relaxbox_rate 2018-09-17 17:06:15 +02:00
beb9cf6ead Correct default value for tmax 2018-09-14 18:17:57 +02:00
0bc4e8665e update default value for tmax 2018-09-14 18:13:24 +02:00
f120b18db8 Changes to the NH fix enabling Cauchy stress control (Cauhchystat) due to Miller, Tadmor, Gibson, Bernstein and Pavia, J Chem Phys,
144, 184107 (2016).
2018-09-04 15:28:57 -04:00
3eb53cb1a4 Doc corrections 2018-08-16 13:40:17 +02:00
69860a7944 Merge branch 'master' into adaptglok 2018-08-13 10:59:36 +02:00
d4e27c833c update doc 2018-07-13 12:22:29 +02:00
fe2862d5a1 Merge pull request #19 from lammps/master
rebase
2018-06-29 00:31:32 -05:00
86240cbc8e Merge branch 'master' of github.com:Pakketeretet2/lammps 2018-06-02 08:10:40 -04:00
db977dac7c Commit change in fix_wall_region before merge. 2018-06-02 08:10:35 -04:00
cfcb6902bc remove now unnecessary comm->me 2018-05-27 13:16:58 -06:00
16857bb9d3 Merge pull request #15 from lammps/master
rebase
2018-05-27 12:54:52 -06:00
18e9b1115c add consistent 'particle overflow' error for serial 2018-05-27 12:48:12 -06:00
aa1d0f3df5 actually fulfill promise given by 'ninsert == 0' warning 2018-05-06 13:38:43 -06:00
c4991778cb C++ compliance and bugfix
bugfix restores exact behavior when not using 'insert' keyword
2018-05-06 13:09:05 -06:00
f586d7c197 Merge remote-tracking branch 'upstream/master' 2018-03-21 18:06:06 +01:00
34db18589d 'error->one' correction 2018-03-18 15:28:53 -06:00
3c5d5b458c remove debug comment 2018-03-11 17:14:50 -06:00
d413eb9eee faster, simpler, 'more completely random' way to do this 2018-03-11 17:10:42 -06:00
a1483989d8 Merge pull request #5 from lammps/master
rebase
2018-03-11 16:54:34 -06:00
00bbe7c612 New stopping criterion based on v.f number. Timestep reset moved to min.* 2017-09-06 11:57:29 +02:00
a296c43d78 flag to control the initial delay for dtshrink 2017-09-01 20:49:32 +02:00
16934e4ce4 marged with last stable 2017-08-18 19:34:19 +02:00
0d901e8535 Final polish of boxrelax. Updated documentation. 2017-08-16 20:01:16 +02:00
6345e6b760 Finalized boxrelax option 2017-08-16 16:54:49 +02:00
a2cf4e98b7 partially adding boxrelax 2017-08-16 11:48:41 +02:00
a438d2c856 Removing relaxbox code. Cleanup of the code. Add some parameter check. Improved documentation. 2017-08-15 17:02:58 +02:00
0ef2f3749e cleanup repository 2017-08-15 13:38:59 +02:00
d156263f54 Add relax_box function. Adapted documentation. 2017-08-11 13:39:13 +02:00
f62e5ab195 logic fix, memory cleanup, add comments 2017-08-07 22:25:47 -06:00
8053375a72 Remove un-necessary option adaptstep in adaptglok. Adapted documentation. 2017-08-07 17:35:24 +02:00
f3cfb9c8be add exactly N particles to available lattice points
a couple other modifications which helped setting up and testing simulations for bond/react
2017-08-06 20:51:34 -06:00
bf85b04aaf New options adaptstep and halfstepback in adaptglok. Adapted documentation. 2017-08-04 16:43:23 +02:00
f9315a7ad9 Correct calculation of the Forces within the Verlet integrator. Updated doc. 2017-07-17 14:10:17 +02:00
e5e630ee09 new integrator to adaptblok: standard Euler (idem lammps-Fire) 2017-07-14 14:23:00 +02:00
89c9c32c30 multi-integrator version of adaptglok: semi-implicit Euler, Verlet and Leap Frog 2017-07-12 21:58:23 +02:00
a0002432cf remove test folder 2017-07-11 20:20:54 +02:00
e19a98d1d7 Merge branch 'master' of https://github.com/jguenole/lammps-new-fire
Merge to the last versionO
2017-07-11 20:16:04 +02:00
c82ef3027f Merge pull request #1 from lammps/master
Syncing with the last version of lammps/lammps
2017-07-11 20:12:31 +02:00
5055b2ab7d Merge remote-tracking branch 'upstream/master' 2017-07-11 20:04:26 +02:00
3477015296 remove .vscode folder 2017-07-11 17:50:35 +02:00
9c9f6933cd final cleanup? min_modify options, quick documentation 2017-07-11 17:46:24 +02:00
7d1a76f6a5 more cleanup, var name, remove screen output 2017-07-11 16:17:21 +02:00
690d93f763 more cleanup 2017-07-11 15:02:43 +02:00
fc31bde345 cleanup 2017-07-11 14:28:56 +02:00
74b761974f cleanup 2017-07-11 14:28:20 +02:00
c3ea0c7928 Update to Velocity-Verlet 2017-07-10 19:38:05 +02:00
fe940abecf update 2017-06-30 18:35:59 +02:00
885c0bbd4b work-in-progress version of adaptglok 2017-05-25 16:57:20 +02:00
0be11eb801 Merge branch 'master' of https://github.com/lammps/lammps 2017-05-15 15:05:45 +02:00
a624ed90c1 add min_adaptglok from Wolfram 2017-05-15 14:48:19 +02:00
7399 changed files with 1491571 additions and 339298 deletions

14
.github/CODEOWNERS vendored
View File

@ -10,6 +10,7 @@ lib/molfile/* @akohlmey
lib/qmmm/* @akohlmey
lib/vtk/* @rbberger
lib/kim/* @ellio167
lib/mesont/* @iafoss
# whole packages
src/COMPRESS/* @akohlmey
@ -22,10 +23,10 @@ src/SPIN/* @julient31
src/USER-CGDNA/* @ohenrich
src/USER-CGSDK/* @akohlmey
src/USER-COLVARS/* @giacomofiorin
src/USER-DPD/* @timattox
src/USER-INTEL/* @wmbrownintel
src/USER-MANIFOLD/* @Pakketeretet2
src/USER-MEAMC/* @martok
src/USER-MESONT/* @iafoss
src/USER-MOFFF/* @hheenen
src/USER-MOLFILE/* @akohlmey
src/USER-NETCDF/* @pastewka
@ -46,7 +47,7 @@ src/GPU/pair_vashishta_gpu.* @andeplane
src/KOKKOS/pair_vashishta_kokkos.* @andeplane
src/MANYBODY/pair_vashishta_table.* @andeplane
src/MANYBODY/pair_atm.* @sergeylishchuk
src/USER-MISC/fix_bond_react.* @jrgissing
src/USER-REACTION/fix_bond_react.* @jrgissing
src/USER-MISC/*_grem.* @dstelter92
src/USER-MISC/compute_stress_mop*.* @RomainVermorel
@ -111,13 +112,22 @@ src/exceptions.h @rbberger
src/fix_nh.* @athomps
src/info.* @akohlmey @rbberger
src/timer.* @akohlmey
src/min* @sjplimp @stanmoore1
src/utils.* @akohlmey @rbberger
# tools
tools/msi2lmp/* @akohlmey
tools/emacs/* @HaoZeke
tools/singularity/* @akohlmey @rbberger
# tests
unittest/* @akohlmey @rbberger
# cmake
cmake/* @junghans @rbberger
cmake/Modules/Packages/USER-COLVARS.cmake @junghans @rbberger @giacomofiorin
cmake/Modules/Packages/KIM.cmake @junghans @rbberger @ellio167
cmake/presets/*.cmake @junghans @rbberger @akohlmey
# python
python/* @rbberger

View File

@ -68,14 +68,16 @@ How quickly your contribution will be integrated depends largely on how much eff
Here is a checklist of steps you need to follow to submit a single file or user package for our consideration. Following these steps will save both you and us time. See existing files in packages in the source directory for examples. If you are uncertain, please ask on the lammps-users mailing list.
* All source files you provide must compile with the most current version of LAMMPS with multiple configurations. In particular you need to test compiling LAMMPS from scratch with `-DLAMMPS_BIGBIG` set in addition to the default `-DLAMMPS_SMALLBIG` setting. Your code will need to work correctly in serial and in parallel using MPI.
* For consistency with the rest of LAMMPS and especially, if you want your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per level, no tabs, no lines over 80 characters. I/O is done via the C-style stdio library, style class header files should not import any system headers, STL containers should be avoided in headers, and forward declarations used where possible or needed. All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. There MUST NOT be any "using namespace XXX;" statements in headers. In the implementation file (<name>.cpp) system includes should be placed in angular brackets (<>) and for c-library functions the C++ style header files should be included (<cstdio> instead of <stdio.h>, or <cstring> instead of <string.h>). This all is so the developers can more easily understand, integrate, and maintain your contribution and reduce conflicts with other parts of LAMMPS. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of the error class for error and warning messages.
* Source, style name, and documentation file should follow the following naming convention: style names should be lowercase and words separated by a forward slash; for a new fix style 'foo/bar', the class should be named FixFooBar, the name of the source files should be 'fix_foo_bar.h' and 'fix_foo_bar.cpp' and the corresponding documentation should be in a file 'fix_foo_bar.txt'.
* For consistency with the rest of LAMMPS and especially, if you want your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per level, no tabs, no trailing whitespace, no lines over 80 characters. I/O is done via the C-style stdio library, style class header files should not import any system headers, STL containers should be avoided in headers, and forward declarations used where possible or needed. All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. There MUST NOT be any "using namespace XXX;" statements in headers. In the implementation file (<name>.cpp) system includes should be placed in angular brackets (<>) and for c-library functions the C++ style header files should be included (<cstdio> instead of <stdio.h>, or <cstring> instead of <string.h>). This all is so the developers can more easily understand, integrate, and maintain your contribution and reduce conflicts with other parts of LAMMPS. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of the error class for error and warning messages.
* Source, style name, and documentation file should follow the following naming convention: style names should be lowercase and words separated by a forward slash; for a new fix style 'foo/bar', the class should be named FixFooBar, the name of the source files should be 'fix_foo_bar.h' and 'fix_foo_bar.cpp' and the corresponding documentation should be in a file 'fix_foo_bar.rst'.
* If you want your contribution to be added as a user-contributed feature, and it is a single file (actually a `<name>.cpp` and `<name>.h` file) it can be rapidly added to the USER-MISC directory. Include the one-line entry to add to the USER-MISC/README file in that directory, along with the 2 source files. You can do this multiple times if you wish to contribute several individual features.
* If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user package directory with a name like USER-FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a tarball of this USER-FOO directory.
* Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your code.
* You **must** also create or extend a documentation file for each new command or style you are adding to LAMMPS. For simplicity and convenience, the documentation of groups of closely related commands or styles may be combined into a single file. This will be one file for a single-file feature. For a package, it might be several files. These are simple text files with a specific markup language, that are then auto-converted to HTML and PDF. The tools for this conversion are included in the source distribution, and the translation can be as simple as doing "make html pdf" in the doc folder. Thus the documentation source files must be in the same format and style as other `<name>.txt` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. A description of the markup can also be found in `lammps/doc/utils/txt2html/README.html` As appropriate, the text files can include links to equations (see doc/Eqs/*.tex for examples, we auto-create the associated JPG files), or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.txt for examples and the earlier part of the same file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or USER-FOO package. See other user package doc files for examples of how to do this. The prerequisite for building the HTML format files are Python 3.x and virtualenv, the requirement for generating the PDF format manual is the htmldoc software. Please run at least "make html" and carefully inspect and proofread the resulting HTML format doc page before submitting your code.
* You **must** also create or extend a documentation file for each new command or style you are adding to LAMMPS. For simplicity and convenience, the documentation of groups of closely related commands or styles may be combined into a single file. This will be one file for a single-file feature. For a package, it might be several files. These are files in the [reStructuredText](https://docutils.sourceforge.io/rst.html) markup language, that are then converted to HTML and PDF. The tools for this conversion are included in the source distribution, and the translation can be as simple as doing "make html pdf" in the doc folder. Thus the documentation source files must be in the same format and style as other `<name>.rst` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. An introduction to reStructuredText can be found at [https://docutils.sourceforge.io/docs/user/rst/quickstart.html](https://docutils.sourceforge.io/docs/user/rst/quickstart.html). The text files can include mathematical expressions and symbol in ".. math::" sections or ":math:" expressions or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.rst for examples and the earlier part of the same file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or USER-FOO package. See other user package doc files for examples of how to do this. The prerequisite for building the HTML format files are Python 3.x and virtualenv. Please run at least `make html`, `make pdf` and `make spelling` and carefully inspect and proofread the resulting HTML format doc page as well as the output produced to the screen. Make sure that all spelling errors are fixed or the necessary false positives are added to the `doc/utils/sphinx-config/false_positives.txt` file. For new styles, those usually also need to be added to lists on the respective overview pages. This can be checked for also with `make style_check`.
* For a new package (or even a single command) you should include one or more example scripts demonstrating its use. These should run in no more than a couple minutes, even on a single processor, and not require large data files as input. See directories under examples/USER for examples of input scripts other users provided for their packages. These example inputs are also required for validating memory accesses and testing for memory leaks with valgrind
* If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the *.cpp source file. See src/USER-EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from their input script, this will cause LAMMPS to output the citation to a log.cite file and prompt the user to examine the file. Note that you should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you provide.
* For new utility functions or class (i.e. anything that does not depend on a LAMMPS object), new unit tests should be added to the unittest tree.
* When adding a new LAMMPS style, a .yaml file with a test configuration and reference data should be added for the styles where a suitable tester program already exists (e.g. pair styles, bond styles, etc.).
* If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the <name>.cpp source file. See src/USER-EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from their input script, this will cause LAMMPS to output the citation to a log.cite file and prompt the user to examine the file. Note that you should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you provide.
Finally, as a general rule-of-thumb, the more clear and self-explanatory you make your documentation and README files, and the easier you make it for people to get started, e.g. by providing example scripts, the more likely it is that users will try out your new feature.

View File

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

View File

@ -9,12 +9,12 @@ assignees: ''
**Summary**
_Please provide a brief and concise description of the suggested feature or change_
<!--Please provide a brief and concise description of the suggested feature or change-->
**Detailed Description**
_Please explain how you would like to see LAMMPS enhanced, what feature(s) you are looking for, what specific problems this will solve. If possible, provide references to relevant background information like publications or web pages, and whether you are planning to implement the enhancement yourself or would like to participate in the implementation. If applicable add a reference to an existing bug report or issue that this will address._
<!--Please explain how you would like to see LAMMPS enhanced, what feature(s) you are looking for, what specific problems this will solve. If possible, provide references to relevant background information like publications or web pages, and whether you are planning to implement the enhancement yourself or would like to participate in the implementation. If applicable add a reference to an existing bug report or issue that this will address.-->
**Further Information, Files, and Links**
_Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications_
<!--Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications-->

View File

@ -9,13 +9,13 @@ assignees: ''
**Summary**
_Please provide a clear and concise description of what this issue report is about._
<!--Please provide a clear and concise description of what this issue report is about.-->
**LAMMPS Version and Platform**
_Please specify precisely which LAMMPS version this issue was detected with (the first line of the output) and what platform (operating system and its version, hardware) you are running on. If possible, test with the most recent LAMMPS patch version_
<!--Please specify precisely which LAMMPS version this issue was detected with (the first line of the output) and what platform (operating system and its version, hardware) you are running on. If possible, test with the most recent LAMMPS patch version-->
**Details**
_Please explain the issue in detail here_
<!--Please explain the issue in detail here-->

View File

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

View File

@ -9,15 +9,15 @@ assignees: ''
**Summary**
_Briefly describe the bug or bugs, that are eliminated by this pull request._
<!--Briefly describe the bug or bugs, that are eliminated by this pull request.-->
**Related Issue(s)**
_If this request addresses or is related to an existing (open) GitHub issue, e.g. a bug report, mention the issue number number here following a pound sign (aka hashmark), e.g.`#222`._
<!--If this request addresses or is related to an existing (open) GitHub issue, e.g. a bug report, mention the issue number number here following a pound sign (aka hashmark), e.g.`#222`.-->
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
<!--Please state name and affiliation of the author or authors that should be credited with the changes in this pull request-->
**Licensing**
@ -25,18 +25,18 @@ By submitting this pull request I implicitly accept, that my submission is subje
**Backward Compatibility**
_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_
<!--Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why-->
**Detailed Description**
_Provide any relevant details about how the fixed bug can be reproduced, how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_
<!--Provide any relevant details about how the fixed bug can be reproduced, how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected-->
## Post Submission Checklist
_Please check the fields below as they are completed *after* the pull request is submitted_
<!--Please check the fields below as they are completed *after* the pull request is submitted-->
- [ ] The code in this pull request is complete
- [ ] The source code follows the LAMMPS formatting guidelines
## Further Information, Files, and Links
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. to download input decks for testing)_
<!--Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. to download input decks for testing)-->

View File

@ -9,15 +9,15 @@ assignees: ''
**Summary**
_Briefly describe the included changes._
<!--Briefly describe the included changes.-->
**Related Issue(s)**
_If this request addresses or is related to an existing (open) GitHub issue, e.g. a bug report, mention the issue number number here following a pound sign (aka hashmark), e.g.`#222`.
<!--If this request addresses or is related to an existing (open) GitHub issue, e.g. a bug report, mention the issue number number here following a pound sign (aka hashmark), e.g.`#222`.
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
<!--Please state name and affiliation of the author or authors that should be credited with the changes in this pull request-->
**Licensing**
@ -25,11 +25,11 @@ By submitting this pull request I implicitly accept, that my submission is subje
**Detailed Description**
_Provide any relevant details about the included changes._
<!--Provide any relevant details about the included changes.-->
## Post Submission Checklist
_Please check the fields below as they are completed *after* the pull request is submitted_
<!--Please check the fields below as they are completed *after* the pull request is submitted-->
- [ ] The pull request is complete
- [ ] The source code follows the LAMMPS formatting guidelines

View File

@ -9,34 +9,34 @@ assignees: ''
**Summary**
_Briefly describe the new feature(s) included in this pull request._
<!--Briefly describe the new feature(s) included in this pull request.-->
**Related Issues**
_If this addresses an existing (open) GitHub issue, e.g. a feature request, mention the issue number here following a pound sign (aka hashmark), e.g. `#331`._
<!--If this addresses an existing (open) GitHub issue, e.g. a feature request, mention the issue number here following a pound sign (aka hashmark), e.g. `#331`.-->
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the features added in this pull request. Please provide a suitable "long-lived" e-mail address (e.g. from gmail, yahoo, outlook, etc.) for the *corresponding* author, i.e. the person the LAMMPS developers can contact directly with questions and requests related to maintenance and support of this code. now and in the future_
<!--Please state name and affiliation of the author or authors that should be credited with the features added in this pull request. Please provide a suitable "long-lived" e-mail address (e.g. from gmail, yahoo, outlook, etc.) for the *corresponding* author, i.e. the person the LAMMPS developers can contact directly with questions and requests related to maintenance and support of this code. now and in the future-->
**Licensing**
_Please add *yes* or *no* to the following two statements (please contact @lammps/core if you have questions about this)_
<!--Please add *yes* or *no* to the following two statements (please contact @lammps/core if you have questions about this)-->
My contribution may be licensed as GPL v2 (default LAMMPS license):
My contribution may be licensed as LGPL (for use as a library with proprietary software):
**Backward Compatibility**
_Please state if any of the changes in this pull request will affect backward compatibility for inputs, and - if yes - explain what has been changed and why_
<!--Please state if any of the changes in this pull request will affect backward compatibility for inputs, and - if yes - explain what has been changed and why-->
**Implementation Notes**
_Provide any relevant details about how the new features are implemented, how correctness was verified, what platforms (OS, compiler, MPI, hardware, number of processors, accelerator(s)) it was tested on_
<!--Provide any relevant details about how the new features are implemented, how correctness was verified, what platforms (OS, compiler, MPI, hardware, number of processors, accelerator(s)) it was tested on-->
## Post Submission Checklist
_Please check the fields below as they are completed *after* the pull request has been submitted_
<!--Please check the fields below as they are completed *after* the pull request has been submitted-->
- [ ] The feature or features in this pull request is complete
- [ ] Licensing information is complete
@ -51,6 +51,6 @@ _Please check the fields below as they are completed *after* the pull request ha
## Further Information, Files, and Links
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_
<!--Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)-->

View File

@ -9,11 +9,11 @@ assignees: ''
**Summary**
_Briefly describe what kind of updates or enhancements for a package or feature are included. If you are not the original author of the package or feature, please mention, whether your contribution was created independently or in collaboration/cooperation with the original author._
<!--Briefly describe what kind of updates or enhancements for a package or feature are included. If you are not the original author of the package or feature, please mention, whether your contribution was created independently or in collaboration/cooperation with the original author.-->
**Author(s)**
_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_
<!--Please state name and affiliation of the author or authors that should be credited with the changes in this pull request-->
**Licensing**
@ -21,15 +21,15 @@ By submitting this pull request I implicitly accept, that my submission is subje
**Backward Compatibility**
_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_
<!--Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why-->
**Implementation Notes**
_Provide any relevant details about how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_
<!--Provide any relevant details about how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected-->
**Post Submission Checklist**
_Please check the fields below as they are completed_
<!--Please check the fields below as they are completed-->
- [ ] The feature or features in this pull request is complete
- [ ] Suitable updates to the existing docs are included
- [ ] One or more example input decks are included
@ -37,6 +37,6 @@ _Please check the fields below as they are completed_
**Further Information, Files, and Links**
_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_
<!--Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)-->

2
.gitignore vendored
View File

@ -9,6 +9,7 @@
*.d
*.x
*.exe
*.sif
*.dll
*.pyc
__pycache__
@ -26,6 +27,7 @@ vgcore.*
.vagrant
\#*#
.#*
.vscode
.DS_Store
.DS_Store?

View File

@ -1,51 +0,0 @@
These are input scripts used to run versions of several of the
benchmarks in the top-level bench directory using the GPU accelerator
package. The results of running these scripts on two different machines
(a desktop with 2 Tesla GPUs and the ORNL Titan supercomputer) are shown
on the "GPU (Fermi)" section of the Benchmark page of the LAMMPS WWW
site: lammps.sandia.gov/bench.
Examples are shown below of how to run these scripts. This assumes
you have built 3 executables with the GPU package
installed, e.g.
lmp_linux_single
lmp_linux_mixed
lmp_linux_double
------------------------------------------------------------------------
To run on just CPUs (without using the GPU styles),
do something like the following:
mpirun -np 1 lmp_linux_double -v x 8 -v y 8 -v z 8 -v t 100 < in.lj
mpirun -np 12 lmp_linux_double -v x 16 -v y 16 -v z 16 -v t 100 < in.eam
The "xyz" settings determine the problem size. The "t" setting
determines the number of timesteps.
These mpirun commands run on a single node. To run on multiple
nodes, scale up the "-np" setting.
------------------------------------------------------------------------
To run with the GPU package, do something like the following:
mpirun -np 12 lmp_linux_single -sf gpu -v x 32 -v y 32 -v z 64 -v t 100 < in.lj
mpirun -np 8 lmp_linux_mixed -sf gpu -pk gpu 2 -v x 32 -v y 32 -v z 64 -v t 100 < in.eam
The "xyz" settings determine the problem size. The "t" setting
determines the number of timesteps. The "np" setting determines how
many MPI tasks (per node) the problem will run on. The numeric
argument to the "-pk" setting is the number of GPUs (per node); 1 GPU
is the default. Note that you can use more MPI tasks than GPUs (per
node) with the GPU package.
These mpirun commands run on a single node. To run on multiple nodes,
scale up the "-np" setting, and control the number of MPI tasks per
node via a "-ppn" setting.
------------------------------------------------------------------------
If the script has "titan" in its name, it was run on the Titan
supercomputer at ORNL.

View File

@ -1,24 +0,0 @@
# bulk Cu lattice
units metal
atom_style atomic
lattice fcc 3.615
region box block 0 $x 0 $y 0 $z
create_box 1 box
create_atoms 1 box
pair_style eam
pair_coeff 1 1 Cu_u3.eam
velocity all create 1600.0 376847 loop geom
neighbor 1.0 bin
neigh_modify every 1 delay 5 check yes
fix 1 all nve
timestep 0.005
thermo 50
run $t

View File

@ -1,37 +0,0 @@
# bulk Cu lattice
newton off
package gpu force/neigh 0 0 1
processors * * * grid numa
variable x index 1
variable y index 1
variable z index 1
variable xx equal 20*$x
variable yy equal 20*$y
variable zz equal 20*$z
units metal
atom_style atomic
lattice fcc 3.615
region box block 0 ${xx} 0 ${yy} 0 ${zz}
create_box 1 box
create_atoms 1 box
pair_style eam/gpu
pair_coeff 1 1 Cu_u3.eam
velocity all create 1600.0 376847 loop geom
neighbor 1.0 bin
neigh_modify every 1 delay 5 check yes
fix 1 all nve
timestep 0.005
thermo 50
run 15
run 100

View File

@ -1,35 +0,0 @@
# 3d Lennard-Jones melt
newton off
package gpu force/neigh 0 0 1
processors * * * grid numa
variable x index 1
variable y index 1
variable z index 1
variable xx equal 20*$x
variable yy equal 20*$y
variable zz equal 20*$z
units lj
atom_style atomic
lattice fcc 0.8442
region box block 0 ${xx} 0 ${yy} 0 ${zz}
create_box 1 box
create_atoms 1 box
mass 1 1.0
velocity all create 1.44 87287 loop geom
pair_style lj/cut/gpu 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 20 check no
fix 1 all nve
run 15
run 100

View File

@ -1,30 +0,0 @@
# Rhodopsin model
units real
neigh_modify delay 5 every 1
atom_style full
atom_modify map hash
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
pair_style lj/charmm/coul/long 8.0 10.0
pair_modify mix arithmetic
kspace_style pppm 1e-4
read_data data.rhodo
replicate $x $y $z
fix 1 all shake 0.0001 5 0 m 1.0 a 232
fix 2 all npt temp 300.0 300.0 100.0 &
z 0.0 0.0 1000.0 mtk no pchain 0 tchain 1
special_bonds charmm
thermo 50
thermo_style multi
timestep 2.0
run $t

View File

@ -1,39 +0,0 @@
# Rhodopsin model
newton off
package gpu force/neigh 0 0 1
processors * * * grid numa
variable x index 1
variable y index 1
variable z index 1
units real
neigh_modify delay 5 every 1
atom_style full
atom_modify map hash
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
pair_style lj/charmm/coul/long/gpu 8.0 ${cutoff}
pair_modify mix arithmetic
kspace_style pppm/gpu 1e-4
read_data data.rhodo
replicate $x $y $z
fix 1 all shake 0.0001 5 0 m 1.0 a 232
fix 2 all npt temp 300.0 300.0 100.0 &
z 0.0 0.0 1000.0 mtk no pchain 0 tchain 1
special_bonds charmm
thermo 50
# thermo_style multi
timestep 2.0
run 15
run 100

View File

@ -1,42 +0,0 @@
# Rhodopsin model
newton off
package gpu force/neigh 0 0 1
partition yes 1 processors * * * grid twolevel ${grid} * * * &
part 1 2 multiple
partition yes 2 processors * * * part 1 2 multiple
variable x index 1
variable y index 1
variable z index 1
units real
neigh_modify delay 5 every 1
atom_style full
atom_modify map hash
bond_style harmonic
angle_style charmm
dihedral_style charmm
improper_style harmonic
pair_style lj/charmm/coul/long/gpu 8.0 ${cutoff}
pair_modify mix arithmetic
kspace_style pppm/gpu 1e-4
read_data data.rhodo
replicate $x $y $z
fix 1 all shake 0.0001 5 0 m 1.0 a 232
fix 2 all npt temp 300.0 300.0 100.0 &
z 0.0 0.0 1000.0 mtk no pchain 0 tchain 1
special_bonds charmm
thermo 50
# thermo_style multi
timestep 2.0
run_style verlet/split
run 15
run 100

View File

@ -1,2 +0,0 @@
rc = 4.0
delr = 0.1

1
bench/POTENTIALS/Ni.meam Symbolic link
View File

@ -0,0 +1 @@
../../potentials/Ni.meam

View File

@ -1,17 +0,0 @@
# Stillinger-Weber parameters for various elements and mixtures
# multiple entries can be added to this file, LAMMPS reads the ones it needs
# these entries are in LAMMPS "metal" units:
# epsilon = eV; sigma = Angstroms
# other quantities are unitless
# format of a single entry (one or more lines):
# element 1, element 2, element 3,
# epsilon, sigma, a, lambda, gamma, costheta0, A, B, p, q, tol
# Here are the original parameters in metal units, for Silicon from:
#
# Stillinger and Weber, Phys. Rev. B, v. 31, p. 5262, (1985)
#
Si Si Si 2.1683 2.0951 1.80 21.0 1.20 -0.333333333333
7.049556277 0.6022245584 4.0 0.0 0.0

1
bench/POTENTIALS/Si.sw Symbolic link
View File

@ -0,0 +1 @@
../../potentials/Si.sw

View File

@ -1,16 +0,0 @@
# Tersoff parameters for various elements and mixtures
# multiple entries can be added to this file, LAMMPS reads the ones it needs
# these entries are in LAMMPS "metal" units:
# A,B = eV; lambda1,lambda2,lambda3 = 1/Angstroms; R,D = Angstroms
# other quantities are unitless
# This is the Si parameterization from a particular Tersoff paper:
# J. Tersoff, PRB, 37, 6991 (1988)
# See the SiCGe.tersoff file for different Si variants.
# format of a single entry (one or more lines):
# element 1, element 2, element 3,
# m, gamma, lambda3, c, d, costheta0, n, beta, lambda2, B, R, D, lambda1, A
Si Si Si 3.0 1.0 1.3258 4.8381 2.0417 0.0000 22.956
0.33675 1.3258 95.373 3.0 0.2 3.2394 3264.7

1
bench/POTENTIALS/Si.tersoff Symbolic link
View File

@ -0,0 +1 @@
../../potentials/Si.tersoff

View File

@ -1,24 +0,0 @@
# bulk Ni in MEAM
units metal
atom_style atomic
lattice fcc 3.52
region box block 0 20 0 20 0 20
create_box 1 box
create_atoms 1 box
pair_style meam
pair_coeff * * library.meam Ni4 Ni.meam Ni4
velocity all create 1600.0 376847 loop geom
neighbor 1.0 bin
neigh_modify delay 5 every 1
fix 1 all nve
timestep 0.005
thermo 50
run 100

View File

@ -1,22 +0,0 @@
# ReaxFF benchmark: simulation of PETN crystal, replicated unit cell
units real
atom_style charge
read_data data.reax
#replicate 7 8 10
replicate 7 8 5
velocity all create 300.0 9999
pair_style reax
pair_coeff * * ffield.reax 1 2 3 4
timestep 0.1
fix 2 all nve
thermo 10
thermo_style custom step temp ke pe pxx pyy pzz etotal
run 100

View File

@ -1,162 +0,0 @@
# meam data from vax files fcc,bcc,dia 11/4/92
# elt lat z ielement atwt
# alpha b0 b1 b2 b3 alat esub asub
# t0 t1 t2 t3 rozero ibar
'Sn5' 'dia' 4. 50 118.
5.09 5.00 16.0 04.0 5.0 6.483 3.14 1.00
1.0 2.00 5.756 -0.30 1. 0
'Sn' 'dia' 4. 50 118.
5.09 5.42 8.0 5.0 6.0 6.483 3.14 1.12
1.0 3.0 5.707 +0.30 1. 0
'Cu' 'fcc' 12. 29 63.54
5.10570729 3.634 2.20 6 2.20 3.62 3.54 1.07
1.0 3.13803254 2.49438711 2.95269237 1. 0
'Ag' 'fcc' 12. 47 107.870
5.89222008 4.456 2.20 6 2.20 4.08 2.85 1.06
1.0 5.54097609 2.45015783 1.28843988 1. 0
'Au' 'fcc' 12. 79 196.967
6.34090112 5.449 2.20 6 2.20 4.07 3.93 1.04
1.0 1.58956328 1.50776392 2.60609758 1. 0
'Ni1' 'fcc' 12. 28 58.71
4.99 2.45 2.20 6 2.20 3.52 4.45 1.10
1.0 3.57 1.60 3.70 1.0 0
'Ni2' 'fcc' 12. 28 58.71
4.99 2.45 2.20 6 2.20 3.52 4.45 1.10
1.0 3.57 1.60 3.70 1.0 3
'Ni3' 'fcc' 12. 28 58.71
4.99 2.45 1.50 6 1.50 3.52 4.45 1.10
1.0 3.57 1.60 3.70 1.0 3
'Ni4' 'fcc' 12. 28 58.71
4.99 2.45 1.50 6 1.50 3.52 4.45 1.10
1.0 3.57 1.60 3.70 1.0 0
'Ni' 'fcc' 12. 28 58.71
4.99 2.64 1.50 4.50 1.50 3.52 4.45 1.10
1.0 1.692 4.987 3.683 1.0 1
'Nix' 'fcc' 12. 28 58.71
4.99 2.64 1.50 4.50 1.50 3.52 4.45 1.10
1.0 0.00 0.000 3.683 1.0 1
'Ni' 'fcc' 12. 28 58.71
4.99 3.25 0.80 4 1.50 3.52 4.45 1.07
1.0 -4.052 13.14 3.786 1.0 1
'Pd' 'fcc' 12. 46 106.4
6.43230473 4.975 2.20 6 2.20 3.89 3.91 1.01
1.0 2.33573516 1.38343023 4.47989049 1. 0
'Pt' 'fcc' 12. 78 195.09
6.44221724 4.673 2.20 6 2.20 3.92 5.77 1.04
1.0 2.73335406 -1.3759593 3.29322278 1. 0
'Al' 'fcc' 12. 13 26.9815
4.61 2.21 2.20 6.0 2.20 4.05 3.58 1.07
1.0 -1.78 -2.21 8.01 0.6 0
'Al' 'fcc' 12. 13 26.9815
4.69 1.56 4.00 5.5 0.60 4.05 3.36 1.09
1.0 -0.251 -3.450 8.298 0.6 1
'Al' 'fcc' 12. 13 26.9815
4.69 1.58 1.00 6.0 0.60 4.05 3.36 1.09
1.0 -0.808 -2.614 8.298 0.6 1
'Pb' 'fcc' 12. 82 207.19
6.0564428 5.306 2.20 6 2.20 4.95 2.04 1.01
1.0 2.74022352 3.06323991 1.2 1. 0
'Rh' 'fcc' 12. 45 102.905
6.0045385 1.131 1.00 2 1.00 3.8 5.75 1.05
1.0 2.9900 4.60231784 4.8 1. 0
'Ir' 'fcc' 12. 77 192.2
6.52315787 1.13 1.00 2 1.00 3.84 6.93 1.05
1.0 1.50000 8.09942666 4.8 1. 0
'Li' 'bcc' 8. 3 6.939
2.97244804 1.425 1.00 1.00169907 1.00 3.509 1.65 0.87
1.0 0.26395017 0.44431129 -0.2 1. 0
'Na' 'bcc' 8. 11 22.9898
3.64280541 2.313 1.00 1.00173951 1.00 4.291 1.13 0.9
1.0 3.55398839 0.68807569 -0.2 1. 0
'K' 'bcc' 8. 19 39.102
3.90128376 2.687 1.00 1.00186667 1.00 5.344 0.94 0.92
1.0 5.09756981 0.69413264 -0.2 1. 0
'V' 'bcc' 8. 23 50.942
4.83265262 4.113 1.00 1.00095022 1.00 3.04 5.3 1
1.0 4.20161301 4.09946561 -1 1. 0
'Nb' 'bcc' 8. 41 92.906
4.79306197 4.374 1.00 1.00101441 1.00 3.301 7.47 1
1.0 3.75762849 3.82514598 -1 1. 0
'Ta' 'bcc' 8. 73 180.948
4.89528669 3.709 1.00 1.00099783 1.00 3.303 8.09 0.99
1.0 6.08617812 3.35255804 -2.9 1. 0
'Cr' 'bcc' 8. 24 51.996
5.12169218 3.224 1.00 1.00048646 1.00 2.885 4.1 0.94
1.0 -0.207535 12.2600006 -1.9 1. 0
'Mo' 'bcc' 8. 42 95.94
5.84872871 4.481 1.00 1.00065204 1.00 3.15 6.81 0.99
1.0 3.47727181 9.48582009 -2.9 1. 0
'W' 'bcc' 8. 74 183.85
5.62777409 3.978 1.00 1.00065894 1.00 3.165 8.66 0.98
1.0 3.16353338 8.24586928 -2.7 1. 0
'WL' 'bcc' 8 74 183.85
5.6831 6.54 1 1 1 3.1639 8.66 0.4
1 -0.6 0.3 -8.7 1 3
'Fe' 'bcc' 8. 26 55.847
5.07292627 2.935 1.00 1.00080073 1.00 2.866 4.29 0.89
1.0 5.13579244 4.12042448 -2.7 1. 0
'Si' 'dia' 4. 14 28.086
4.87 4.8 4.8 4.8 4.8 5.431 4.63 1.
1.0 3.30 5.105 -0.80 1. 1
'Si97' 'dia' 4. 14 28.086
4.87 4.4 5.5 5.5 5.5 5.431 4.63 1.
1.0 3.13 4.47 -1.80 2.05 0
'Si92' 'dia' 4. 14 28.086
4.87 4.4 5.5 5.5 5.5 5.431 4.63 1.
1.0 3.13 4.47 -1.80 2.35 0
'Six' 'dia' 4 14 28.086
4.87 4.4 5.5 5.5 5.5 5.431 4.63 1.0
1.0 2.05 4.47 -1.8 2.05 0
'Sixb' 'dia' 4 14 28.086
4.87 4.4 5.5 5.5 5.5 5.431 4.63 1.0
1.0 2.05 4.47 -1.8 2.5 0
'Mg' 'hcp' 12. 12 24.305
5.45 2.70 0.0 0.35 3.0 3.20 1.55 1.11
1.0 8.00 04.1 -02.0 1.0 0
'C' 'dia' 4. 6 12.0111
4.38 4.10 4.200 5.00 3.00 3.567 7.37 1.000
1.0 5.0 9.34 -1.00 2.25 1
'C' 'dia' 4. 6 12.0111
4.38 5.20 3.87 4.00 4.50 3.567 7.37 1.278
1.0 15. 2.09 -6.00 2.5 1
'C' 'dia' 4. 6 12.0111
4.38 4.50 4.00 3.50 4.80 3.567 7.37 1.00
1.0 10.5 1.54 -8.75 3.2 1
'C' 'dia' 4. 6 12.0111
4.38 3.30 2.80 1.50 3.20 3.567 7.37 1.00
1.0 10.3 1.54 -8.80 2.5 1
'C' 'dia' 4. 6 12.0111
4.38 4.60 3.45 4.00 4.20 3.567 7.37 1.061
1.0 15.0 1.74 -8.00 2.5 1
'C' 'dia' 4. 6 12.0111
4.38 4.50 4.00 3.50 4.80 3.567 7.37 1.00
1.0 10.5 1.54 -8.75 3.2 1
'h' 'dim' 1. 1 1.0079
2.96 2.70 3.5 3.4 3.4 0.74 2.235 2.27
1.0 0.19 0.00 0.00 20.00 0
'h' 'dim' 1. 1 1.0079
2.96 2.00 4.0 4.0 0.0 0.74 2.235 1.00
1.0 -0.60 -0.80 -0.0 01.0 1
'H' 'dim' 1. 1 1.0079
2.96 2.96 3.0 3.0 3.0 0.74 2.235 2.50
1.0 0.20 -0.10 0.0 0.5 0
'H' 'dim' 1. 1 1.0079
2.96 2.0 3.0 4.0 0.0 0.74 2.225 1.00
1.0 -0.5 -1.00 0.0 0.15 1
'H' 'dim' 1. 1 1.0079
2.96 2.00 2.0 2.0 2.0 0.74 2.235 1.00
1.0 -0.60 -0.80 -0.0 01.0 2
'Hni' 'dim' 1. 1 1.0079
2.96 2.96 3.0 3.0 3.0 0.74 2.235 2.50
1.0 0.2 -0.1 0.0 0.5 0
'Hni' 'dim' 1. 1 1.0079
2.96 2.96 3.0 2.0 3.0 0.74 2.235 36.4
1.0 0.2 6.0 0.0 22.8 0
'Vac' 'fcc' 12. 1 1.
0 0 0.0 0 0.0 1E+08 0 1
0 0 0 0 1. 0
'zz' 'zzz' 99. 1 1.
0 0 0.0 0 0.0 0. 0. 0.
0 0 0 0 1. 0

View File

@ -0,0 +1 @@
../../potentials/library.meam

View File

@ -1,84 +0,0 @@
LAMMPS (16 Mar 2018)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
using 1 OpenMP thread(s) per MPI task
# bulk Ni in MEAM
units metal
atom_style atomic
lattice fcc 3.52
Lattice spacing in x,y,z = 3.52 3.52 3.52
region box block 0 20 0 20 0 20
create_box 1 box
Created orthogonal box = (0 0 0) to (70.4 70.4 70.4)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 32000 atoms
Time spent = 0.00186539 secs
pair_style meam
WARNING: The pair_style meam command is unsupported. Please use pair_style meam/c instead (../pair_meam.cpp:51)
pair_coeff * * library.meam Ni4 Ni.meam Ni4
velocity all create 1600.0 376847 loop geom
neighbor 1.0 bin
neigh_modify delay 5 every 1
fix 1 all nve
timestep 0.005
thermo 50
run 100
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5
ghost atom cutoff = 5
binsize = 2.5, bins = 29 29 29
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair meam, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair meam, perpetual, half/full from (1)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 55.91 | 55.91 | 55.91 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1600 -142400 0 -135782.09 20259.18
50 885.10702 -139411.51 0 -135750.54 32425.433
100 895.5097 -139454.3 0 -135750.3 31804.187
Loop time of 30.6278 on 1 procs for 100 steps with 32000 atoms
Performance: 1.410 ns/day, 17.015 hours/ns, 3.265 timesteps/s
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 30.088 | 30.088 | 30.088 | 0.0 | 98.24
Neigh | 0.48914 | 0.48914 | 0.48914 | 0.0 | 1.60
Comm | 0.015916 | 0.015916 | 0.015916 | 0.0 | 0.05
Output | 0.00022554 | 0.00022554 | 0.00022554 | 0.0 | 0.00
Modify | 0.025481 | 0.025481 | 0.025481 | 0.0 | 0.08
Other | | 0.009055 | | | 0.03
Nlocal: 32000 ave 32000 max 32000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 13576 ave 13576 max 13576 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 780360 ave 780360 max 780360 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 1.56072e+06 ave 1.56072e+06 max 1.56072e+06 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 1560720
Ave neighs/atom = 48.7725
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:30

View File

@ -1,84 +0,0 @@
LAMMPS (16 Mar 2018)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
using 1 OpenMP thread(s) per MPI task
# bulk Ni in MEAM
units metal
atom_style atomic
lattice fcc 3.52
Lattice spacing in x,y,z = 3.52 3.52 3.52
region box block 0 20 0 20 0 20
create_box 1 box
Created orthogonal box = (0 0 0) to (70.4 70.4 70.4)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 32000 atoms
Time spent = 0.000587463 secs
pair_style meam
WARNING: The pair_style meam command is unsupported. Please use pair_style meam/c instead (../pair_meam.cpp:51)
pair_coeff * * library.meam Ni4 Ni.meam Ni4
velocity all create 1600.0 376847 loop geom
neighbor 1.0 bin
neigh_modify delay 5 every 1
fix 1 all nve
timestep 0.005
thermo 50
run 100
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5
ghost atom cutoff = 5
binsize = 2.5, bins = 29 29 29
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair meam, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair meam, perpetual, half/full from (1)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 17.41 | 17.41 | 17.41 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1600 -142400 0 -135782.09 20259.18
50 885.10702 -139411.51 0 -135750.54 32425.433
100 895.5097 -139454.3 0 -135750.3 31804.187
Loop time of 8.21941 on 4 procs for 100 steps with 32000 atoms
Performance: 5.256 ns/day, 4.566 hours/ns, 12.166 timesteps/s
99.2% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 8.0277 | 8.0384 | 8.0504 | 0.3 | 97.80
Neigh | 0.12555 | 0.12645 | 0.12713 | 0.2 | 1.54
Comm | 0.024279 | 0.036776 | 0.048389 | 4.5 | 0.45
Output | 9.4414e-05 | 0.00011903 | 0.00018597 | 0.0 | 0.00
Modify | 0.01252 | 0.012608 | 0.012795 | 0.1 | 0.15
Other | | 0.005028 | | | 0.06
Nlocal: 8000 ave 8045 max 7947 min
Histogram: 1 0 0 1 0 0 0 1 0 1
Nghost: 6066.75 ave 6120 max 6021 min
Histogram: 1 0 1 0 0 0 1 0 0 1
Neighs: 195090 ave 196403 max 193697 min
Histogram: 1 0 0 1 0 0 0 1 0 1
FullNghs: 390180 ave 392616 max 387490 min
Histogram: 1 0 0 1 0 0 0 1 0 1
Total # of neighbors = 1560720
Ave neighs/atom = 48.7725
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:08

View File

@ -1,86 +0,0 @@
LAMMPS (16 Mar 2018)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
using 1 OpenMP thread(s) per MPI task
# ReaxFF benchmark: simulation of PETN crystal, replicated unit cell
units real
atom_style charge
read_data data.reax
orthogonal box = (0 0 0) to (9.49107 9.49107 6.99123)
1 by 1 by 1 MPI processor grid
reading atoms ...
58 atoms
#replicate 7 8 10
replicate 7 8 5
orthogonal box = (0 0 0) to (66.4375 75.9285 34.9562)
1 by 1 by 1 MPI processor grid
16240 atoms
Time spent = 0.000834942 secs
velocity all create 300.0 9999
pair_style reax
WARNING: The pair_style reax command is unsupported. Please switch to pair_style reax/c instead (../pair_reax.cpp:49)
pair_coeff * * ffield.reax 1 2 3 4
timestep 0.1
fix 2 all nve
thermo 10
thermo_style custom step temp ke pe pxx pyy pzz etotal
run 100
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 12 13 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair reax, perpetual
attributes: half, newton off
pair build: half/bin/newtoff
stencil: half/bin/3d/newtoff
bin: standard
Per MPI rank memory allocation (min/avg/max) = 115.8 | 115.8 | 115.8 Mbytes
Step Temp KinEng PotEng Pxx Pyy Pzz TotEng
0 300 14521.612 -1616144.2 22296.712 -29858.677 5721.0921 -1601622.5
10 298.98728 14472.591 -1616093.9 21955.847 -24067.096 7389.148 -1601621.3
20 294.76158 14268.045 -1615890.1 19179.258 -10513.494 10789.925 -1601622
30 288.56967 13968.323 -1615591.2 13854.377 5833.02 13949.731 -1601622.9
40 282.06725 13653.571 -1615278.2 6259.9845 19406.33 14947.939 -1601624.6
50 274.84112 13303.787 -1614931.9 -2009.6832 26964.336 13346.855 -1601628.2
60 266.20153 12885.585 -1614519.7 -8441.1641 28485.532 10195.429 -1601634.1
70 259.17085 12545.262 -1614184.2 -11426.993 24941.516 6572.2953 -1601638.9
80 259.73004 12572.33 -1614216.7 -10867.598 16928.461 3033.9021 -1601644.3
90 269.2352 13032.431 -1614679 -7962.3129 4931.5317 -280.22164 -1601646.6
100 280.67181 13586.024 -1615234.3 -3606.1519 -8769.8482 -2527.5887 -1601648.3
Loop time of 358.104 on 1 procs for 100 steps with 16240 atoms
Performance: 0.002 ns/day, 9947.338 hours/ns, 0.279 timesteps/s
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 358.07 | 358.07 | 358.07 | 0.0 | 99.99
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.01623 | 0.01623 | 0.01623 | 0.0 | 0.00
Output | 0.0013328 | 0.0013328 | 0.0013328 | 0.0 | 0.00
Modify | 0.012679 | 0.012679 | 0.012679 | 0.0 | 0.00
Other | | 0.006895 | | | 0.00
Nlocal: 16240 ave 16240 max 16240 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 32428 ave 32428 max 32428 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 6.69975e+06 ave 6.69975e+06 max 6.69975e+06 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 6699752
Ave neighs/atom = 412.546
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:06:02

View File

@ -1,86 +0,0 @@
LAMMPS (16 Mar 2018)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
using 1 OpenMP thread(s) per MPI task
# ReaxFF benchmark: simulation of PETN crystal, replicated unit cell
units real
atom_style charge
read_data data.reax
orthogonal box = (0 0 0) to (9.49107 9.49107 6.99123)
2 by 2 by 1 MPI processor grid
reading atoms ...
58 atoms
#replicate 7 8 10
replicate 7 8 5
orthogonal box = (0 0 0) to (66.4375 75.9285 34.9562)
2 by 2 by 1 MPI processor grid
16240 atoms
Time spent = 0.000491619 secs
velocity all create 300.0 9999
pair_style reax
WARNING: The pair_style reax command is unsupported. Please switch to pair_style reax/c instead (../pair_reax.cpp:49)
pair_coeff * * ffield.reax 1 2 3 4
timestep 0.1
fix 2 all nve
thermo 10
thermo_style custom step temp ke pe pxx pyy pzz etotal
run 100
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 12 13 6
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair reax, perpetual
attributes: half, newton off
pair build: half/bin/newtoff
stencil: half/bin/3d/newtoff
bin: standard
Per MPI rank memory allocation (min/avg/max) = 35.58 | 35.68 | 35.77 Mbytes
Step Temp KinEng PotEng Pxx Pyy Pzz TotEng
0 300 14521.612 -1616144.1 22296.712 -29858.677 5721.0922 -1601622.5
10 298.98728 14472.591 -1616093.8 21955.847 -24067.094 7389.149 -1601621.3
20 294.76158 14268.044 -1615890 19179.258 -10513.494 10789.925 -1601622
30 288.56967 13968.323 -1615591.2 13854.38 5833.0219 13949.731 -1601622.9
40 282.06725 13653.571 -1615278.2 6259.981 19406.327 14947.938 -1601624.7
50 274.84112 13303.787 -1614931.9 -2009.6844 26964.334 13346.855 -1601628.1
60 266.20153 12885.585 -1614519.8 -8441.1628 28485.533 10195.428 -1601634.2
70 259.17085 12545.262 -1614184.2 -11426.992 24941.517 6572.295 -1601639
80 259.73004 12572.33 -1614216.8 -10867.596 16928.464 3033.9024 -1601644.5
90 269.2352 13032.431 -1614679 -7962.3097 4931.5336 -280.21988 -1601646.5
100 280.67181 13586.024 -1615234.3 -3606.1482 -8769.8463 -2527.5874 -1601648.3
Loop time of 97.054 on 4 procs for 100 steps with 16240 atoms
Performance: 0.009 ns/day, 2695.944 hours/ns, 1.030 timesteps/s
99.0% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 94.83 | 95.764 | 96.883 | 9.2 | 98.67
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.16123 | 1.2801 | 2.2132 | 79.9 | 1.32
Output | 0.00056076 | 0.00066662 | 0.00095987 | 0.0 | 0.00
Modify | 0.0048354 | 0.0049006 | 0.0049515 | 0.1 | 0.01
Other | | 0.004639 | | | 0.00
Nlocal: 4060 ave 4080 max 4040 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 14972 ave 14992 max 14952 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 1.8135e+06 ave 1.82186e+06 max 1.80514e+06 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 7253988
Ave neighs/atom = 446.674
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:01:38

View File

@ -1,69 +0,0 @@
#define PORTABLECOMMENTFLAG
#ifndef PORTABLECOMMENTFLAG
// This is just a way to have portable comments
// for both C++ and FORTRAN preprocessing.
/* ///:EOH~ */
/* */
/* This file contains array dimension parameters for all the main */
/* ReaxFF data structures, some of which need to be directly accessed */
/* by Grasp C++ functions. If they are set too small, the calculation */
/* will run out of allocated memory. If they are set too big, the machine */
/* will not be able to allocate enough memory. */
/* */
/* NNEIGHMAXDEF = Max number of neighbors / NATDEF */
/* NATDEF = Max number of atoms */
/* NATTOTDEF = Max number of global atoms */
/* NSORTDEF = Max number of atom types */
/* MBONDDEF = Max number of bonds connected to one atom */
/* NAVIBDEF = for 2nd derivatives */
/* NBOTYMDEF = Max number of bond types */
/* NVATYMDEF = Max number of valency angle types */
/* NTOTYMDEF = Max number of torsion angle types */
/* NHBTYMDEF = Max number of hydrogen bond types */
/* NODMTYMDEF = Max number of off-diagonal Morse types */
/* NBOALLMAXDEF = Max number of all bonds */
/* NBOMAXDEF = Max number of bonds */
/* NHBMAXDEF = Max number of hydrogen bonds */
/* NVAMAXDEF = Max number of valency angles */
/* NOPMAXDEF = Max number of out of plane angles */
/* NTOMAXDEF = Max number of torsion angles */
/* NPAMAXDEF = Max number of general parameters in force field */
/* NMOLMAXDEF = Max number of molecules in system */
/* NMOLSETDEF = Max number of molecules in training set */
/* MRESTRADEF = Max number of restraints */
/* MTREGDEF = Max number of temperature regimes */
/* MTZONEDEF = Max number of temperature zones */
/* MVREGDEF = Max number of volume regimes */
/* MVZONEDEF = Max number of volume zones */
/* MEREGDEF = Max number of electric field regimes */
/* MEZONEDEF = Max number of electric field zones */
#endif
#define NNEIGHMAXDEF 200
#define NATDEF 50000
#define NATTOTDEF 1
#define NSORTDEF 20
#define MBONDDEF 20
#define NAVIBDEF 50
#define NBOTYMDEF 200
#define NVATYMDEF 200
#define NTOTYMDEF 200
#define NHBTYMDEF 200
#define NODMTYMDEF 20
#define NBOALLMAXDEF 180000
#define NBOMAXDEF 90000
#define NHBMAXDEF 400000
#define NVAMAXDEF 300000
#define NOPMAXDEF 00010
#define NTOMAXDEF 200000
#define NPAMAXDEF 50
#define NMOLMAXDEF 2000
#define NMOLSETDEF 1500
#define MRESTRADEF 100
#define MTREGDEF 100
#define MTZONEDEF 5
#define MVREGDEF 100
#define MVZONEDEF 6
#define MEREGDEF 100
#define MEZONEDEF 3

View File

@ -2,17 +2,25 @@
# CMake build system
# This file is part of LAMMPS
# Created by Christoph Junghans and Richard Berger
cmake_minimum_required(VERSION 2.8.12)
cmake_minimum_required(VERSION 3.10)
# set policy to silence warnings about ignoring <PackageName>_ROOT but use it
if(POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
########################################
project(lammps CXX)
set(SOVERSION 0)
get_filename_component(LAMMPS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../src ABSOLUTE)
get_filename_component(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib ABSOLUTE)
get_filename_component(LAMMPS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. ABSOLUTE)
get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE)
get_filename_component(LAMMPS_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../doc ABSOLUTE)
get_filename_component(LAMMPS_TOOLS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../tools ABSOLUTE)
get_filename_component(LAMMPS_PYTHON_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../python ABSOLUTE)
get_filename_component(LAMMPS_POTENTIALS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../potentials ABSOLUTE)
set(LAMMPS_SOURCE_DIR ${LAMMPS_DIR}/src)
set(LAMMPS_LIB_SOURCE_DIR ${LAMMPS_DIR}/lib)
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)
find_package(Git)
@ -21,22 +29,22 @@ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "default install path" FORCE )
endif()
# To avoid conflicts with the conventional Makefile build system, we build everything here
file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/[^.]*.cpp)
file(GLOB LMP_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp)
list(REMOVE_ITEM LIB_SOURCES ${LMP_SOURCES})
# Cmake modules/macros are in a subdirectory to keep this file cleaner
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules)
# make sure LIBRARY_PATH is set if environment variable is set
if (DEFINED ENV{LIBRARY_PATH})
list(APPEND CMAKE_LIBRARY_PATH "$ENV{LIBRARY_PATH}")
message(STATUS "Appending $ENV{LIBRARY_PATH} to CMAKE_LIBRARY_PATH: ${CMAKE_LIBRARY_PATH}")
endif()
include(LAMMPSUtils)
get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h LAMMPS_VERSION)
get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h PROJECT_VERSION)
include(PreventInSourceBuilds)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
#release comes with -O3 by default
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
@ -52,116 +60,85 @@ check_for_autogen_files(${LAMMPS_SOURCE_DIR})
include(CheckCCompilerFlag)
include(CheckIncludeFileCXX)
# set required compiler flags and compiler/CPU arch specific optimizations
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict -std=c++11")
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")
else()
set(CMAKE_TUNE_DEFAULT "-xHost")
endif()
endif()
option(DISABLE_CXX11_REQUIREMENT "Disable check that requires C++11 for compiling LAMMPS" OFF)
if(DISABLE_CXX11_REQUIREMENT)
add_definitions(-DLAMMPS_CXX98)
# else()
# set(CMAKE_CXX_STANDARD 11)
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
set(CMAKE_TUNE_DEFAULT "-march=native")
endif()
# GNU compiler features
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
set(CMAKE_TUNE_DEFAULT "-march=native")
endif()
# we require C++11 without extensions
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# GNU compiler specific features for testing
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
option(ENABLE_COVERAGE "Enable code coverage" OFF)
option(ENABLE_COVERAGE "Enable collecting code coverage data" OFF)
mark_as_advanced(ENABLE_COVERAGE)
if(ENABLE_COVERAGE)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
endif()
option(ENABLE_SANITIZE_ADDRESS "Enable address sanitizer" OFF)
mark_as_advanced(ENABLE_SANITIZE_ADDRESS)
if(ENABLE_SANITIZE_ADDRESS)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
endif()
option(ENABLE_SANITIZE_UNDEFINED "Enable undefined behavior sanitizer" OFF)
mark_as_advanced(ENABLE_SANITIZE_UNDEFINED)
if(ENABLE_SANITIZE_UNDEFINED)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined")
endif()
option(ENABLE_SANITIZE_THREAD "Enable thread sanitizer" OFF)
mark_as_advanced(ENABLE_SANITIZE_THREAD)
if(ENABLE_SANITIZE_THREAD)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread")
endif()
endif()
########################################################################
# User input options #
########################################################################
option(BUILD_EXE "Build lmp binary" ON)
if(BUILD_EXE)
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)
set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}")
endif()
set(LAMMPS_BINARY lmp${LAMMPS_MACHINE})
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)
set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}")
endif()
set(LAMMPS_BINARY lmp${LAMMPS_MACHINE})
option(BUILD_LIB "Build LAMMPS library" OFF)
if(BUILD_LIB)
option(BUILD_SHARED_LIBS "Build shared library" OFF)
if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
set(LAMMPS_LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file")
mark_as_advanced(LAMMPS_LIB_SUFFIX)
if(LAMMPS_LIB_SUFFIX)
set(LAMMPS_LIB_SUFFIX "_${LAMMPS_LIB_SUFFIX}")
endif()
option(BUILD_SHARED_LIBS "Build shared library" OFF)
if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
option(BUILD_TOOLS "Build and install LAMMPS tools (msi2lmp, binary2txt, chain)" OFF)
if(NOT BUILD_EXE AND NOT BUILD_LIB)
message(FATAL_ERROR "You need to at least enable one of two following options: BUILD_LIB or BUILD_EXE")
endif()
include(GNUInstallDirs)
file(GLOB ALL_SOURCES ${LAMMPS_SOURCE_DIR}/[^.]*.cpp)
file(GLOB MAIN_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp)
list(REMOVE_ITEM ALL_SOURCES ${MAIN_SOURCES})
add_library(lammps ${ALL_SOURCES})
add_executable(lmp ${MAIN_SOURCES})
target_link_libraries(lmp PRIVATE lammps)
set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY})
install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR})
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
include(GNUInstallDirs)
set(LAMMPS_LINK_LIBS)
set(LAMMPS_DEPS)
set(LAMMPS_API_DEFINES)
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE
GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MOLECULE PERI POEMS QEQ
REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI
USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS
USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK USER-COLVARS
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB
USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC
USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF
USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-ADIOS)
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REACTION
USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-ADIOS)
set(SUFFIX_PACKAGES CORESHELL USER-OMP KOKKOS OPT USER-INTEL GPU)
foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
endforeach()
######################################################
# download and unpack support binaries for compilation
# of windows binaries.
######################################################
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
set(LAMMPS_THIRDPARTY_URL "http://download.lammps.org/thirdparty")
file(DOWNLOAD "${LAMMPS_THIRDPARTY_URL}/opencl-win-devel.tar.gz" "${CMAKE_CURRENT_BINARY_DIR}/opencl-win-devel.tar.gz"
EXPECTED_MD5 2c00364888d5671195598b44c2e0d44d)
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf opencl-win-devel.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86")
set(OpenCL_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win32/libOpenCL.dll")
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
set(OpenCL_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win64/libOpenCL.dll")
endif()
set(OpenCL_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/include")
endif()
######################################################
######################################################
# packages with special compiler needs or external libs
######################################################
include_directories(${LAMMPS_SOURCE_DIR})
target_include_directories(lammps PUBLIC $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}>)
if(PKG_USER-ADIOS)
# The search for ADIOS2 must come before MPI because
@ -169,27 +146,44 @@ if(PKG_USER-ADIOS)
# script that defines the MPI::MPI_C target
enable_language(C)
find_package(ADIOS2 REQUIRED)
list(APPEND LAMMPS_LINK_LIBS adios2::adios2)
target_link_libraries(lammps PRIVATE adios2::adios2)
endif()
if(NOT CMAKE_CROSSCOMPILING)
set(MPI_CXX_SKIP_MPICXX TRUE)
find_package(MPI QUIET)
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
else()
option(BUILD_MPI "Build MPI version" OFF)
endif()
# do MPI detection after language activation, if MPI for these language is required
set(MPI_CXX_SKIP_MPICXX TRUE)
find_package(MPI QUIET)
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
if(BUILD_MPI)
find_package(MPI REQUIRED)
include_directories(${MPI_CXX_INCLUDE_PATH})
list(APPEND LAMMPS_LINK_LIBS ${MPI_CXX_LIBRARIES})
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)
add_definitions(-DLAMMPS_LONGLONG_TO_LONG)
# We use a non-standard procedure to cross-compile with MPI on Windows
if((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING)
include(MPI4WIN)
target_link_libraries(lammps PUBLIC MPI::MPI_CXX)
else()
find_package(MPI REQUIRED)
target_link_libraries(lammps PUBLIC MPI::MPI_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)
endif()
endif()
else()
enable_language(C)
file(GLOB MPI_SOURCES ${LAMMPS_SOURCE_DIR}/STUBS/mpi.c)
add_library(mpi_stubs STATIC ${MPI_SOURCES})
include_directories(${LAMMPS_SOURCE_DIR}/STUBS)
list(APPEND LAMMPS_LINK_LIBS mpi_stubs)
set_target_properties(mpi_stubs PROPERTIES OUTPUT_NAME lammps_mpi_stubs${LAMMPS_MACHINE})
target_include_directories(mpi_stubs PUBLIC $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}/STUBS> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/lammps/mpi>)
install(FILES ${LAMMPS_SOURCE_DIR}/STUBS/mpi.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps/mpi)
if(BUILD_SHARED_LIBS)
target_link_libraries(lammps PRIVATE mpi_stubs)
target_include_directories(lammps INTERFACE $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}/STUBS> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/lammps/mpi>)
else()
target_link_libraries(lammps PUBLIC mpi_stubs)
endif()
add_library(MPI::MPI_CXX ALIAS 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)")
@ -197,8 +191,7 @@ set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall)
set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES})
validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES)
string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES)
add_definitions(-DLAMMPS_${LAMMPS_SIZES})
set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_${LAMMPS_SIZES}")
target_compile_definitions(lammps PUBLIC -DLAMMPS_${LAMMPS_SIZES})
# posix_memalign is not available on Windows
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
@ -207,13 +200,12 @@ else()
set(LAMMPS_MEMALIGN "64" CACHE STRING "enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS. Set to 0 to disable")
endif()
if(NOT ${LAMMPS_MEMALIGN} STREQUAL "0")
add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN})
target_compile_definitions(lammps PRIVATE -DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN})
endif()
option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" OFF)
if(LAMMPS_EXCEPTIONS)
add_definitions(-DLAMMPS_EXCEPTIONS)
set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_EXCEPTIONS")
target_compile_definitions(lammps PUBLIC -DLAMMPS_EXCEPTIONS)
endif()
# "hard" dependencies between packages resulting
@ -224,27 +216,36 @@ pkg_depends(USER-LB MPI)
pkg_depends(USER-PHONON KSPACE)
pkg_depends(USER-SCAFACOS MPI)
# detect if we may enable OpenMP support by default
set(BUILD_OMP_DEFAULT OFF)
find_package(OpenMP QUIET)
# TODO: this is a temporary workaround until a better solution is found. AK 2019-05-30
# GNU GCC 9.x uses settings incompatible with our use of 'default(none)' in OpenMP pragmas
# where we assume older GCC semantics. For the time being, we disable OpenMP by default
# for GCC 9.x and beyond. People may manually turn it on, but need to run the script
# src/USER-OMP/hack_openmp_for_pgi_gcc9.sh on all sources to make it compatible with gcc 9.
if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.99.9))
option(BUILD_OMP "Build with OpenMP support" OFF)
else()
option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND})
if(OpenMP_FOUND)
check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE)
if(HAVE_OMP_H_INCLUDE)
set(BUILD_OMP_DEFAULT ON)
endif()
endif()
option(BUILD_OMP "Build with OpenMP support" ${BUILD_OMP_DEFAULT})
if(BUILD_OMP)
find_package(OpenMP REQUIRED)
check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE)
if(NOT HAVE_OMP_H_INCLUDE)
message(FATAL_ERROR "Cannot find required 'omp.h' header file")
message(FATAL_ERROR "Cannot find the 'omp.h' header file required for full OpenMP support")
endif()
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
if (((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.99.9)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.99.9)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 18.99.9))
)
# GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts.
# Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe.
target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=4)
else()
target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=3)
endif()
target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX)
endif()
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
@ -252,14 +253,16 @@ if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
find_package(LAPACK)
find_package(BLAS)
if(NOT LAPACK_FOUND OR NOT BLAS_FOUND)
if(CMAKE_GENERATOR STREQUAL "Ninja")
status(FATAL_ERROR "Cannot build internal linear algebra library with Ninja build tool due to lack for Fortran support")
include(CheckGeneratorSupport)
if(NOT CMAKE_GENERATOR_SUPPORT_FORTRAN)
status(FATAL_ERROR "Cannot build internal linear algebra library as CMake build tool lacks Fortran support")
endif()
enable_language(Fortran)
file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/[^.]*.[fF])
add_library(linalg STATIC ${LAPACK_SOURCES})
set(BLAS_LIBRARIES linalg)
set(LAPACK_LIBRARIES linalg)
set_target_properties(linalg PROPERTIES OUTPUT_NAME lammps_linalg${LAMMPS_MACHINE})
set(BLAS_LIBRARIES "$<TARGET_FILE:linalg>")
set(LAPACK_LIBRARIES "$<TARGET_FILE:linalg>")
else()
list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES})
endif()
@ -270,9 +273,13 @@ find_package(JPEG QUIET)
option(WITH_JPEG "Enable JPEG support" ${JPEG_FOUND})
if(WITH_JPEG)
find_package(JPEG REQUIRED)
add_definitions(-DLAMMPS_JPEG)
include_directories(${JPEG_INCLUDE_DIR})
list(APPEND LAMMPS_LINK_LIBS ${JPEG_LIBRARIES})
target_compile_definitions(lammps PRIVATE -DLAMMPS_JPEG)
if(CMAKE_VERSION VERSION_LESS 3.12)
target_include_directories(lammps PRIVATE ${JPEG_INCLUDE_DIR})
target_link_libraries(lammps PRIVATE ${JPEG_LIBRARIES})
else()
target_link_libraries(lammps PRIVATE JPEG::JPEG)
endif()
endif()
find_package(PNG QUIET)
@ -285,9 +292,8 @@ endif()
if(WITH_PNG)
find_package(PNG REQUIRED)
find_package(ZLIB REQUIRED)
include_directories(${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${PNG_LIBRARIES} ${ZLIB_LIBRARIES})
add_definitions(-DLAMMPS_PNG)
target_link_libraries(lammps PRIVATE PNG::PNG ZLIB::ZLIB)
target_compile_definitions(lammps PRIVATE -DLAMMPS_PNG)
endif()
find_program(GZIP_EXECUTABLE gzip)
@ -297,7 +303,7 @@ if(WITH_GZIP)
if(NOT GZIP_FOUND)
message(FATAL_ERROR "gzip executable not found")
endif()
add_definitions(-DLAMMPS_GZIP)
target_compile_definitions(lammps PRIVATE -DLAMMPS_GZIP)
endif()
find_program(FFMPEG_EXECUTABLE ffmpeg)
@ -307,7 +313,7 @@ if(WITH_FFMPEG)
if(NOT FFMPEG_FOUND)
message(FATAL_ERROR "ffmpeg executable not found")
endif()
add_definitions(-DLAMMPS_FFMPEG)
target_compile_definitions(lammps PRIVATE -DLAMMPS_FFMPEG)
endif()
if(BUILD_SHARED_LIBS)
@ -320,29 +326,25 @@ else()
set(CUDA_REQUEST_PIC)
endif()
include(Packages/KSPACE)
include(Packages/PYTHON)
include(Packages/VORONOI)
include(Packages/USER-COLVARS)
include(Packages/USER-MOLFILE)
include(Packages/USER-NETCDF)
include(Packages/USER-PLUMED)
include(Packages/USER-QMMM)
include(Packages/USER-QUIP)
include(Packages/USER-SCAFACOS)
include(Packages/USER-SMD)
include(Packages/USER-VTK)
include(Packages/KIM)
include(Packages/LATTE)
include(Packages/MESSAGE)
include(Packages/MSCG)
include(Packages/COMPRESS)
# the windows version of LAMMPS requires a couple extra libraries
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
list(APPEND LAMMPS_LINK_LIBS -lwsock32 -lpsapi)
endif()
foreach(PKG_WITH_INCL KSPACE PYTHON VORONOI USER-COLVARS USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM
USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS)
if(PKG_${PKG_WITH_INCL})
include(Packages/${PKG_WITH_INCL})
endif()
endforeach()
set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler specific optimization or instrumentation")
separate_arguments(CMAKE_TUNE_FLAGS)
include(CheckCXXCompilerFlag)
foreach(_FLAG ${CMAKE_TUNE_FLAGS})
string(REGEX REPLACE "[=\"]" "" _FLAGX ${_FLAG})
check_cxx_compiler_flag("${_FLAG}" COMPILER_SUPPORTS${_FLAGX})
if(COMPILER_SUPPORTS${_FLAGX})
target_compile_options(lammps PRIVATE ${_FLAG})
else()
message(WARNING "${_FLAG} found in CMAKE_TUNE_FLAGS, but not supported by the compiler, skipping")
endif()
endforeach()
########################################################################
# Basic system tests (standard libraries, headers, functions, types) #
########################################################################
@ -355,18 +357,7 @@ endforeach(HEADER)
set(MATH_LIBRARIES "m" CACHE STRING "math library")
mark_as_advanced( MATH_LIBRARIES )
include(CheckLibraryExists)
if (CMAKE_VERSION VERSION_LESS "3.4")
enable_language(C) # check_library_exists isn't supported without a C compiler before v3.4
endif()
# RB: disabled this check because it breaks with KOKKOS CUDA enabled
#foreach(FUNC sin cos)
# check_library_exists(${MATH_LIBRARIES} ${FUNC} "" FOUND_${FUNC}_${MATH_LIBRARIES})
# if(NOT FOUND_${FUNC}_${MATH_LIBRARIES})
# message(FATAL_ERROR "Could not find needed math function - ${FUNC}")
# endif(NOT FOUND_${FUNC}_${MATH_LIBRARIES})
#endforeach(FUNC)
list(APPEND LAMMPS_LINK_LIBS ${MATH_LIBRARIES})
target_link_libraries(lammps PRIVATE ${MATH_LIBRARIES})
######################################
# Generate Basic Style files
@ -374,10 +365,19 @@ list(APPEND LAMMPS_LINK_LIBS ${MATH_LIBRARIES})
include(StyleHeaderUtils)
RegisterStyles(${LAMMPS_SOURCE_DIR})
########################################################
# Fetch missing external files and archives for packages
########################################################
foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES})
if(PKG_${PKG})
FetchPotentials(${LAMMPS_SOURCE_DIR}/${PKG} ${LAMMPS_POTENTIALS_DIR})
endif()
endforeach()
##############################################
# add sources of enabled packages
############################################
foreach(PKG ${DEFAULT_PACKAGES})
foreach(PKG ${STANDARD_PACKAGES})
set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG})
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp)
@ -390,8 +390,8 @@ foreach(PKG ${DEFAULT_PACKAGES})
# detects styles in package and adds them to global list
RegisterStyles(${${PKG}_SOURCES_DIR})
list(APPEND LIB_SOURCES ${${PKG}_SOURCES})
include_directories(${${PKG}_SOURCES_DIR})
target_sources(lammps PRIVATE ${${PKG}_SOURCES})
target_include_directories(lammps PRIVATE ${${PKG}_SOURCES_DIR})
endif()
RegisterPackages(${${PKG}_SOURCES_DIR})
@ -400,12 +400,12 @@ endforeach()
# packages that need defines set
foreach(PKG MPIIO)
if(PKG_${PKG})
add_definitions(-DLMP_${PKG})
target_compile_definitions(lammps PRIVATE -DLMP_${PKG})
endif()
endforeach()
# dedicated check for entire contents of accelerator packages
foreach(PKG ${ACCEL_PACKAGES})
foreach(PKG ${SUFFIX_PACKAGES})
set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG})
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp)
@ -420,16 +420,22 @@ endforeach()
##############################################
# add lib sources of (simple) enabled packages
############################################
foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-QMMM)
foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-MESONT)
if(PKG_${SIMPLE_LIB})
string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}")
string(TOLOWER "${PKG_LIB}" PKG_LIB)
file(GLOB_RECURSE ${PKG_LIB}_SOURCES
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.F
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.c
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.cpp)
if(PKG_LIB STREQUAL mesont)
enable_language(Fortran)
file(GLOB_RECURSE ${PKG_LIB}_SOURCES
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.f90)
else()
file(GLOB_RECURSE ${PKG_LIB}_SOURCES
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.c
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.cpp)
endif()
add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES})
list(APPEND LAMMPS_LINK_LIBS ${PKG_LIB})
set_target_properties(${PKG_LIB} PROPERTIES OUTPUT_NAME lammps_${PKG_LIB}${LAMMPS_MACHINE})
target_link_libraries(lammps PRIVATE ${PKG_LIB})
if(PKG_LIB STREQUAL awpmd)
target_include_directories(awpmd PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/awpmd/systems/interact ${LAMMPS_LIB_SOURCE_DIR}/awpmd/ivutils/include)
elseif(PKG_LIB STREQUAL h5md)
@ -441,30 +447,45 @@ foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-QMMM)
endforeach()
if(PKG_USER-AWPMD)
target_link_libraries(awpmd ${LAPACK_LIBRARIES})
target_link_libraries(awpmd PRIVATE ${LAPACK_LIBRARIES})
endif()
if(PKG_USER-ATC)
if(LAMMPS_SIZES STREQUAL BIGBIG)
message(FATAL_ERROR "The USER-ATC Package is not compatible with -DLAMMPS_BIGBIG")
endif()
target_link_libraries(atc ${LAPACK_LIBRARIES})
target_link_libraries(atc PRIVATE ${LAPACK_LIBRARIES})
if(BUILD_MPI)
target_link_libraries(atc PRIVATE MPI::MPI_CXX)
else()
target_link_libraries(atc PRIVATE mpi_stubs)
endif()
target_include_directories(atc PRIVATE ${LAMMPS_SOURCE_DIR})
target_compile_definitions(atc PRIVATE -DLAMMPS_${LAMMPS_SIZES})
endif()
include(Packages/USER-H5MD)
if(PKG_USER-H5MD)
include(Packages/USER-H5MD)
endif()
######################################################################
# packages which selectively include variants based on enabled styles
# e.g. accelerator packages
######################################################################
include(Packages/CORESHELL)
include(Packages/QEQ)
include(Packages/USER-OMP)
include(Packages/USER-SDPD)
include(Packages/KOKKOS)
include(Packages/OPT)
include(Packages/USER-INTEL)
include(Packages/GPU)
foreach(PKG_WITH_INCL CORESHELL QEQ USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU)
if(PKG_${PKG_WITH_INCL})
include(Packages/${PKG_WITH_INCL})
endif()
endforeach()
######################################################################
# the windows version of LAMMPS requires a couple extra libraries
# and the MPI library - if use - has to be linked right before those
# and after everything else that is compiled locally
######################################################################
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
target_link_libraries(lammps PRIVATE -lwsock32 -lpsapi)
endif()
######################################################
# Generate style headers based on global list of
@ -476,14 +497,14 @@ set(LAMMPS_STYLE_HEADERS_DIR ${CMAKE_CURRENT_BINARY_DIR}/styles)
GenerateStyleHeaders(${LAMMPS_STYLE_HEADERS_DIR})
GeneratePackagesHeaders(${LAMMPS_STYLE_HEADERS_DIR})
include_directories(${LAMMPS_STYLE_HEADERS_DIR})
target_include_directories(lammps PRIVATE ${LAMMPS_STYLE_HEADERS_DIR})
######################################
# Generate lmpinstalledpkgs.h
######################################
set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n")
set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n")
set(temp_PKG_LIST ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
set(temp_PKG_LIST ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES})
list(SORT temp_PKG_LIST)
foreach(PKG ${temp_PKG_LIST})
if(PKG_${PKG})
@ -499,13 +520,13 @@ execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HE
# Generate lmpgitversion.h
######################################
add_custom_target(gitversion COMMAND ${CMAKE_COMMAND}
-DCMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
-DLAMMPS_DIR="${LAMMPS_DIR}"
-DGIT_EXECUTABLE="${GIT_EXECUTABLE}"
-DGIT_FOUND="${GIT_FOUND}"
-DLAMMPS_STYLE_HEADERS_DIR="${LAMMPS_STYLE_HEADERS_DIR}"
-P ${CMAKE_CURRENT_SOURCE_DIR}/Modules/generate_lmpgitversion.cmake)
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${LAMMPS_STYLE_HEADERS_DIR}/gitversion.h)
list(APPEND LAMMPS_DEPS gitversion)
add_dependencies(lammps gitversion)
###########################################
# Actually add executable and lib to build
@ -513,94 +534,72 @@ list(APPEND LAMMPS_DEPS gitversion)
get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
list (FIND LANGUAGES "Fortran" _index)
if (${_index} GREATER -1)
list(APPEND LAMMPS_LINK_LIBS ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
target_link_libraries(lammps PRIVATE ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
endif()
list(REMOVE_DUPLICATES LAMMPS_LINK_LIBS)
if(BUILD_LIB)
add_library(lammps ${LIB_SOURCES})
target_link_libraries(lammps ${LAMMPS_LINK_LIBS})
if(LAMMPS_DEPS)
add_dependencies(lammps ${LAMMPS_DEPS})
set(LAMMPS_CXX_HEADERS angle.h atom.h bond.h citeme.h comm.h compute.h dihedral.h domain.h error.h fix.h force.h group.h improper.h
input.h info.h kspace.h lammps.h lattice.h library.h lmppython.h lmptype.h memory.h modify.h neighbor.h neigh_list.h output.h
pair.h pointers.h region.h timer.h universe.h update.h variable.h)
if(LAMMPS_EXCEPTIONS)
list(APPEND LAMMPS_CXX_HEADERS exceptions.h)
endif()
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_MACHINE})
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
target_include_directories(lammps PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps)
foreach(_HEADER ${LAMMPS_CXX_HEADERS})
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps/${_HEADER} COMMAND ${CMAKE_COMMAND} -E copy_if_different ${LAMMPS_SOURCE_DIR}/${_HEADER} ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps/${_HEADER} DEPENDS ${LAMMPS_SOURCE_DIR}/${_HEADER})
add_custom_target(${_HEADER} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps/${_HEADER})
add_dependencies(lammps ${_HEADER})
if(BUILD_SHARED_LIBS)
install(FILES ${LAMMPS_SOURCE_DIR}/${_HEADER} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps)
endif()
set(LAMMPS_CXX_HEADERS
${LAMMPS_SOURCE_DIR}/angle.h
${LAMMPS_SOURCE_DIR}/atom.h
${LAMMPS_SOURCE_DIR}/bond.h
${LAMMPS_SOURCE_DIR}/citeme.h
${LAMMPS_SOURCE_DIR}/comm.h
${LAMMPS_SOURCE_DIR}/compute.h
${LAMMPS_SOURCE_DIR}/dihedral.h
${LAMMPS_SOURCE_DIR}/domain.h
${LAMMPS_SOURCE_DIR}/error.h
${LAMMPS_SOURCE_DIR}/fix.h
${LAMMPS_SOURCE_DIR}/force.h
${LAMMPS_SOURCE_DIR}/group.h
${LAMMPS_SOURCE_DIR}/improper.h
${LAMMPS_SOURCE_DIR}/input.h
${LAMMPS_SOURCE_DIR}/kspace.h
${LAMMPS_SOURCE_DIR}/lammps.h
${LAMMPS_SOURCE_DIR}/lattice.h
${LAMMPS_SOURCE_DIR}/lmppython.h
${LAMMPS_SOURCE_DIR}/memory.h
${LAMMPS_SOURCE_DIR}/modify.h
${LAMMPS_SOURCE_DIR}/neighbor.h
${LAMMPS_SOURCE_DIR}/neigh_list.h
${LAMMPS_SOURCE_DIR}/output.h
${LAMMPS_SOURCE_DIR}/pair.h
${LAMMPS_SOURCE_DIR}/pointers.h
${LAMMPS_SOURCE_DIR}/region.h
${LAMMPS_SOURCE_DIR}/timer.h
${LAMMPS_SOURCE_DIR}/universe.h
${LAMMPS_SOURCE_DIR}/update.h
${LAMMPS_SOURCE_DIR}/variable.h)
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_LIB_SUFFIX})
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps)
install(FILES ${LAMMPS_CXX_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps)
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
configure_file(FindLAMMPS.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Modules)
else()
list(APPEND LMP_SOURCES ${LIB_SOURCES})
endif()
if(BUILD_EXE)
add_executable(lmp ${LMP_SOURCES})
if(BUILD_LIB)
target_link_libraries(lmp lammps)
else()
target_link_libraries(lmp ${LAMMPS_LINK_LIBS})
if(LAMMPS_DEPS)
add_dependencies(lmp ${LAMMPS_DEPS})
endif()
endif()
set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY})
install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME ${LAMMPS_BINARY}.1)
endforeach()
target_include_directories(lammps INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/includes>)
add_library(LAMMPS::lammps ALIAS lammps)
get_target_property(LAMMPS_DEFINES lammps INTERFACE_COMPILE_DEFINITIONS)
set(LAMMPS_API_DEFINES)
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})
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)
install(EXPORT LAMMPS_Targets FILE LAMMPS_Targets.cmake NAMESPACE LAMMPS:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS)
include(CMakePackageConfigHelpers)
configure_file(LAMMPSConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfig.cmake @ONLY)
write_basic_package_version_file("LAMMPSConfigVersion.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY ExactVersion)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfigVersion.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS)
endif()
install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME ${LAMMPS_BINARY}.1)
if(BUILD_TOOLS)
add_executable(binary2txt ${LAMMPS_TOOLS_DIR}/binary2txt.cpp)
target_compile_definitions(binary2txt PRIVATE -DLAMMPS_${LAMMPS_SIZES})
install(TARGETS binary2txt DESTINATION ${CMAKE_INSTALL_BINDIR})
# ninja-build currently does not support fortran. thus we skip building this tool
if(NOT CMAKE_GENERATOR STREQUAL "Ninja")
message(STATUS "Skipping building 'chain.x' with Ninja build tool due to lack of Fortran support")
enable_language(Fortran)
add_executable(chain.x ${LAMMPS_TOOLS_DIR}/chain.f)
target_link_libraries(chain.x ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
install(TARGETS chain.x DESTINATION ${CMAKE_INSTALL_BINDIR})
include(CheckGeneratorSupport)
if(CMAKE_GENERATOR_SUPPORT_FORTRAN)
include(CheckLanguage)
check_language(Fortran)
if(CMAKE_Fortran_COMPILER)
enable_language(Fortran)
add_executable(chain.x ${LAMMPS_TOOLS_DIR}/chain.f)
target_link_libraries(chain.x PRIVATE ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
install(TARGETS chain.x DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
message(WARNING "No suitable Fortran compiler found, skipping building 'chain.x'")
endif()
else()
message(WARNING "CMake build doesn't support fortran, skipping building 'chain.x'")
endif()
enable_language(C)
get_filename_component(MSI2LMP_SOURCE_DIR ${LAMMPS_TOOLS_DIR}/msi2lmp/src ABSOLUTE)
file(GLOB MSI2LMP_SOURCES ${MSI2LMP_SOURCE_DIR}/[^.]*.c)
add_executable(msi2lmp ${MSI2LMP_SOURCES})
target_link_libraries(msi2lmp m)
target_link_libraries(msi2lmp PRIVATE ${MATH_LIBRARIES})
install(TARGETS msi2lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ${LAMMPS_DOC_DIR}/msi2lmp.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
endif()
@ -630,12 +629,21 @@ install(
# conventional build. Only available, if a shared library is built.
# This is primarily for people that only want to use the Python wrapper.
###############################################################################
if(BUILD_LIB AND BUILD_SHARED_LIBS)
find_package(PythonInterp)
if (PYTHONINTERP_FOUND)
if(BUILD_SHARED_LIBS)
if(CMAKE_VERSION VERSION_LESS 3.12)
# adjust so we find Python 3 versions before Python 2 on old systems with old CMake
set(Python_ADDITIONAL_VERSIONS 3.8 3.7 3.6 3.5)
find_package(PythonInterp) # Deprecated since version 3.12
if(PYTHONINTERP_FOUND)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
else()
find_package(Python COMPONENTS Interpreter)
endif()
if (Python_EXECUTABLE)
add_custom_target(
install-python
${PYTHON_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h
${Python_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h
-m ${LAMMPS_PYTHON_DIR}/lammps.py
-l ${CMAKE_BINARY_DIR}/liblammps${CMAKE_SHARED_LIBRARY_SUFFIX}
WORKING_DIRECTORY ${LAMMPS_PYTHON_DIR}
@ -656,10 +664,17 @@ endif()
# LAMMPS for package managers and with different prefix settings.
# This requires either a shared library or that the PYTHON package is included.
###############################################################################
if((BUILD_LIB AND BUILD_SHARED_LIBS) OR (PKG_PYTHON))
find_package(PythonInterp)
if (PYTHONINTERP_FOUND)
execute_process(COMMAND ${PYTHON_EXECUTABLE}
if(BUILD_SHARED_LIBS OR PKG_PYTHON)
if(CMAKE_VERSION VERSION_LESS 3.12)
find_package(PythonInterp) # Deprecated since version 3.12
if(PYTHONINTERP_FOUND)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
else()
find_package(Python COMPONENTS Interpreter)
endif()
if (Python_EXECUTABLE)
execute_process(COMMAND ${Python_EXECUTABLE}
-c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))"
OUTPUT_VARIABLE PYTHON_DEFAULT_INSTDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
set(PYTHON_INSTDIR ${PYTHON_DEFAULT_INSTDIR} CACHE PATH "Installation folder for LAMMPS Python module")
@ -669,73 +684,111 @@ endif()
include(Testing)
include(CodeCoverage)
include(CodingStandard)
###############################################################################
# Print package summary
###############################################################################
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES})
if(PKG_${PKG})
message(STATUS "Building package: ${PKG}")
endif()
endforeach()
get_directory_property(CPPFLAGS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS)
get_target_property(DEFINES lammps COMPILE_DEFINITIONS)
include(FeatureSummary)
feature_summary(DESCRIPTION "The following packages have been found:" WHAT PACKAGES_FOUND)
feature_summary(DESCRIPTION "The following tools and libraries have been found and configured:" WHAT PACKAGES_FOUND)
message(STATUS "<<< Build configuration >>>
Build type ${CMAKE_BUILD_TYPE}
Install path ${CMAKE_INSTALL_PREFIX}
Compilers and Flags:
C++ Compiler ${CMAKE_CXX_COMPILER}
Type ${CMAKE_CXX_COMPILER_ID}
Version ${CMAKE_CXX_COMPILER_VERSION}
C++ Flags ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}
Defines ${CPPFLAGS}")
Build type: ${CMAKE_BUILD_TYPE}
Install path: ${CMAKE_INSTALL_PREFIX}
Generator: ${CMAKE_GENERATOR} using ${CMAKE_MAKE_PROGRAM}
-- <<< Compilers and Flags: >>>
-- C++ Compiler: ${CMAKE_CXX_COMPILER}
Type: ${CMAKE_CXX_COMPILER_ID}
Version: ${CMAKE_CXX_COMPILER_VERSION}
C++ Flags: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}
Defines: ${DEFINES}")
get_target_property(OPTIONS lammps COMPILE_OPTIONS)
if(OPTIONS)
message(" Options: ${OPTIONS}")
endif()
get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
list (FIND LANGUAGES "Fortran" _index)
if (${_index} GREATER -1)
message(STATUS "Fortran Compiler ${CMAKE_Fortran_COMPILER}
Type ${CMAKE_Fortran_COMPILER_ID}
Version ${CMAKE_Fortran_COMPILER_VERSION}
Fortran Flags ${CMAKE_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS_${BTYPE}}")
message(STATUS "Fortran Compiler: ${CMAKE_Fortran_COMPILER}
Type: ${CMAKE_Fortran_COMPILER_ID}
Version: ${CMAKE_Fortran_COMPILER_VERSION}
Fortran Flags:${CMAKE_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS_${BTYPE}}")
endif()
list (FIND LANGUAGES "C" _index)
if (${_index} GREATER -1)
message(STATUS "C Compiler ${CMAKE_C_COMPILER}
Type ${CMAKE_C_COMPILER_ID}
Version ${CMAKE_C_COMPILER_VERSION}
C Flags ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${BTYPE}}")
message(STATUS "C compiler: ${CMAKE_C_COMPILER}
Type: ${CMAKE_C_COMPILER_ID}
Version: ${CMAKE_C_COMPILER_VERSION}
C Flags: ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${BTYPE}}")
endif()
message(STATUS "<<< Linker flags: >>>")
message(STATUS "Executable name: ${LAMMPS_BINARY}")
if(CMAKE_EXE_LINKER_FLAGS)
message(STATUS "Linker flags:
Executable ${CMAKE_EXE_LINKER_FLAGS}")
message(STATUS "Executable linker flags: ${CMAKE_EXE_LINKER_FLAGS}")
endif()
if(BUILD_SHARED_LIBS)
message(STATUS "Shared libraries ${CMAKE_SHARED_LINKER_FLAGS}")
message(STATUS "Shared library flags: ${CMAKE_SHARED_LINKER_FLAGS}")
else()
message(STATUS "Static libraries ${CMAKE_STATIC_LINKER_FLAGS}")
message(STATUS "Static library flags: ${CMAKE_STATIC_LINKER_FLAGS}")
endif()
message(STATUS "Link libraries: ${LAMMPS_LINK_LIBS}")
if(BUILD_MPI)
message(STATUS "Using mpi with headers in ${MPI_CXX_INCLUDE_PATH} and ${MPI_CXX_LIBRARIES}")
message(STATUS "<<< MPI flags >>>
-- MPI_defines: ${MPI_CXX_COMPILE_DEFINITIONS}
-- MPI includes: ${MPI_CXX_INCLUDE_PATH}
-- MPI libraries: ${MPI_CXX_LIBRARIES};${MPI_Fortran_LIBRARIES}")
endif()
if(PKG_GPU)
message(STATUS "GPU Api: ${GPU_API}")
message(STATUS "<<< GPU package settings >>>
-- GPU API: ${GPU_API}")
if(GPU_API STREQUAL "CUDA")
message(STATUS "GPU Arch: ${GPU_ARCH}")
message(STATUS "GPU architecture: ${GPU_ARCH}")
elseif(GPU_API STREQUAL "OPENCL")
message(STATUS "OCL Tune: ${OCL_TUNE}")
message(STATUS "OpenCL tuning: ${OCL_TUNE}")
elseif(GPU_API STREQUAL "HIP")
message(STATUS "HIP platform: ${HIP_PLATFORM}")
message(STATUS "HIP architecture: ${HIP_ARCH}")
if(HIP_USE_DEVICE_SORT)
message(STATUS "HIP GPU sorting: on")
else()
message(STATUS "HIP GPU sorting: off")
endif()
endif()
message(STATUS "GPU Precision: ${GPU_PREC}")
message(STATUS "GPU precision: ${GPU_PREC}")
endif()
if(PKG_KOKKOS)
message(STATUS "Kokkos Arch: ${KOKKOS_ARCH}")
endif()
if(PKG_KSPACE)
message(STATUS "Using ${FFT} as primary FFT library")
message(STATUS "<<< FFT settings >>>
-- Primary FFT lib: ${FFT}")
if(FFT_SINGLE)
message(STATUS "Using single precision FFTs")
else()
message(STATUS "Using double precision FFTs")
endif()
if(FFT_FFTW_THREADS OR FFT_MKL_THREADS)
message(STATUS "Using threaded FFTs")
else()
message(STATUS "Using non-threaded FFTs")
endif()
if(PKG_KOKKOS)
if(Kokkos_ENABLE_CUDA)
if (${FFT} STREQUAL "KISS")
message(STATUS "Kokkos FFT: KISS")
else()
message(STATUS "Kokkos FFT: cuFFT")
endif()
else()
message(STATUS "Kokkos FFT: ${FFT}")
endif()
endif()
endif()
if(BUILD_DOC)
message(STATUS "<<< Building HTML Manual >>>")
endif()

View File

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

View File

@ -0,0 +1,5 @@
include(CMakeFindDependencyMacro)
if(@BUILD_MPI@)
find_dependency(MPI REQUIRED CXX)
endif()
include("${CMAKE_CURRENT_LIST_DIR}/LAMMPS_Targets.cmake")

View File

@ -0,0 +1,21 @@
# ninja-build<1.10 does not support fortran.
if(CMAKE_GENERATOR STREQUAL "Ninja")
set(CMAKE_GENERATOR_SUPPORT_FORTRAN FALSE)
execute_process(COMMAND "${CMAKE_MAKE_PROGRAM}" --version
OUTPUT_VARIABLE NINJA_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE _Ninja_version_result
)
if(_Ninja_version_result)
message(WARNING "Unable to determine ninja version: ${_Ninja_version_result}, assuming fortran isn't supported")
elseif(NINJA_VERSION VERSION_LESS "1.10")
message(WARNING "Ninja build tool too old, to compile Fortran code, please install ninja-1.10 or newer")
else()
set(CMAKE_GENERATOR_SUPPORT_FORTRAN TRUE)
endif()
else()
set(CMAKE_GENERATOR_SUPPORT_FORTRAN TRUE)
if(NOT CMAKE_GENERATOR STREQUAL "Unix Makefiles")
message(WARNING "Assuming fortran is supported for ${CMAKE_GENERATOR}")
endif()
endif()

View File

@ -15,14 +15,35 @@ if(ENABLE_COVERAGE)
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..."
COMMENT "Generating XML coverage report..."
)
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(
gen_coverage_html
COMMAND ${GCOVR_BINARY} -s --html --html-details -r ${ABSOLUTE_LAMMPS_SOURCE_DIR} --object-directory=${CMAKE_BINARY_DIR} -o 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..."
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(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()
endif()

View File

@ -0,0 +1,34 @@
if(CMAKE_VERSION VERSION_LESS 3.12)
find_package(PythonInterp 3.5 QUIET) # Deprecated since version 3.12
if(PYTHONINTERP_FOUND)
set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
set(Python3_VERSION ${PYTHON_VERSION_STRING})
endif()
else()
find_package(Python3 COMPONENTS Interpreter QUIET)
endif()
if (Python3_EXECUTABLE)
if(Python3_VERSION VERSION_GREATER_EQUAL 3.5)
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-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-permissions
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/permissions.py -f .
WORKING_DIRECTORY ${LAMMPS_DIR}
COMMENT "Fix permission errors")
endif()
endif()

View File

@ -1,17 +1,22 @@
###############################################################################
# Build documentation
###############################################################################
option(BUILD_DOC "Build LAMMPS documentation" OFF)
option(BUILD_DOC "Build LAMMPS HTML documentation" OFF)
if(BUILD_DOC)
include(ProcessorCount)
ProcessorCount(NPROCS)
find_package(PythonInterp 3 REQUIRED)
# Sphinx 3.x requires at least Python 3.5
if(CMAKE_VERSION VERSION_LESS 3.12)
find_package(PythonInterp 3.5 REQUIRED)
set(VIRTUALENV ${PYTHON_EXECUTABLE} -m virtualenv -p ${PYTHON_EXECUTABLE})
else()
find_package(Python3 REQUIRED COMPONENTS Interpreter)
if(Python3_VERSION VERSION_LESS 3.5)
message(FATAL_ERROR "Python 3.5 and up is required to build the HTML documentation")
endif()
set(VIRTUALENV ${Python3_EXECUTABLE} -m virtualenv -p ${Python3_EXECUTABLE})
endif()
set(VIRTUALENV ${PYTHON_EXECUTABLE} -m virtualenv)
file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/[^.]*.txt)
file(GLOB PDF_EXTRA_SOURCES ${LAMMPS_DOC_DIR}/src/lammps_commands*.txt ${LAMMPS_DOC_DIR}/src/lammps_support.txt ${LAMMPS_DOC_DIR}/src/lammps_tutorials.txt)
list(REMOVE_ITEM DOC_SOURCES ${PDF_EXTRA_SOURCES})
file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/[^.]*.rst)
add_custom_command(
OUTPUT docenv
@ -28,30 +33,55 @@ if(BUILD_DOC)
COMMAND ${DOCENV_BINARY_DIR}/pip install --upgrade ${LAMMPS_DOC_DIR}/utils/converters
)
set(RST_FILES "")
set(RST_DIR ${CMAKE_BINARY_DIR}/rst)
file(MAKE_DIRECTORY ${RST_DIR})
foreach(TXT_FILE ${DOC_SOURCES})
get_filename_component(FILENAME ${TXT_FILE} NAME_WE)
set(RST_FILE ${RST_DIR}/${FILENAME}.rst)
list(APPEND RST_FILES ${RST_FILE})
# download mathjax distribution and unpack to folder "mathjax"
if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/mathjax/es5)
file(DOWNLOAD "https://github.com/mathjax/MathJax/archive/3.0.5.tar.gz"
"${CMAKE_CURRENT_BINARY_DIR}/mathjax.tar.gz"
EXPECTED_MD5 5d9d3799cce77a1a95eee6be04eb68e7)
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf mathjax.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
file(GLOB MATHJAX_VERSION_DIR ${CMAKE_CURRENT_BINARY_DIR}/MathJax-*)
execute_process(COMMAND ${CMAKE_COMMAND} -E rename ${MATHJAX_VERSION_DIR} ${CMAKE_CURRENT_BINARY_DIR}/mathjax)
endif()
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/_static/mathjax)
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/mathjax/es5 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/html/_static/mathjax/)
# for increased browser compatibility
if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/html/_static/polyfill.js)
file(DOWNLOAD "https://polyfill.io/v3/polyfill.min.js?features=es6"
"${CMAKE_CURRENT_BINARY_DIR}/html/_static/polyfill.js")
endif()
# note, this may run in parallel with other tasks, so we must not use multiple processes here
add_custom_command(
OUTPUT html
DEPENDS ${DOC_SOURCES} docenv requirements.txt
COMMAND ${DOCENV_BINARY_DIR}/sphinx-build -b html -c ${LAMMPS_DOC_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${LAMMPS_DOC_DIR}/src html
COMMAND ${CMAKE_COMMAND} -E create_symlink Manual.html ${CMAKE_CURRENT_BINARY_DIR}/html/index.html
)
# copy selected image files to html output tree
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/html/JPG)
set(HTML_EXTRA_IMAGES balance_nonuniform.jpg balance_rcb.jpg
balance_uniform.jpg bow_tutorial_01.png bow_tutorial_02.png
bow_tutorial_03.png bow_tutorial_04.png bow_tutorial_05.png
dump1.jpg dump2.jpg examples_mdpd.gif gran_funnel.png gran_mixer.png
hop1.jpg hop2.jpg saed_ewald_intersect.jpg saed_mesh.jpg
screenshot_atomeye.jpg screenshot_gl.jpg screenshot_pymol.jpg
screenshot_vmd.jpg sinusoid.jpg xrd_mesh.jpg)
set(HTML_IMAGE_TARGETS "")
foreach(_IMG ${HTML_EXTRA_IMAGES})
string(PREPEND _IMG JPG/)
list(APPEND HTML_IMAGE_TARGETS "${CMAKE_CURRENT_BINARY_DIR}/html/${_IMG}")
add_custom_command(
OUTPUT ${RST_FILE}
DEPENDS requirements.txt docenv ${TXT_FILE}
COMMAND ${DOCENV_BINARY_DIR}/txt2rst -o ${RST_DIR} ${TXT_FILE}
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/${_IMG}
DEPENDS ${LAMMPS_DOC_DIR}/src/${_IMG} ${CMAKE_CURRENT_BINARY_DIR}/html/JPG
COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/src/${_IMG} ${CMAKE_BINARY_DIR}/html/${_IMG}
)
endforeach()
add_custom_command(
OUTPUT html
DEPENDS ${RST_FILES}
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LAMMPS_DOC_DIR}/src ${RST_DIR}
COMMAND ${DOCENV_BINARY_DIR}/sphinx-build -j ${NPROCS} -b html -c ${LAMMPS_DOC_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${RST_DIR} html
)
add_custom_target(
doc ALL
DEPENDS html
DEPENDS html ${CMAKE_CURRENT_BINARY_DIR}/html/_static/mathjax/es5 ${HTML_IMAGE_TARGETS}
SOURCES ${LAMMPS_DOC_DIR}/utils/requirements.txt ${DOC_SOURCES}
)

View File

@ -0,0 +1,16 @@
# - Find CUB
# Find the CUB header library
#
# CUB_INCLUDE_DIRS - where to find cub/cub.cuh
# CUB_FOUND - True if CUB found.
#
find_path(CUB_INCLUDE_DIR cub.cuh PATH_SUFFIXES cub)
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set CUB_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(CUB DEFAULT_MSG CUB_INCLUDE_DIR)
mark_as_advanced(CUB_INCLUDE_DIR)

View File

@ -0,0 +1,46 @@
# Find clang-format
find_program(ClangFormat_EXECUTABLE NAMES clang-format
clang-format-10.0
clang-format-9.0
clang-format-8.0
clang-format-7.0
clang-format-6.0
DOC "clang-format executable")
mark_as_advanced(ClangFormat_EXECUTABLE)
if(ClangFormat_EXECUTABLE)
# find version
execute_process(COMMAND ${ClangFormat_EXECUTABLE} --version
OUTPUT_VARIABLE clang_format_version
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(clang_format_version MATCHES "^clang-format version .*")
# Arch Linux
# clang-format version 10.0.0
# Ubuntu 18.04 LTS Output
# clang-format version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
string(REGEX REPLACE "clang-format version ([0-9.]+).*"
"\\1"
ClangFormat_VERSION
"${clang_format_version}")
elseif(clang_format_version MATCHES ".*LLVM version .*")
# CentOS 7 Output
# LLVM (http://llvm.org/):
# LLVM version 3.4.2
# Optimized build.
# Built Nov 1 2018 (15:06:24).
# Default target: x86_64-redhat-linux-gnu
# Host CPU: x86-64
string(REGEX REPLACE ".*LLVM version ([0-9.]+).*"
"\\1"
ClangFormat_VERSION
"${clang_format_version}")
else()
set(ClangFormat_VERSION "0.0")
endif()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ClangFormat REQUIRED_VARS ClangFormat_EXECUTABLE VERSION_VAR ClangFormat_VERSION)

View File

@ -1,20 +1,18 @@
# - Find fftw3
# Find the native FFTW3 headers and libraries.
# Find the native double precision FFTW3 headers and libraries.
#
# FFTW3_INCLUDE_DIRS - where to find fftw3.h, etc.
# FFTW3_LIBRARIES - List of libraries when using fftw3.
# FFTW3_FOUND - True if fftw3 found.
# FFTW3_INCLUDE_DIRS - where to find fftw3.h, etc.
# FFTW3_LIBRARIES - List of libraries when using fftw3.
# FFTW3_OMP_LIBRARIES - List of libraries when using fftw3.
# FFTW3_FOUND - True if fftw3 found.
#
find_package(PkgConfig)
pkg_check_modules(PC_FFTW3 fftw3)
find_path(FFTW3_INCLUDE_DIR fftw3.h HINTS ${PC_FFTW3_INCLUDE_DIRS})
find_library(FFTW3_LIBRARY NAMES fftw3 HINTS ${PC_FFTW3_LIBRARY_DIRS})
set(FFTW3_LIBRARIES ${FFTW3_LIBRARY})
set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR})
find_library(FFTW3_OMP_LIBRARY NAMES fftw3_omp HINTS ${PC_FFTW3_LIBRARY_DIRS})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE
@ -22,4 +20,28 @@ include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FFTW3 DEFAULT_MSG FFTW3_LIBRARY FFTW3_INCLUDE_DIR)
mark_as_advanced(FFTW3_INCLUDE_DIR FFTW3_LIBRARY )
# Copy the results to the output variables and target.
if(FFTW3_FOUND)
set(FFTW3_LIBRARIES ${FFTW3_LIBRARY} )
set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR} )
if(NOT TARGET FFTW3::FFTW3)
add_library(FFTW3::FFTW3 UNKNOWN IMPORTED)
set_target_properties(FFTW3::FFTW3 PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${FFTW3_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${FFTW3_INCLUDE_DIRS}")
endif()
if(FFTW3_OMP_LIBRARY)
set(FFTW3_OMP_LIBRARIES ${FFTW3_OMP_LIBRARY})
if(NOT TARGET FFTW3::FFTW3_OMP)
add_library(FFTW3::FFTW3_OMP UNKNOWN IMPORTED)
set_target_properties(FFTW3::FFTW3_OMP PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${FFTW3_OMP_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${FFTW3_INCLUDE_DIRS}")
endif()
endif()
endif()
mark_as_advanced(FFTW3_INCLUDE_DIR FFTW3_LIBRARY FFTW3_OMP_LIBRARY)

View File

@ -1,8 +1,8 @@
# - Find fftw3f
# Find the native FFTW3F headers and libraries.
# Find the native single precision FFTW3 headers and libraries.
#
# FFTW3F_INCLUDE_DIRS - where to find fftw3f.h, etc.
# FFTW3F_LIBRARIES - List of libraries when using fftw3f.
# FFTW3F_OMP_LIBRARIES - List of libraries when using fftw3.
# FFTW3F_FOUND - True if fftw3f found.
#
@ -10,11 +10,8 @@ find_package(PkgConfig)
pkg_check_modules(PC_FFTW3F fftw3f)
find_path(FFTW3F_INCLUDE_DIR fftw3.h HINTS ${PC_FFTW3F_INCLUDE_DIRS})
find_library(FFTW3F_LIBRARY NAMES fftw3f HINTS ${PC_FFTW3F_LIBRARY_DIRS})
set(FFTW3F_LIBRARIES ${FFTW3F_LIBRARY})
set(FFTW3F_INCLUDE_DIRS ${FFTW3F_INCLUDE_DIR})
find_library(FFTW3F_OMP_LIBRARY NAMES fftw3f_omp HINTS ${PC_FFTW3F_LIBRARY_DIRS})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set FFTW3F_FOUND to TRUE
@ -22,4 +19,28 @@ include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FFTW3F DEFAULT_MSG FFTW3F_LIBRARY FFTW3F_INCLUDE_DIR)
mark_as_advanced(FFTW3F_INCLUDE_DIR FFTW3F_LIBRARY )
# Copy the results to the output variables and target.
if(FFTW3F_FOUND)
set(FFTW3F_LIBRARIES ${FFTW3F_LIBRARY} )
set(FFTW3F_INCLUDE_DIRS ${FFTW3F_INCLUDE_DIR} )
if(NOT TARGET FFTW3F::FFTW3F)
add_library(FFTW3F::FFTW3F UNKNOWN IMPORTED)
set_target_properties(FFTW3F::FFTW3F PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${FFTW3F_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${FFTW3F_INCLUDE_DIRS}")
endif()
if(FFTW3F_OMP_LIBRARY)
set(FFTW3F_OMP_LIBRARIES ${FFTW3F_OMP_LIBRARY})
if(NOT TARGET FFTW3F::FFTW3F_OMP)
add_library(FFTW3F::FFTW3F_OMP UNKNOWN IMPORTED)
set_target_properties(FFTW3F::FFTW3F_OMP PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${FFTW3F_OMP_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${FFTW3F_INCLUDE_DIRS}")
endif()
endif()
endif()
mark_as_advanced(FFTW3F_INCLUDE_DIR FFTW3F_LIBRARY FFTW3F_OMP_LIBRARY)

View File

@ -1,85 +0,0 @@
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the Common Development
# and Distribution License Version 1.0 (the "License").
#
# You can obtain a copy of the license at
# http://www.opensource.org/licenses/CDDL-1.0. See the License for the
# specific language governing permissions and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each file and
# include the License file in a prominent location with the name LICENSE.CDDL.
# If applicable, add the following below this CDDL HEADER, with the fields
# enclosed by brackets "[]" replaced with your own identifying information:
#
# Portions Copyright (c) [yyyy] [name of copyright owner]. All rights reserved.
#
# CDDL HEADER END
#
#
# Copyright (c) 2013--2019, Regents of the University of Minnesota.
# All rights reserved.
#
# Contributors:
# Richard Berger
# Christoph Junghans
# Ryan S. Elliott
#
# - Find KIM-API
#
# sets standard pkg_check_modules variables plus:
#
# KIM-API-CMAKE_C_COMPILER
# KIM-API-CMAKE_CXX_COMPILER
# KIM-API-CMAKE_Fortran_COMPILER
#
function(_KIMAPI_GET_VERSION _OUT_ver _version_hdr)
if(NOT EXISTS ${_version_hdr})
message(FATAL_ERROR "Header file ${_version_hdr} not found (check value of KIM-API_INCLUDE_DIR)")
endif()
foreach(_var KIM_VERSION_MAJOR KIM_VERSION_MINOR KIM_VERSION_PATCH)
file(STRINGS ${_version_hdr} _contents REGEX "#define ${_var}[ \t]+")
if(_contents)
string(REGEX REPLACE ".*#define ${_var}[ \t]+([0-9]+).*" "\\1" _${_var} "${_contents}")
if(${_${_var}} STREQUAL "")
message(FATAL_ERROR "Version parsing failed for ${_var} in ${_version_hdr}, got empty return!")
elseif(NOT ${_${_var}} MATCHES "^[0-9]+$")
message(FATAL_ERROR "Version parsing failed for ${_var} in ${_version_hdr}, excepted a number but got ${_${_var}}!")
endif()
else()
message(FATAL_ERROR "No ${_var} line found in include file ${_version_hdr}")
endif()
endforeach()
set(${_OUT_ver} ${_KIM_VERSION_MAJOR}.${_KIM_VERSION_MINOR}.${_KIM_VERSION_PATCH} PARENT_SCOPE)
endfunction()
if(KIM-API_FIND_QUIETLY)
set(REQ_OR_QUI "QUIET")
else()
set(REQ_OR_QUI "REQUIRED")
endif()
find_package(PkgConfig ${REQ_OR_QUI})
include(FindPackageHandleStandardArgs)
pkg_check_modules(KIM-API ${REQ_OR_QUI} libkim-api>=2.0)
if(KIM-API_FOUND)
pkg_get_variable(KIM-API-CMAKE_C_COMPILER libkim-api CMAKE_C_COMPILER)
pkg_get_variable(KIM-API-CMAKE_CXX_COMPILER libkim-api CMAKE_CXX_COMPILER)
pkg_get_variable(KIM-API_CMAKE_Fortran_COMPILER libkim-api CMAKE_Fortran_COMPILER)
endif()
if(KIM-API_INCLUDEDIR)
_KIMAPI_GET_VERSION(KIM-API_VERSION ${KIM-API_INCLUDEDIR}/KIM_Version.h)
else()
set(KIM-API_VERSION 0)
endif()
# handle the QUIETLY and REQUIRED arguments and set KIM-API_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(KIM-API REQUIRED_VARS KIM-API_LIBRARIES VERSION_VAR KIM-API_VERSION)

View File

@ -1,18 +0,0 @@
# - Find latte
# Find the native LATTE libraries.
#
# LATTE_LIBRARIES - List of libraries when using latte.
# LATTE_FOUND - True if latte found.
#
find_library(LATTE_LIBRARY NAMES latte)
set(LATTE_LIBRARIES ${LATTE_LIBRARY})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set LATTE_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(LATTE DEFAULT_MSG LATTE_LIBRARY)
mark_as_advanced(LATTE_LIBRARY)

View File

@ -10,13 +10,22 @@ find_path(MKL_INCLUDE_DIR mkl_dfti.h HINTS $ENV{MKLROOT}/include)
find_library(MKL_LIBRARY NAMES mkl_rt HINTS $ENV{MKLROOT}/lib $ENV{MKLROOT}/lib/intel64)
set(MKL_LIBRARIES ${MKL_LIBRARY})
set(MKL_INCLUDE_DIRS ${MKL_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set MKL_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(MKL DEFAULT_MSG MKL_LIBRARY MKL_INCLUDE_DIR)
if(MKL_FOUND)
set(MKL_LIBRARIES ${MKL_LIBRARY})
set(MKL_INCLUDE_DIRS ${MKL_INCLUDE_DIR})
if(NOT TARGET MKL::MKL)
add_library(MKL::MKL UNKNOWN IMPORTED)
set_target_properties(MKL::MKL PROPERTIES
IMPORTED_LOCATION "${MKL_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${MKL_INCLUDE_DIR}")
endif()
endif()
mark_as_advanced(MKL_INCLUDE_DIR MKL_LIBRARY )

View File

@ -10,13 +10,23 @@ find_path(MSCG_INCLUDE_DIR mscg.h PATH_SUFFIXES mscg)
find_library(MSCG_LIBRARY NAMES mscg)
set(MSCG_LIBRARIES ${MSCG_LIBRARY})
set(MSCG_INCLUDE_DIRS ${MSCG_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set MSCG_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(MSCG DEFAULT_MSG MSCG_LIBRARY MSCG_INCLUDE_DIR)
# Copy the results to the output variables and target.
if(MSCG_FOUND)
set(MSCG_LIBRARIES ${MSCG_LIBRARY})
set(MSCG_INCLUDE_DIRS ${MSCG_INCLUDE_DIR})
if(NOT TARGET MSCG::MSCG)
add_library(MSCG::MSCG UNKNOWN IMPORTED)
set_target_properties(MSCG::MSCG PROPERTIES
IMPORTED_LOCATION "${MSCG_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${MSCG_INCLUDE_DIR}")
endif()
endif()
mark_as_advanced(MSCG_INCLUDE_DIR MSCG_LIBRARY )

View File

@ -46,10 +46,14 @@ endif()
find_path (NETCDF_INCLUDE_DIR netcdf.h
HINTS "${NETCDF_DIR}/include")
mark_as_advanced (NETCDF_INCLUDE_DIR)
set (NETCDF_C_INCLUDE_DIRS ${NETCDF_INCLUDE_DIR})
string(REGEX REPLACE "/include/?$" ""
NETCDF_LIB_HINT ${NETCDF_INCLUDE_DIR})
find_library (NETCDF_LIBRARY NAMES netcdf
HINTS "${NETCDF_DIR}/lib")
HINTS "${NETCDF_DIR}" "${NETCDF_LIB_HINT}" PATH_SUFFIXES lib lib64)
mark_as_advanced (NETCDF_LIBRARY)
set (NETCDF_C_LIBRARIES ${NETCDF_LIBRARY})
@ -116,3 +120,14 @@ set (NETCDF_INCLUDE_DIRS ${NetCDF_includes})
include (FindPackageHandleStandardArgs)
find_package_handle_standard_args (NetCDF
DEFAULT_MSG NETCDF_LIBRARIES NETCDF_INCLUDE_DIRS NETCDF_HAS_INTERFACES)
# Copy the results to the output variables and target.
if(NetCDF_FOUND)
if(NOT TARGET NetCDF::NetCDF)
add_library(NetCDF::NetCDF UNKNOWN IMPORTED)
set_target_properties(NetCDF::NetCDF PROPERTIES
IMPORTED_LOCATION "${NETCDF_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${NETCDF_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${NETCDF_LIBRARIES}")
endif()
endif()

View File

@ -0,0 +1,64 @@
# source: https://ftp.space.dtu.dk/pub/Ioana/pism0.6.1-10/CMake/FindPNetCDF.cmake
# license: GPL v3 (https://ftp.space.dtu.dk/pub/Ioana/pism0.6.1-10/COPYING)
#
# - Find PNetCDF
# Find the native PNetCDF includes and library
#
# PNETCDF_INCLUDES - where to find netcdf.h, etc
# PNETCDF_LIBRARIES - Link these libraries when using NetCDF
# PNETCDF_FOUND - True if PNetCDF was found
#
# Normal usage would be:
# find_package (PNetCDF REQUIRED)
# target_link_libraries (uses_pnetcdf ${PNETCDF_LIBRARIES})
if (PNETCDF_INCLUDES AND PNETCDF_LIBRARIES)
# Already in cache, be silent
set (PNETCDF_FIND_QUIETLY TRUE)
endif (PNETCDF_INCLUDES AND PNETCDF_LIBRARIES)
find_path (PNETCDF_INCLUDES pnetcdf.h
HINTS "${PNETCDF_ROOT}/include" "$ENV{PNETCDF_ROOT}/include")
string(REGEX REPLACE "/include/?$" ""
PNETCDF_LIB_HINT ${PNETCDF_INCLUDES})
find_library (PNETCDF_LIBRARIES
NAMES pnetcdf
HINTS ${PNETCDF_LIB_HINT} PATH_SUFFIXES lib lib64)
if ((NOT PNETCDF_LIBRARIES) OR (NOT PNETCDF_INCLUDES))
message(STATUS "Trying to find PNetCDF using LD_LIBRARY_PATH (we're desperate)...")
file(TO_CMAKE_PATH "$ENV{LD_LIBRARY_PATH}" LD_LIBRARY_PATH)
find_library(PNETCDF_LIBRARIES
NAMES pnetcdf
HINTS ${LD_LIBRARY_PATH})
if (PNETCDF_LIBRARIES)
get_filename_component(PNETCDF_LIB_DIR ${PNETCDF_LIBRARIES} PATH)
string(REGEX REPLACE "/(lib|lib64)/?$" "/include"
PNETCDF_H_HINT ${PNETCDF_LIB_DIR})
find_path (PNETCDF_INCLUDES pnetcdf.h
HINTS ${PNETCDF_H_HINT}
DOC "Path to pnetcdf.h")
endif()
endif()
# handle the QUIETLY and REQUIRED arguments and set PNETCDF_FOUND to TRUE if
# all listed variables are TRUE
include (FindPackageHandleStandardArgs)
find_package_handle_standard_args (PNetCDF DEFAULT_MSG PNETCDF_LIBRARIES PNETCDF_INCLUDES)
mark_as_advanced (PNETCDF_LIBRARIES PNETCDF_INCLUDES)
if(PNetCDF_FOUND)
if(NOT TARGET PNetCDF::PNetCDF)
add_library(PNetCDF::PNetCDF UNKNOWN IMPORTED)
set_target_properties(PNetCDF::PNetCDF PROPERTIES
IMPORTED_LOCATION "${PNETCDF_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${PNETCDF_INCLUDES}")
endif()
endif()

View File

@ -1,29 +0,0 @@
# - Find quantum-espresso
# Find the native QE headers and libraries.
#
# QE_INCLUDE_DIRS - where to find quantum-espresso.h, etc.
# QE_LIBRARIES - List of libraries when using quantum-espresso.
# QE_FOUND - True if quantum-espresso found.
#
find_path(QE_INCLUDE_DIR libqecouple.h PATH_SUFFIXES COUPLE/include)
find_library(QECOUPLE_LIBRARY NAMES qecouple)
find_library(PW_LIBRARY NAMES pw)
find_library(QEMOD_LIBRARY NAMES qemod)
find_library(QEFFT_LIBRARY NAMES qefft)
find_library(QELA_LIBRARY NAMES qela)
find_library(CLIB_LIBRARY NAMES clib)
find_library(IOTK_LIBRARY NAMES iotk)
set(QE_LIBRARIES ${QECOUPLE_LIBRARY} ${PW_LIBRARY} ${QEMOD_LIBRARY} ${QEFFT_LIBRARY} ${QELA_LIBRARY} ${CLIB_LIBRARY} ${IOTK_LIBRARY})
set(QE_INCLUDE_DIRS ${QE_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set QE_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(QE DEFAULT_MSG QECOUPLE_LIBRARY PW_LIBRARY QEMOD_LIBRARY QEFFT_LIBRARY QELA_LIBRARY CLIB_LIBRARY IOTK_LIBRARY QE_INCLUDE_DIR)
mark_as_advanced(QE_INCLUDE_DIR QECOUPLE_LIBRARY PW_LIBRARY QEMOD_LIBRARY QEFFT_LIBRARY QELA_LIBRARY CLIB_LIBRARY IOTK_LIBRARY)

View File

@ -7,12 +7,21 @@
find_library(QUIP_LIBRARY NAMES quip)
set(QUIP_LIBRARIES ${QUIP_LIBRARY})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set QUIP_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(QUIP DEFAULT_MSG QUIP_LIBRARY)
# Copy the results to the output variables and target.
if(QUIP_FOUND)
set(QUIP_LIBRARIES ${QUIP_LIBRARY})
if(NOT TARGET QUIP::QUIP)
add_library(QUIP::QUIP UNKNOWN IMPORTED)
set_target_properties(QUIP::QUIP PROPERTIES
IMPORTED_LOCATION "${QUIP_LIBRARY}")
endif()
endif()
mark_as_advanced(QUIP_LIBRARY)

View File

@ -1,46 +0,0 @@
# - Find parts of TBB
# Find the native TBB headers and libraries.
#
# TBB_INCLUDE_DIRS - where to find tbb.h, etc.
# TBB_LIBRARIES - List of libraries when using tbb.
# TBB_FOUND - True if tbb found.
#
########################################################
# TBB
# TODO use more generic FindTBB
find_path(TBB_INCLUDE_DIR NAMES tbb/tbb.h PATHS $ENV{TBBROOT}/include)
find_library(TBB_LIBRARY NAMES tbb PATHS $ENV{TBBROOT}/lib/intel64/gcc4.7
$ENV{TBBROOT}/lib/intel64/gcc4.4
$ENV{TBBROOT}/lib/intel64/gcc4.1)
set(TBB_LIBRARIES ${TBB_LIBRARY})
set(TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set TBB_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(TBB DEFAULT_MSG TBB_LIBRARY TBB_INCLUDE_DIR)
mark_as_advanced(TBB_INCLUDE_DIR TBB_LIBRARY )
########################################################
# TBB Malloc
find_path(TBB_MALLOC_INCLUDE_DIR NAMES tbb/tbb.h PATHS $ENV{TBBROOT}/include)
find_library(TBB_MALLOC_LIBRARY NAMES tbbmalloc PATHS $ENV{TBBROOT}/lib/intel64/gcc4.7
$ENV{TBBROOT}/lib/intel64/gcc4.4
$ENV{TBBROOT}/lib/intel64/gcc4.1)
set(TBB_MALLOC_LIBRARIES ${TBB_MALLOC_LIBRARY})
set(TBB_MALLOC_INCLUDE_DIRS ${TBB_MALLOC_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set TBB_MALLOC_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(TBB_MALLOC DEFAULT_MSG TBB_MALLOC_LIBRARY TBB_MALLOC_INCLUDE_DIR)
mark_as_advanced(TBB_MALLOC_INCLUDE_DIR TBB_MALLOC_LIBRARY )

View File

@ -0,0 +1,36 @@
# - Find parts of TBB_MALLOC
# Find the native TBB_MALLOC headers and libraries.
#
# TBB_MALLOC_INCLUDE_DIRS - where to find tbb.h, etc.
# TBB_MALLOC_LIBRARIES - List of libraries when using tbb.
# TBB_MALLOC_FOUND - True if tbb found.
#
########################################################
# TBB Malloc
find_path(TBB_MALLOC_INCLUDE_DIR NAMES tbb/tbb.h PATHS $ENV{TBBROOT}/include)
find_library(TBB_MALLOC_LIBRARY NAMES tbbmalloc PATHS $ENV{TBBROOT}/lib/intel64/gcc4.8
$ENV{TBBROOT}/lib/intel64/gcc4.7
$ENV{TBBROOT}/lib/intel64/gcc4.4
$ENV{TBBROOT}/lib/intel64/gcc4.1)
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set TBB_MALLOC_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(TBB_MALLOC DEFAULT_MSG TBB_MALLOC_LIBRARY TBB_MALLOC_INCLUDE_DIR)
if(TBB_MALLOC_FOUND)
set(TBB_MALLOC_LIBRARIES ${TBB_MALLOC_LIBRARY})
set(TBB_MALLOC_INCLUDE_DIRS ${TBB_MALLOC_INCLUDE_DIR})
if(NOT TARGET TBB::TBB_MALLOC)
add_library(TBB::TBB_MALLOC UNKNOWN IMPORTED)
set_target_properties(TBB::TBB_MALLOC PROPERTIES
IMPORTED_LOCATION "${TBB_MALLOC_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${TBB_MALLOC_INCLUDE_DIR}")
endif()
endif()
mark_as_advanced(TBB_MALLOC_INCLUDE_DIR TBB_MALLOC_LIBRARY )

View File

@ -10,13 +10,23 @@ find_path(VORO_INCLUDE_DIR voro++.hh PATH_SUFFIXES voro++)
find_library(VORO_LIBRARY NAMES voro++)
set(VORO_LIBRARIES ${VORO_LIBRARY})
set(VORO_INCLUDE_DIRS ${VORO_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set VORO_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(VORO DEFAULT_MSG VORO_LIBRARY VORO_INCLUDE_DIR)
# Copy the results to the output variables and target.
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
IMPORTED_LOCATION "${VORO_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${VORO_INCLUDE_DIR}")
endif()
endif()
mark_as_advanced(VORO_INCLUDE_DIR VORO_LIBRARY )

View File

@ -0,0 +1,30 @@
# - Find libyaml
# Find the native Yaml headers and libraries.
#
# YAML_INCLUDE_DIRS - where to find yaml.h
# YAML_LIBRARIES - List of libraries when using libyaml
# YAML_FOUND - True if libyaml is found.
#
find_path(YAML_INCLUDE_DIR yaml.h PATH_SUFFIXES yaml)
find_library(YAML_LIBRARY NAMES yaml)
# handle the QUIET and REQUIRED arguments and
# set YAML_FOUND to TRUE if all variables are non-zero
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(YAML DEFAULT_MSG YAML_LIBRARY YAML_INCLUDE_DIR)
# Copy the results to the output variables and target.
if(YAML_FOUND)
set(YAML_LIBRARIES ${YAML_LIBRARY})
set(YAML_INCLUDE_DIRS ${YAML_INCLUDE_DIR})
if(NOT TARGET Yaml::Yaml)
add_library(Yaml::Yaml UNKNOWN IMPORTED)
set_target_properties(Yaml::Yaml PROPERTIES
IMPORTED_LOCATION "${YAML_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${YAML_INCLUDE_DIR}")
endif()
endif()
mark_as_advanced(YAML_INCLUDE_DIR YAML_LIBRARY)

View File

@ -1,8 +1,19 @@
find_path(ZMQ_INCLUDE_DIR zmq.h)
find_library(ZMQ_LIBRARY NAMES zmq)
set(ZMQ_LIBRARIES ${ZMQ_LIBRARY})
set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR)
# Copy the results to the output variables and target.
if(ZMQ_FOUND)
set(ZMQ_LIBRARIES ${ZMQ_LIBRARY})
set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR})
if(NOT TARGET ZMQ::ZMQ)
add_library(ZMQ::ZMQ UNKNOWN IMPORTED)
set_target_properties(ZMQ::ZMQ PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${ZMQ_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${ZMQ_INCLUDE_DIR}")
endif()
endif()

77
cmake/Modules/GTest.cmake Normal file
View File

@ -0,0 +1,77 @@
message(STATUS "Downloading and building Google Test library")
if(CMAKE_BUILD_TYPE STREQUAL Debug)
set(GTEST_LIB_POSTFIX d)
else()
set(GTEST_LIB_POSTFIX)
endif()
include(ExternalProject)
ExternalProject_Add(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.10.0
SOURCE_DIR "${CMAKE_BINARY_DIR}/gtest-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/gtest-build"
CMAKE_ARGS ${CMAKE_REQUEST_PIC} ${CMAKE_EXTRA_GTEST_OPTS}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
BUILD_BYPRODUCTS <BINARY_DIR>/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest${GTEST_LIB_POSTFIX}.a
<BINARY_DIR>/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gmock${GTEST_LIB_POSTFIX}.a
<BINARY_DIR>/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest_main${GTEST_LIB_POSTFIX}.a
<BINARY_DIR>/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gmock_main${GTEST_LIB_POSTFIX}.a
LOG_DOWNLOAD ON
LOG_CONFIGURE ON
LOG_BUILD ON
INSTALL_COMMAND ""
TEST_COMMAND "")
ExternalProject_Get_Property(googletest SOURCE_DIR)
set(GTEST_INCLUDE_DIR ${SOURCE_DIR}/googletest/include)
set(GMOCK_INCLUDE_DIR ${SOURCE_DIR}/googlemock/include)
# workaround for CMake 3.10 on ubuntu 18.04
file(MAKE_DIRECTORY ${GTEST_INCLUDE_DIR})
file(MAKE_DIRECTORY ${GMOCK_INCLUDE_DIR})
ExternalProject_Get_Property(googletest BINARY_DIR)
set(GTEST_LIBRARY_PATH ${BINARY_DIR}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest${GTEST_LIB_POSTFIX}.a)
set(GMOCK_LIBRARY_PATH ${BINARY_DIR}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gmock${GTEST_LIB_POSTFIX}.a)
set(GTEST_MAIN_LIBRARY_PATH ${BINARY_DIR}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest_main${GTEST_LIB_POSTFIX}.a)
set(GMOCK_MAIN_LIBRARY_PATH ${BINARY_DIR}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gmock_main${GTEST_LIB_POSTFIX}.a)
# Prevent GoogleTest from overriding our compiler/linker options
# when building with Visual Studio
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
find_package(Threads QUIET)
add_library(GTest::GTest UNKNOWN IMPORTED)
set_target_properties(GTest::GTest PROPERTIES
IMPORTED_LOCATION ${GTEST_LIBRARY_PATH}
INTERFACE_INCLUDE_DIRECTORIES ${GTEST_INCLUDE_DIR}
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
add_dependencies(GTest::GTest googletest)
add_library(GTest::GMock UNKNOWN IMPORTED)
set_target_properties(GTest::GMock PROPERTIES
IMPORTED_LOCATION ${GMOCK_LIBRARY_PATH}
INTERFACE_INCLUDE_DIRECTORIES ${GMOCK_INCLUDE_DIR}
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
add_dependencies(GTest::GMock googletest)
add_library(GTest::GTestMain UNKNOWN IMPORTED)
set_target_properties(GTest::GTestMain PROPERTIES
IMPORTED_LOCATION ${GTEST_MAIN_LIBRARY_PATH}
INTERFACE_INCLUDE_DIRECTORIES ${GTEST_INCLUDE_DIR}
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
add_dependencies(GTest::GTestMain googletest)
add_library(GTest::GMockMain UNKNOWN IMPORTED)
set_target_properties(GTest::GMockMain PROPERTIES
IMPORTED_LOCATION ${GMOCK_MAIN_LIBRARY_PATH}
INTERFACE_INCLUDE_DIRECTORIES ${GMOCK_INCLUDE_DIR}
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
add_dependencies(GTest::GMockMain googletest)

View File

@ -0,0 +1,3 @@
# utility script to call GenerateBinaryHeader function
include(${SOURCE_DIR}/Modules/LAMMPSUtils.cmake)
GenerateBinaryHeader(${VARNAME} ${HEADER_FILE} ${SOURCE_FILES})

View File

@ -69,3 +69,42 @@ macro(pkg_depends PKG1 PKG2)
message(FATAL_ERROR "${PKG1} package needs LAMMPS to be build with ${PKG2}")
endif()
endmacro()
# CMake-only replacement for bin2c and xxd
function(GenerateBinaryHeader varname outfile files)
message("Creating ${outfile}...")
file(WRITE ${outfile} "// CMake generated file\n")
math(EXPR ARG_END "${ARGC}-1")
foreach(IDX RANGE 2 ${ARG_END})
list(GET ARGV ${IDX} filename)
file(READ ${filename} content HEX)
string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," content "${content}")
string(REGEX REPLACE ",$" "" content "${content}")
file(APPEND ${outfile} "const unsigned char ${varname}[] = { ${content} };\n")
file(APPEND ${outfile} "const unsigned int ${varname}_size = sizeof(${varname});\n")
endforeach()
endfunction(GenerateBinaryHeader)
# fetch missing potential files
function(FetchPotentials pkgfolder potfolder)
if (EXISTS "${pkgfolder}/potentials.txt")
set(LAMMPS_POTENTIALS_URL "https://download.lammps.org/potentials")
file(STRINGS "${pkgfolder}/potentials.txt" linelist REGEX "^[^#].")
foreach(line ${linelist})
string(FIND ${line} " " blank)
math(EXPR plusone "${blank}+1")
string(SUBSTRING ${line} 0 ${blank} pot)
string(SUBSTRING ${line} ${plusone} -1 sum)
if(EXISTS ${LAMMPS_POTENTIALS_DIR}/${pot})
file(MD5 "${LAMMPS_POTENTIALS_DIR}/${pot}" oldsum)
endif()
if(NOT sum STREQUAL oldsum)
message(STATUS "Checking external potential ${pot} from ${LAMMPS_POTENTIALS_URL}")
file(DOWNLOAD "${LAMMPS_POTENTIALS_URL}/${pot}.${sum}" "${CMAKE_BINARY_DIR}/${pot}"
EXPECTED_HASH MD5=${sum} SHOW_PROGRESS)
file(COPY "${CMAKE_BINARY_DIR}/${pot}" DESTINATION ${LAMMPS_POTENTIALS_DIR})
endif()
endforeach()
endif()
endfunction(FetchPotentials)

View File

@ -0,0 +1,30 @@
# Download and configure custom MPICH files for Windows
message(STATUS "Downloading and configuring MPICH-1.4.1 for Windows")
include(ExternalProject)
if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
ExternalProject_Add(mpi4win_build
URL https://download.lammps.org/thirdparty/mpich2-win64-devel.tar.gz
URL_MD5 4939fdb59d13182fd5dd65211e469f14
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmpi.a)
else()
ExternalProject_Add(mpi4win_build
URL https://download.lammps.org/thirdparty/mpich2-win32-devel.tar.gz
URL_MD5 a61d153500dce44e21b755ee7257e031
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")

View File

@ -1,5 +1,2 @@
if(PKG_COMPRESS)
find_package(ZLIB REQUIRED)
include_directories(${ZLIB_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${ZLIB_LIBRARIES})
endif()
find_package(ZLIB REQUIRED)
target_link_libraries(lammps PRIVATE ZLIB::ZLIB)

View File

@ -1,13 +1,11 @@
if(PKG_CORESHELL)
set(CORESHELL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/CORESHELL)
set(CORESHELL_SOURCES)
set_property(GLOBAL PROPERTY "CORESHELL_SOURCES" "${CORESHELL_SOURCES}")
set(CORESHELL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/CORESHELL)
set(CORESHELL_SOURCES)
set_property(GLOBAL PROPERTY "CORESHELL_SOURCES" "${CORESHELL_SOURCES}")
# detects styles which have a CORESHELL version
RegisterStylesExt(${CORESHELL_SOURCES_DIR} cs CORESHELL_SOURCES)
# detects styles which have a CORESHELL version
RegisterStylesExt(${CORESHELL_SOURCES_DIR} cs CORESHELL_SOURCES)
get_property(CORESHELL_SOURCES GLOBAL PROPERTY CORESHELL_SOURCES)
get_property(CORESHELL_SOURCES GLOBAL PROPERTY CORESHELL_SOURCES)
list(APPEND LIB_SOURCES ${CORESHELL_SOURCES})
include_directories(${CORESHELL_SOURCES_DIR})
endif()
target_sources(lammps PRIVATE ${CORESHELL_SOURCES})
target_include_directories(lammps PRIVATE ${CORESHELL_SOURCES_DIR})

View File

@ -1,194 +1,382 @@
if(PKG_GPU)
if (CMAKE_VERSION VERSION_LESS "3.1")
message(FATAL_ERROR "For the GPU package you need at least cmake-3.1")
endif()
set(GPU_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/GPU)
set(GPU_SOURCES ${GPU_SOURCES_DIR}/gpu_extra.h
${GPU_SOURCES_DIR}/fix_gpu.h
${GPU_SOURCES_DIR}/fix_gpu.cpp)
set(GPU_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/GPU)
set(GPU_SOURCES ${GPU_SOURCES_DIR}/gpu_extra.h
${GPU_SOURCES_DIR}/fix_gpu.h
${GPU_SOURCES_DIR}/fix_gpu.cpp)
set(GPU_API "opencl" CACHE STRING "API used by GPU package")
set(GPU_API_VALUES opencl cuda)
set_property(CACHE GPU_API PROPERTY STRINGS ${GPU_API_VALUES})
validate_option(GPU_API GPU_API_VALUES)
string(TOUPPER ${GPU_API} GPU_API)
set(GPU_API "opencl" CACHE STRING "API used by GPU package")
set(GPU_API_VALUES opencl cuda hip)
set_property(CACHE GPU_API PROPERTY STRINGS ${GPU_API_VALUES})
validate_option(GPU_API GPU_API_VALUES)
string(TOUPPER ${GPU_API} GPU_API)
set(GPU_PREC "mixed" CACHE STRING "LAMMPS GPU precision")
set(GPU_PREC_VALUES double mixed single)
set_property(CACHE GPU_PREC PROPERTY STRINGS ${GPU_PREC_VALUES})
validate_option(GPU_PREC GPU_PREC_VALUES)
string(TOUPPER ${GPU_PREC} GPU_PREC)
set(GPU_PREC "mixed" CACHE STRING "LAMMPS GPU precision")
set(GPU_PREC_VALUES double mixed single)
set_property(CACHE GPU_PREC PROPERTY STRINGS ${GPU_PREC_VALUES})
validate_option(GPU_PREC GPU_PREC_VALUES)
string(TOUPPER ${GPU_PREC} GPU_PREC)
if(GPU_PREC STREQUAL "DOUBLE")
set(GPU_PREC_SETTING "DOUBLE_DOUBLE")
elseif(GPU_PREC STREQUAL "MIXED")
set(GPU_PREC_SETTING "SINGLE_DOUBLE")
elseif(GPU_PREC STREQUAL "SINGLE")
set(GPU_PREC_SETTING "SINGLE_SINGLE")
endif()
file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cpp)
file(MAKE_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/gpu)
if(GPU_API STREQUAL "CUDA")
find_package(CUDA REQUIRED)
find_program(BIN2C bin2c)
if(NOT BIN2C)
message(FATAL_ERROR "Could not find bin2c, use -DBIN2C=/path/to/bin2c to help cmake finding it.")
endif()
option(CUDPP_OPT "Enable CUDPP_OPT" ON)
option(CUDA_MPS_SUPPORT "Enable tweaks to support CUDA Multi-process service (MPS)" OFF)
if(CUDA_MPS_SUPPORT)
set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY")
endif()
set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM primary architecture (e.g. sm_60)")
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/[^.]*.cu)
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu)
cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu ${LAMMPS_LIB_BINARY_DIR}/gpu)
if(CUDPP_OPT)
cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cpp)
file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cu)
endif()
# build arch/gencode commands for nvcc based on CUDA toolkit version and use choice
# --arch translates directly instead of JIT, so this should be for the preferred or most common architecture
set(GPU_CUDA_GENCODE "-arch=${GPU_ARCH} ")
# Fermi (GPU Arch 2.x) is supported by CUDA 3.2 to CUDA 8.0
if((CUDA_VERSION VERSION_GREATER "3.1") AND (CUDA_VERSION VERSION_LESS "9.0"))
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_20,code=[sm_20,compute_20] ")
endif()
# Kepler (GPU Arch 3.x) is supported by CUDA 5 and later
if(CUDA_VERSION VERSION_GREATER "4.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] ")
endif()
# Maxwell (GPU Arch 5.x) is supported by CUDA 6 and later
if(CUDA_VERSION VERSION_GREATER "5.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] ")
endif()
# Pascal (GPU Arch 6.x) is supported by CUDA 8 and later
if(CUDA_VERSION VERSION_GREATER "7.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] ")
endif()
# Volta (GPU Arch 7.0) is supported by CUDA 9 and later
if(CUDA_VERSION VERSION_GREATER "8.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_70,code=[sm_70,compute_70] ")
endif()
# Turing (GPU Arch 7.5) is supported by CUDA 10 and later
if(CUDA_VERSION VERSION_GREATER "9.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_75,code=[sm_75,compute_75] ")
endif()
cuda_compile_fatbin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DNV_KERNEL -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING})
cuda_compile(GPU_OBJS ${GPU_LIB_CUDPP_CU} OPTIONS ${CUDA_REQUEST_PIC}
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING})
foreach(CU_OBJ ${GPU_GEN_OBJS})
get_filename_component(CU_NAME ${CU_OBJ} NAME_WE)
string(REGEX REPLACE "^.*_lal_" "" CU_NAME "${CU_NAME}")
add_custom_command(OUTPUT ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h
COMMAND ${BIN2C} -c -n ${CU_NAME} ${CU_OBJ} > ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h
DEPENDS ${CU_OBJ}
COMMENT "Generating ${CU_NAME}_cubin.h")
list(APPEND GPU_LIB_SOURCES ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h)
endforeach()
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${LAMMPS_LIB_BINARY_DIR}/gpu/*_cubin.h")
add_library(gpu STATIC ${GPU_LIB_SOURCES} ${GPU_LIB_CUDPP_SOURCES} ${GPU_OBJS})
target_link_libraries(gpu ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_BINARY_DIR}/gpu ${CUDA_INCLUDE_DIRS})
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -DMPI_GERYON -DUCL_NO_EXIT ${GPU_CUDA_MPS_FLAGS})
if(CUDPP_OPT)
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
target_compile_definitions(gpu PRIVATE -DUSE_CUDPP)
endif()
list(APPEND LAMMPS_LINK_LIBS gpu)
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_link_libraries(nvc_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
target_include_directories(nvc_get_devices PRIVATE ${CUDA_INCLUDE_DIRS})
elseif(GPU_API STREQUAL "OPENCL")
find_package(OpenCL REQUIRED)
set(OCL_TUNE "generic" CACHE STRING "OpenCL Device Tuning")
set(OCL_TUNE_VALUES intel fermi kepler cypress generic)
set_property(CACHE OCL_TUNE PROPERTY STRINGS ${OCL_TUNE_VALUES})
validate_option(OCL_TUNE OCL_TUNE_VALUES)
string(TOUPPER ${OCL_TUNE} OCL_TUNE)
include(OpenCLUtils)
set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h)
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu)
list(REMOVE_ITEM GPU_LIB_CU
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu
)
foreach(GPU_KERNEL ${GPU_LIB_CU})
get_filename_component(basename ${GPU_KERNEL} NAME_WE)
string(SUBSTRING ${basename} 4 -1 KERNEL_NAME)
GenerateOpenCLHeader(${KERNEL_NAME} ${CMAKE_CURRENT_BINARY_DIR}/gpu/${KERNEL_NAME}_cl.h ${OCL_COMMON_HEADERS} ${GPU_KERNEL})
list(APPEND GPU_LIB_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/gpu/${KERNEL_NAME}_cl.h)
endforeach()
GenerateOpenCLHeader(gayberne ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu)
GenerateOpenCLHeader(gayberne_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu)
GenerateOpenCLHeader(re_squared ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu)
GenerateOpenCLHeader(re_squared_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu)
GenerateOpenCLHeader(tersoff ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu)
GenerateOpenCLHeader(tersoff_zbl ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu)
GenerateOpenCLHeader(tersoff_mod ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu)
list(APPEND GPU_LIB_SOURCES
${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h
)
add_library(gpu STATIC ${GPU_LIB_SOURCES})
target_link_libraries(gpu ${OpenCL_LIBRARIES})
target_include_directories(gpu PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/gpu ${OpenCL_INCLUDE_DIRS})
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -D${OCL_TUNE}_OCL -DMPI_GERYON -DUCL_NO_EXIT)
target_compile_definitions(gpu PRIVATE -DUSE_OPENCL)
list(APPEND LAMMPS_LINK_LIBS gpu)
add_executable(ocl_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp)
target_compile_definitions(ocl_get_devices PRIVATE -DUCL_OPENCL)
target_link_libraries(ocl_get_devices PRIVATE ${OpenCL_LIBRARIES})
target_include_directories(ocl_get_devices PRIVATE ${OpenCL_INCLUDE_DIRS})
endif()
# GPU package
FindStyleHeaders(${GPU_SOURCES_DIR} FIX_CLASS fix_ FIX)
set_property(GLOBAL PROPERTY "GPU_SOURCES" "${GPU_SOURCES}")
# detects styles which have GPU version
RegisterStylesExt(${GPU_SOURCES_DIR} gpu GPU_SOURCES)
get_property(GPU_SOURCES GLOBAL PROPERTY GPU_SOURCES)
list(APPEND LIB_SOURCES ${GPU_SOURCES})
include_directories(${GPU_SOURCES_DIR})
if(GPU_PREC STREQUAL "DOUBLE")
set(GPU_PREC_SETTING "DOUBLE_DOUBLE")
elseif(GPU_PREC STREQUAL "MIXED")
set(GPU_PREC_SETTING "SINGLE_DOUBLE")
elseif(GPU_PREC STREQUAL "SINGLE")
set(GPU_PREC_SETTING "SINGLE_SINGLE")
endif()
file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cpp)
file(MAKE_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/gpu)
if(GPU_API STREQUAL "CUDA")
find_package(CUDA REQUIRED)
find_program(BIN2C bin2c)
if(NOT BIN2C)
message(FATAL_ERROR "Could not find bin2c, use -DBIN2C=/path/to/bin2c to help cmake finding it.")
endif()
option(CUDPP_OPT "Enable CUDPP_OPT" ON)
option(CUDA_MPS_SUPPORT "Enable tweaks to support CUDA Multi-process service (MPS)" OFF)
if(CUDA_MPS_SUPPORT)
set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY")
endif()
set(GPU_ARCH "sm_50" CACHE STRING "LAMMPS GPU CUDA SM primary architecture (e.g. sm_60)")
# ensure that no *cubin.h files exist from a compile in the lib/gpu folder
file(GLOB GPU_LIB_OLD_CUBIN_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/*_cubin.h)
if (GPU_LIB_OLD_CUBIN_HEADERS)
message(FATAL_ERROR "########################################################################\n"
"Found file(s) generated by the make-based build system in lib/gpu\n"
"Please run\n"
" make -C ${LAMMPS_LIB_SOURCE_DIR}/gpu -f Makefile.serial clean\n"
"to remove\n"
"########################################################################")
endif()
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/[^.]*.cu)
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu)
cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu ${LAMMPS_LIB_BINARY_DIR}/gpu)
if(CUDPP_OPT)
cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cpp)
file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cu)
endif()
# build arch/gencode commands for nvcc based on CUDA toolkit version and use choice
# --arch translates directly instead of JIT, so this should be for the preferred or most common architecture
set(GPU_CUDA_GENCODE "-arch=${GPU_ARCH} ")
# Fermi (GPU Arch 2.x) is supported by CUDA 3.2 to CUDA 8.0
if((CUDA_VERSION VERSION_GREATER "3.1") AND (CUDA_VERSION VERSION_LESS "9.0"))
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_20,code=[sm_20,compute_20] ")
endif()
# Kepler (GPU Arch 3.x) is supported by CUDA 5 and later
if(CUDA_VERSION VERSION_GREATER "4.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] ")
endif()
# Maxwell (GPU Arch 5.x) is supported by CUDA 6 and later
if(CUDA_VERSION VERSION_GREATER "5.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] ")
endif()
# Pascal (GPU Arch 6.x) is supported by CUDA 8 and later
if(CUDA_VERSION VERSION_GREATER "7.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] ")
endif()
# Volta (GPU Arch 7.0) is supported by CUDA 9 and later
if(CUDA_VERSION VERSION_GREATER "8.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_70,code=[sm_70,compute_70] ")
endif()
# Turing (GPU Arch 7.5) is supported by CUDA 10 and later
if(CUDA_VERSION VERSION_GREATER "9.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_75,code=[sm_75,compute_75] ")
endif()
cuda_compile_fatbin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS ${CUDA_REQUEST_PIC}
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DNV_KERNEL -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING})
cuda_compile(GPU_OBJS ${GPU_LIB_CUDPP_CU} OPTIONS ${CUDA_REQUEST_PIC}
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING})
foreach(CU_OBJ ${GPU_GEN_OBJS})
get_filename_component(CU_NAME ${CU_OBJ} NAME_WE)
string(REGEX REPLACE "^.*_lal_" "" CU_NAME "${CU_NAME}")
add_custom_command(OUTPUT ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h
COMMAND ${BIN2C} -c -n ${CU_NAME} ${CU_OBJ} > ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h
DEPENDS ${CU_OBJ}
COMMENT "Generating ${CU_NAME}_cubin.h")
list(APPEND GPU_LIB_SOURCES ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h)
endforeach()
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${LAMMPS_LIB_BINARY_DIR}/gpu/*_cubin.h")
add_library(gpu STATIC ${GPU_LIB_SOURCES} ${GPU_LIB_CUDPP_SOURCES} ${GPU_OBJS})
target_link_libraries(gpu PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_BINARY_DIR}/gpu ${CUDA_INCLUDE_DIRS})
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -DMPI_GERYON -DUCL_NO_EXIT ${GPU_CUDA_MPS_FLAGS})
if(CUDPP_OPT)
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
target_compile_definitions(gpu PRIVATE -DUSE_CUDPP)
endif()
target_link_libraries(lammps PRIVATE gpu)
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_link_libraries(nvc_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
target_include_directories(nvc_get_devices PRIVATE ${CUDA_INCLUDE_DIRS})
elseif(GPU_API STREQUAL "OPENCL")
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
# download and unpack support binaries for compilation of windows binaries.
set(LAMMPS_THIRDPARTY_URL "https://download.lammps.org/thirdparty")
file(DOWNLOAD "${LAMMPS_THIRDPARTY_URL}/opencl-win-devel.tar.gz" "${CMAKE_CURRENT_BINARY_DIR}/opencl-win-devel.tar.gz"
EXPECTED_MD5 2c00364888d5671195598b44c2e0d44d)
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf opencl-win-devel.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_library(OpenCL::OpenCL UNKNOWN IMPORTED)
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86")
set_target_properties(OpenCL::OpenCL PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win32/libOpenCL.dll")
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
set_target_properties(OpenCL::OpenCL PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win64/libOpenCL.dll")
endif()
set_target_properties(OpenCL::OpenCL PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/include")
else()
find_package(OpenCL REQUIRED)
endif()
set(OCL_TUNE "generic" CACHE STRING "OpenCL Device Tuning")
set(OCL_TUNE_VALUES intel fermi kepler cypress generic)
set_property(CACHE OCL_TUNE PROPERTY STRINGS ${OCL_TUNE_VALUES})
validate_option(OCL_TUNE OCL_TUNE_VALUES)
string(TOUPPER ${OCL_TUNE} OCL_TUNE)
include(OpenCLUtils)
set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h)
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu)
list(REMOVE_ITEM GPU_LIB_CU
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu
${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu
)
foreach(GPU_KERNEL ${GPU_LIB_CU})
get_filename_component(basename ${GPU_KERNEL} NAME_WE)
string(SUBSTRING ${basename} 4 -1 KERNEL_NAME)
GenerateOpenCLHeader(${KERNEL_NAME} ${CMAKE_CURRENT_BINARY_DIR}/gpu/${KERNEL_NAME}_cl.h ${OCL_COMMON_HEADERS} ${GPU_KERNEL})
list(APPEND GPU_LIB_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/gpu/${KERNEL_NAME}_cl.h)
endforeach()
GenerateOpenCLHeader(gayberne ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu)
GenerateOpenCLHeader(gayberne_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu)
GenerateOpenCLHeader(re_squared ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu)
GenerateOpenCLHeader(re_squared_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu)
GenerateOpenCLHeader(tersoff ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu)
GenerateOpenCLHeader(tersoff_zbl ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu)
GenerateOpenCLHeader(tersoff_mod ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu)
list(APPEND GPU_LIB_SOURCES
${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h
${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h
)
add_library(gpu STATIC ${GPU_LIB_SOURCES})
target_link_libraries(gpu PRIVATE OpenCL::OpenCL)
target_include_directories(gpu PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/gpu)
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -D${OCL_TUNE}_OCL -DMPI_GERYON -DUCL_NO_EXIT)
target_compile_definitions(gpu PRIVATE -DUSE_OPENCL)
target_link_libraries(lammps PRIVATE gpu)
add_executable(ocl_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp)
target_compile_definitions(ocl_get_devices PRIVATE -DUCL_OPENCL)
target_link_libraries(ocl_get_devices PRIVATE OpenCL::OpenCL)
elseif(GPU_API STREQUAL "HIP")
if(NOT DEFINED HIP_PATH)
if(NOT DEFINED ENV{HIP_PATH})
set(HIP_PATH "/opt/rocm/hip" CACHE PATH "Path to which HIP has been installed")
else()
set(HIP_PATH $ENV{HIP_PATH} CACHE PATH "Path to which HIP has been installed")
endif()
endif()
set(CMAKE_MODULE_PATH "${HIP_PATH}/cmake" ${CMAKE_MODULE_PATH})
find_package(HIP REQUIRED)
option(HIP_USE_DEVICE_SORT "Use GPU sorting" ON)
if(NOT DEFINED HIP_PLATFORM)
if(NOT DEFINED ENV{HIP_PLATFORM})
set(HIP_PLATFORM "hcc" CACHE PATH "HIP Platform to be used during compilation")
else()
set(HIP_PLATFORM $ENV{HIP_PLATFORM} CACHE PATH "HIP Platform used during compilation")
endif()
endif()
set(ENV{HIP_PLATFORM} ${HIP_PLATFORM})
if(HIP_PLATFORM STREQUAL "hcc")
set(HIP_ARCH "gfx906" CACHE STRING "HIP target architecture")
elseif(HIP_PLATFORM STREQUAL "nvcc")
find_package(CUDA REQUIRED)
set(HIP_ARCH "sm_50" CACHE STRING "HIP primary CUDA architecture (e.g. sm_60)")
# build arch/gencode commands for nvcc based on CUDA toolkit version and use choice
# --arch translates directly instead of JIT, so this should be for the preferred or most common architecture
set(HIP_CUDA_GENCODE "-arch=${HIP_ARCH} ")
# Fermi (GPU Arch 2.x) is supported by CUDA 3.2 to CUDA 8.0
if((CUDA_VERSION VERSION_GREATER "3.1") AND (CUDA_VERSION VERSION_LESS "9.0"))
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_20,code=[sm_20,compute_20] ")
endif()
# Kepler (GPU Arch 3.x) is supported by CUDA 5 and later
if(CUDA_VERSION VERSION_GREATER "4.9")
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] ")
endif()
# Maxwell (GPU Arch 5.x) is supported by CUDA 6 and later
if(CUDA_VERSION VERSION_GREATER "5.9")
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] ")
endif()
# Pascal (GPU Arch 6.x) is supported by CUDA 8 and later
if(CUDA_VERSION VERSION_GREATER "7.9")
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] ")
endif()
# Volta (GPU Arch 7.0) is supported by CUDA 9 and later
if(CUDA_VERSION VERSION_GREATER "8.9")
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_70,code=[sm_70,compute_70] ")
endif()
# Turing (GPU Arch 7.5) is supported by CUDA 10 and later
if(CUDA_VERSION VERSION_GREATER "9.9")
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_75,code=[sm_75,compute_75] ")
endif()
endif()
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/[^.]*.cu)
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu)
set(GPU_LIB_CU_HIP "")
foreach(CU_FILE ${GPU_LIB_CU})
get_filename_component(CU_NAME ${CU_FILE} NAME_WE)
string(REGEX REPLACE "^.*lal_" "" CU_NAME "${CU_NAME}")
set(CU_CPP_FILE "${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}.cu.cpp")
set(CUBIN_FILE "${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}.cubin")
set(CUBIN_H_FILE "${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h")
if(HIP_PLATFORM STREQUAL "hcc")
configure_file(${CU_FILE} ${CU_CPP_FILE} COPYONLY)
add_custom_command(OUTPUT ${CUBIN_FILE}
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --genco -t="${HIP_ARCH}" -f=\"-O3 -ffast-math -DUSE_HIP -D_${GPU_PREC_SETTING} -I${LAMMPS_LIB_SOURCE_DIR}/gpu\" -o ${CUBIN_FILE} ${CU_CPP_FILE}
DEPENDS ${CU_CPP_FILE}
COMMENT "Generating ${CU_NAME}.cubin")
elseif(HIP_PLATFORM STREQUAL "nvcc")
add_custom_command(OUTPUT ${CUBIN_FILE}
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --fatbin --use_fast_math -DUSE_HIP -D_${GPU_PREC_SETTING} ${HIP_CUDA_GENCODE} -I${LAMMPS_LIB_SOURCE_DIR}/gpu -o ${CUBIN_FILE} ${CU_FILE}
DEPENDS ${CU_FILE}
COMMENT "Generating ${CU_NAME}.cubin")
endif()
add_custom_command(OUTPUT ${CUBIN_H_FILE}
COMMAND ${CMAKE_COMMAND} -D SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -D VARNAME=${CU_NAME} -D HEADER_FILE=${CUBIN_H_FILE} -D SOURCE_FILES=${CUBIN_FILE} -P ${CMAKE_CURRENT_SOURCE_DIR}/Modules/GenerateBinaryHeader.cmake
DEPENDS ${CUBIN_FILE}
COMMENT "Generating ${CU_NAME}_cubin.h")
list(APPEND GPU_LIB_SOURCES ${CUBIN_H_FILE})
endforeach()
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${LAMMPS_LIB_BINARY_DIR}/gpu/*_cubin.h ${LAMMPS_LIB_BINARY_DIR}/gpu/*.cu.cpp")
hip_add_library(gpu STATIC ${GPU_LIB_SOURCES})
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_BINARY_DIR}/gpu)
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -DMPI_GERYON -DUCL_NO_EXIT)
target_compile_definitions(gpu PRIVATE -DUSE_HIP)
if(HIP_USE_DEVICE_SORT)
# add hipCUB
target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include)
target_compile_definitions(gpu PRIVATE -DUSE_HIP_DEVICE_SORT)
if(HIP_PLATFORM STREQUAL "nvcc")
find_package(CUB)
if(CUB_FOUND)
set(DOWNLOAD_CUB_DEFAULT OFF)
else()
set(DOWNLOAD_CUB_DEFAULT ON)
endif()
option(DOWNLOAD_CUB "Download and compile the CUB library instead of using an already installed one" ${DOWNLOAD_CUB_DEFAULT})
if(DOWNLOAD_CUB)
message(STATUS "CUB download requested")
include(ExternalProject)
ExternalProject_Add(CUB
GIT_REPOSITORY https://github.com/NVlabs/cub
TIMEOUT 5
PREFIX "${CMAKE_CURRENT_BINARY_DIR}"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
UPDATE_COMMAND ""
)
ExternalProject_get_property(CUB SOURCE_DIR)
set(CUB_INCLUDE_DIR ${SOURCE_DIR})
else()
find_package(CUB)
if(NOT CUB_FOUND)
message(FATAL_ERROR "CUB library not found. Help CMake to find it by setting CUB_INCLUDE_DIR, or set DOWNLOAD_VORO=ON to download it")
endif()
endif()
target_include_directories(gpu PRIVATE ${CUB_INCLUDE_DIR})
endif()
endif()
hip_add_executable(hip_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp)
target_compile_definitions(hip_get_devices PRIVATE -DUCL_HIP)
if(HIP_PLATFORM STREQUAL "nvcc")
target_compile_definitions(gpu PRIVATE -D__HIP_PLATFORM_NVCC__)
target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include)
target_include_directories(gpu PRIVATE ${CUDA_INCLUDE_DIRS})
target_link_libraries(gpu PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
target_compile_definitions(hip_get_devices PRIVATE -D__HIP_PLATFORM_NVCC__)
target_include_directories(hip_get_devices PRIVATE ${HIP_ROOT_DIR}/include)
target_include_directories(hip_get_devices PRIVATE ${CUDA_INCLUDE_DIRS})
target_link_libraries(hip_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
elseif(HIP_PLATFORM STREQUAL "hcc")
target_compile_definitions(gpu PRIVATE -D__HIP_PLATFORM_HCC__)
target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include)
target_compile_definitions(hip_get_devices PRIVATE -D__HIP_PLATFORM_HCC__)
target_include_directories(hip_get_devices PRIVATE ${HIP_ROOT_DIR}/../include)
endif()
target_link_libraries(lammps PRIVATE gpu)
endif()
# GPU package
FindStyleHeaders(${GPU_SOURCES_DIR} FIX_CLASS fix_ FIX)
set_property(GLOBAL PROPERTY "GPU_SOURCES" "${GPU_SOURCES}")
# detects styles which have GPU version
RegisterStylesExt(${GPU_SOURCES_DIR} gpu GPU_SOURCES)
get_property(GPU_SOURCES GLOBAL PROPERTY GPU_SOURCES)
if(NOT BUILD_MPI)
# mpistubs is aliased to MPI::MPI_CXX, but older versions of cmake won't work forward the include path
target_link_libraries(gpu PRIVATE mpi_stubs)
else()
target_link_libraries(gpu PRIVATE MPI::MPI_CXX)
endif()
target_compile_definitions(gpu PRIVATE -DLAMMPS_${LAMMPS_SIZES})
set_target_properties(gpu PROPERTIES OUTPUT_NAME lammps_gpu${LAMMPS_MACHINE})
target_sources(lammps PRIVATE ${GPU_SOURCES})
target_include_directories(lammps PRIVATE ${GPU_SOURCES_DIR})

View File

@ -1,57 +1,63 @@
if(PKG_KIM)
set(KIM-API_MIN_VERSION 2.1)
find_package(CURL)
if(CURL_FOUND)
include_directories(${CURL_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${CURL_LIBRARIES})
add_definitions(-DLMP_KIM_CURL)
endif()
find_package(KIM-API QUIET)
if(KIM-API_FOUND)
if (KIM-API_VERSION VERSION_LESS ${KIM-API_MIN_VERSION})
if ("${DOWNLOAD_KIM}" STREQUAL "")
message(WARNING "Unsuitable KIM-API version \"${KIM-API_VERSION}\" found, but required is at least \"${KIM-API_MIN_VERSION}\". Default behavior set to download and build our own.")
endif()
set(DOWNLOAD_KIM_DEFAULT ON)
else()
set(DOWNLOAD_KIM_DEFAULT OFF)
endif()
set(KIM-API_MIN_VERSION 2.1.3)
find_package(CURL)
if(CURL_FOUND)
if(CMAKE_VERSION VERSION_LESS 3.12)
target_include_directories(lammps PRIVATE ${CURL_INCLUDE_DIRS})
target_link_libraries(lammps PRIVATE ${CURL_LIBRARIES})
else()
if ("${DOWNLOAD_KIM}" STREQUAL "")
message(WARNING "KIM-API package not found. Default behavior set to download and build our own")
endif()
set(DOWNLOAD_KIM_DEFAULT ON)
target_link_libraries(lammps PRIVATE CURL::libcurl)
endif()
option(DOWNLOAD_KIM "Download KIM-API from OpenKIM instead of using an already installed one" ${DOWNLOAD_KIM_DEFAULT})
if(DOWNLOAD_KIM)
if(CMAKE_GENERATOR STREQUAL "Ninja")
message(FATAL_ERROR "Cannot build downloaded KIM-API library with Ninja build tool")
endif()
message(STATUS "KIM-API download requested - we will build our own")
include(CheckLanguage)
include(ExternalProject)
enable_language(C)
check_language(Fortran)
if(NOT CMAKE_Fortran_COMPILER)
message(FATAL_ERROR "Compiling the KIM-API library requires a Fortran compiler")
endif()
ExternalProject_Add(kim_build
URL https://s3.openkim.org/kim-api/kim-api-2.1.3.txz
URL_MD5 6ee829a1bbba5f8b9874c88c4c4ebff8
BINARY_DIR build
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER}
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
)
ExternalProject_get_property(kim_build INSTALL_DIR)
set(KIM-API_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api)
set(KIM-API_LDFLAGS ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX})
list(APPEND LAMMPS_DEPS kim_build)
else()
find_package(KIM-API ${KIM-API_MIN_VERSION} REQUIRED)
target_compile_definitions(lammps PRIVATE -DLMP_KIM_CURL)
set(LMP_DEBUG_CURL OFF CACHE STRING "Set libcurl verbose mode on/off. If on, it displays a lot of verbose information about its operations.")
mark_as_advanced(LMP_DEBUG_CURL)
if(LMP_DEBUG_CURL)
target_compile_definitions(lammps PRIVATE -DLMP_DEBUG_CURL)
endif()
set(LMP_NO_SSL_CHECK OFF CACHE STRING "Tell libcurl to not verify the peer. If on, the connection succeeds regardless of the names in the certificate. Insecure - Use with caution!")
mark_as_advanced(LMP_NO_SSL_CHECK)
if(LMP_NO_SSL_CHECK)
target_compile_definitions(lammps PRIVATE -DLMP_NO_SSL_CHECK)
endif()
list(APPEND LAMMPS_LINK_LIBS "${KIM-API_LDFLAGS}")
include_directories(${KIM-API_INCLUDE_DIRS})
endif()
find_package(PkgConfig QUIET)
set(DOWNLOAD_KIM_DEFAULT ON)
if(PKG_CONFIG_FOUND)
pkg_check_modules(KIM-API QUIET libkim-api>=${KIM-API_MIN_VERSION})
if(KIM-API_FOUND)
set(DOWNLOAD_KIM_DEFAULT OFF)
endif()
endif()
option(DOWNLOAD_KIM "Download KIM-API from OpenKIM instead of using an already installed one" ${DOWNLOAD_KIM_DEFAULT})
if(DOWNLOAD_KIM)
message(STATUS "KIM-API download requested - we will build our own")
include(ExternalProject)
enable_language(C)
enable_language(Fortran)
ExternalProject_Add(kim_build
URL https://s3.openkim.org/kim-api/kim-api-2.1.3.txz
URL_MD5 6ee829a1bbba5f8b9874c88c4c4ebff8
BINARY_DIR build
CMAKE_ARGS ${CMAKE_REQUEST_PIC}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER}
-DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX}
)
ExternalProject_get_property(kim_build INSTALL_DIR)
file(MAKE_DIRECTORY ${INSTALL_DIR}/include/kim-api)
add_library(LAMMPS::KIM UNKNOWN IMPORTED)
set_target_properties(LAMMPS::KIM PROPERTIES
IMPORTED_LOCATION "${INSTALL_DIR}/lib/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX}"
INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include/kim-api")
target_link_libraries(lammps PRIVATE LAMMPS::KIM)
add_dependencies(LAMMPS::KIM kim_build)
else()
find_package(PkgConfig REQUIRED)
pkg_check_modules(KIM-API REQUIRED IMPORTED_TARGET libkim-api>=${KIM-API_MIN_VERSION})
target_link_libraries(lammps PRIVATE PkgConfig::KIM-API)
endif()

View File

@ -1,66 +1,119 @@
if(PKG_KOKKOS)
# TODO: this option needs to be documented when this works with a
# regular release version of KOKKOS, and a version compatibility check
# of external KOKKOS lib versus what the KOKKOS package needs is required.
option(EXTERNAL_KOKKOS "Build against external kokkos library")
if(EXTERNAL_KOKKOS)
find_package(Kokkos REQUIRED)
list(APPEND LAMMPS_LINK_LIBS Kokkos::kokkos)
else()
set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos)
set(LAMMPS_LIB_KOKKOS_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/kokkos)
add_subdirectory(${LAMMPS_LIB_KOKKOS_SRC_DIR} ${LAMMPS_LIB_KOKKOS_BIN_DIR})
set(Kokkos_INCLUDE_DIRS ${LAMMPS_LIB_KOKKOS_SRC_DIR}/core/src
${LAMMPS_LIB_KOKKOS_SRC_DIR}/containers/src
${LAMMPS_LIB_KOKKOS_SRC_DIR}/algorithms/src
${LAMMPS_LIB_KOKKOS_BIN_DIR})
include_directories(${Kokkos_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS kokkos)
endif()
add_definitions(-DLMP_KOKKOS)
set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS)
set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/atom_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/atom_vec_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/comm_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/comm_tiled_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/min_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/min_linesearch_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/neighbor_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/neigh_list_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/neigh_bond_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/fix_nh_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/domain_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/modify_kokkos.cpp)
if(PKG_KSPACE)
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp)
endif()
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")
# detects styles which have KOKKOS version
RegisterStylesExt(${KOKKOS_PKG_SOURCES_DIR} kokkos KOKKOS_PKG_SOURCES)
# register kokkos-only styles
RegisterNBinStyle(${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.h)
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.h)
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.h)
if(PKG_USER-DPD)
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.cpp)
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.h)
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")
endif()
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
list(APPEND LIB_SOURCES ${KOKKOS_PKG_SOURCES})
include_directories(${KOKKOS_PKG_SOURCES_DIR})
########################################################################
# 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)
endif()
# Adding OpenMP compiler flags without the checks done for
# BUILD_OMP can result in compile failures. Enforce consistency.
if(Kokkos_ENABLE_OPENMP AND NOT BUILD_OMP)
message(FATAL_ERROR "Must enable BUILD_OMP with Kokkos_ENABLE_OPENMP")
endif()
########################################################################
option(EXTERNAL_KOKKOS "Build against external kokkos library" OFF)
option(DOWNLOAD_KOKKOS "Download the KOKKOS library instead of using the bundled one" OFF)
if(DOWNLOAD_KOKKOS)
# extract Kokkos-related variables and values so we can forward them to the Kokkos library build
get_cmake_property(_VARS VARIABLES)
list(FILTER _VARS INCLUDE REGEX ^Kokkos_)
foreach(_VAR IN LISTS _VARS)
list(APPEND KOKKOS_LIB_BUILD_ARGS "-D${_VAR}=${${_VAR}}")
endforeach()
message(STATUS "KOKKOS download requested - we will build our own")
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>")
if(CMAKE_REQUEST_PIC)
list(APPEND KOKKOS_LIB_BUILD_ARGS ${CMAKE_REQUEST_PIC})
endif()
# append other CMake variables that need to be forwarded to CMAKE_ARGS
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_INSTALL_LIBDIR=lib")
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}")
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}")
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)
ExternalProject_Add(kokkos_build
URL https://github.com/kokkos/kokkos/archive/3.1.01.tar.gz
URL_MD5 3ccb2100f7fc316891e7dad3bc33fa37
CMAKE_ARGS ${KOKKOS_LIB_BUILD_ARGS}
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libkokkoscore.a
)
ExternalProject_get_property(kokkos_build INSTALL_DIR)
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
add_library(LAMMPS::KOKKOS UNKNOWN IMPORTED)
set_target_properties(LAMMPS::KOKKOS PROPERTIES
IMPORTED_LOCATION "${INSTALL_DIR}/lib/libkokkoscore.a"
INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include"
INTERFACE_LINK_LIBRARIES ${CMAKE_DL_LIBS})
target_link_libraries(lammps PRIVATE LAMMPS::KOKKOS)
add_dependencies(LAMMPS::KOKKOS kokkos_build)
elseif(EXTERNAL_KOKKOS)
find_package(Kokkos 3.1.01 REQUIRED CONFIG)
target_link_libraries(lammps PRIVATE Kokkos::kokkos)
else()
set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos)
set(LAMMPS_LIB_KOKKOS_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/kokkos)
add_subdirectory(${LAMMPS_LIB_KOKKOS_SRC_DIR} ${LAMMPS_LIB_KOKKOS_BIN_DIR})
set(Kokkos_INCLUDE_DIRS ${LAMMPS_LIB_KOKKOS_SRC_DIR}/core/src
${LAMMPS_LIB_KOKKOS_SRC_DIR}/containers/src
${LAMMPS_LIB_KOKKOS_SRC_DIR}/algorithms/src
${LAMMPS_LIB_KOKKOS_BIN_DIR})
target_include_directories(lammps PRIVATE ${Kokkos_INCLUDE_DIRS})
target_link_libraries(lammps PRIVATE kokkos)
endif()
target_compile_definitions(lammps PRIVATE -DLMP_KOKKOS)
set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS)
set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/atom_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/atom_vec_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/comm_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/comm_tiled_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/min_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/min_linesearch_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/neighbor_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/neigh_list_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/neigh_bond_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/fix_nh_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/domain_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/modify_kokkos.cpp)
if(PKG_KSPACE)
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/fft3d_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp)
if(Kokkos_ENABLE_CUDA)
if(NOT ${FFT} STREQUAL "KISS")
target_compile_definitions(lammps PRIVATE -DFFT_CUFFT)
target_link_libraries(lammps PRIVATE cufft)
endif()
endif()
endif()
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")
# detects styles which have KOKKOS version
RegisterStylesExt(${KOKKOS_PKG_SOURCES_DIR} kokkos KOKKOS_PKG_SOURCES)
# register kokkos-only styles
RegisterNBinStyle(${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.h)
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.h)
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.h)
if(PKG_USER-DPD)
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.cpp)
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.h)
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")
endif()
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
target_sources(lammps PRIVATE ${KOKKOS_PKG_SOURCES})
target_include_directories(lammps PRIVATE ${KOKKOS_PKG_SOURCES_DIR})

View File

@ -1,42 +1,56 @@
if(PKG_KSPACE)
option(FFT_SINGLE "Use single precision FFTs instead of double precision FFTs" OFF)
set(FFTW "FFTW3")
if(FFT_SINGLE)
set(FFTW "FFTW3F")
add_definitions(-DFFT_SINGLE)
endif()
find_package(${FFTW} QUIET)
if(${FFTW}_FOUND)
set(FFT "FFTW3" CACHE STRING "FFT library for KSPACE package")
else()
set(FFT "KISS" CACHE STRING "FFT library for KSPACE package")
endif()
set(FFT_VALUES KISS FFTW3 MKL)
set_property(CACHE FFT PROPERTY STRINGS ${FFT_VALUES})
validate_option(FFT FFT_VALUES)
string(TOUPPER ${FFT} FFT)
if(FFT STREQUAL "FFTW3")
find_package(${FFTW} REQUIRED)
add_definitions(-DFFT_FFTW3)
include_directories(${${FFTW}_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${${FFTW}_LIBRARIES})
elseif(FFT STREQUAL "MKL")
find_package(MKL REQUIRED)
add_definitions(-DFFT_MKL)
include_directories(${MKL_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${MKL_LIBRARIES})
else()
# last option is KISSFFT
add_definitions(-DFFT_KISS)
endif()
set(FFT_PACK "array" CACHE STRING "Optimization for FFT")
set(FFT_PACK_VALUES array pointer memcpy)
set_property(CACHE FFT_PACK PROPERTY STRINGS ${FFT_PACK_VALUES})
validate_option(FFT_PACK FFT_PACK_VALUES)
if(NOT FFT_PACK STREQUAL "array")
string(TOUPPER ${FFT_PACK} FFT_PACK)
add_definitions(-DFFT_PACK_${FFT_PACK})
endif()
option(FFT_SINGLE "Use single precision FFTs instead of double precision FFTs" OFF)
set(FFTW "FFTW3")
if(FFT_SINGLE)
set(FFTW "FFTW3F")
target_compile_definitions(lammps PRIVATE -DFFT_SINGLE)
endif()
find_package(${FFTW} QUIET)
if(${FFTW}_FOUND)
set(FFT "FFTW3" CACHE STRING "FFT library for KSPACE package")
else()
set(FFT "KISS" CACHE STRING "FFT library for KSPACE package")
endif()
set(FFT_VALUES KISS FFTW3 MKL)
set_property(CACHE FFT PROPERTY STRINGS ${FFT_VALUES})
validate_option(FFT FFT_VALUES)
string(TOUPPER ${FFT} FFT)
if(FFT STREQUAL "FFTW3")
find_package(${FFTW} REQUIRED)
target_compile_definitions(lammps PRIVATE -DFFT_FFTW3)
target_link_libraries(lammps PRIVATE ${FFTW}::${FFTW})
if(FFTW3_OMP_LIBRARY OR FFTW3F_OMP_LIBRARY)
option(FFT_FFTW_THREADS "Use threaded FFTW library" ON)
else()
option(FFT_FFTW_THREADS "Use threaded FFT library" OFF)
endif()
if(FFT_FFTW_THREADS)
if(FFTW3_OMP_LIBRARY OR FFTW3F_OMP_LIBRARY)
target_compile_definitions(lammps PRIVATE -DFFT_FFTW_THREADS)
target_link_libraries(lammps PRIVATE ${FFTW}::${FFTW}_OMP)
else()
message(FATAL_ERROR "Need OpenMP enabled FFTW3 library for FFT_THREADS")
endif()
endif()
elseif(FFT STREQUAL "MKL")
find_package(MKL REQUIRED)
target_compile_definitions(lammps PRIVATE -DFFT_MKL)
option(FFT_MKL_THREADS "Use threaded MKL FFT" ON)
if(FFT_MKL_THREADS)
target_compile_definitions(lammps PRIVATE -DFFT_MKL_THREADS)
endif()
target_link_libraries(lammps PRIVATE MKL::MKL)
else()
# last option is KISSFFT
target_compile_definitions(lammps PRIVATE -DFFT_KISS)
endif()
set(FFT_PACK "array" CACHE STRING "Optimization for FFT")
set(FFT_PACK_VALUES array pointer memcpy)
set_property(CACHE FFT_PACK PROPERTY STRINGS ${FFT_PACK_VALUES})
validate_option(FFT_PACK FFT_PACK_VALUES)
if(NOT FFT_PACK STREQUAL "array")
string(TOUPPER ${FFT_PACK} FFT_PACK)
target_compile_definitions(lammps PRIVATE -DFFT_PACK_${FFT_PACK})
endif()

View File

@ -1,38 +1,40 @@
if(PKG_LATTE)
enable_language(Fortran)
find_package(LATTE)
if(LATTE_FOUND)
set(DOWNLOAD_LATTE_DEFAULT OFF)
else()
set(DOWNLOAD_LATTE_DEFAULT ON)
endif()
option(DOWNLOAD_LATTE "Download the LATTE library instead of using an already installed one" ${DOWNLOAD_LATTE_DEFAULT})
if(DOWNLOAD_LATTE)
if (CMAKE_VERSION VERSION_LESS "3.7") # due to SOURCE_SUBDIR
message(FATAL_ERROR "For downlading LATTE you need at least cmake-3.7")
endif()
if(CMAKE_GENERATOR STREQUAL "Ninja")
message(FATAL_ERROR "Cannot build downloaded LATTE library with Ninja build tool")
endif()
message(STATUS "LATTE download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(latte_build
URL https://github.com/lanl/LATTE/archive/v1.2.1.tar.gz
URL_MD5 85ac414fdada2d04619c8f936344df14
SOURCE_SUBDIR cmake
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> ${CMAKE_REQUEST_PIC}
-DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES}
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS}
-DCMAKE_Fortran_FLAGS_${BTYPE}=${CMAKE_Fortran_FLAGS_${BTYPE}} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
)
ExternalProject_get_property(latte_build INSTALL_DIR)
set(LATTE_LIBRARIES ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/liblatte.a)
list(APPEND LAMMPS_DEPS latte_build)
else()
find_package(LATTE)
if(NOT LATTE_FOUND)
message(FATAL_ERROR "LATTE library not found, help CMake to find it by setting LATTE_LIBRARY, or set DOWNLOAD_LATTE=ON to download it")
endif()
endif()
list(APPEND LAMMPS_LINK_LIBS ${LATTE_LIBRARIES} ${LAPACK_LIBRARIES})
enable_language(Fortran)
# using lammps in a super-build setting
if(TARGET LATTE::latte)
target_link_libraries(lammps PRIVATE LATTE::latte)
return()
endif()
find_package(LATTE 1.2.2 CONFIG)
if(LATTE_FOUND)
set(DOWNLOAD_LATTE_DEFAULT OFF)
else()
set(DOWNLOAD_LATTE_DEFAULT ON)
endif()
option(DOWNLOAD_LATTE "Download the LATTE library instead of using an already installed one" ${DOWNLOAD_LATTE_DEFAULT})
if(DOWNLOAD_LATTE)
message(STATUS "LATTE download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(latte_build
URL https://github.com/lanl/LATTE/archive/v1.2.2.tar.gz
URL_MD5 820e73a457ced178c08c71389a385de7
SOURCE_SUBDIR cmake
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> ${CMAKE_REQUEST_PIC} -DCMAKE_INSTALL_LIBDIR=lib
-DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES}
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS}
-DCMAKE_Fortran_FLAGS_${BTYPE}=${CMAKE_Fortran_FLAGS_${BTYPE}} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/liblatte.a
)
ExternalProject_get_property(latte_build INSTALL_DIR)
add_library(LAMMPS::LATTE UNKNOWN IMPORTED)
set_target_properties(LAMMPS::LATTE PROPERTIES
IMPORTED_LOCATION "${INSTALL_DIR}/lib/liblatte.a"
INTERFACE_LINK_LIBRARIES "${LAPACK_LIBRARIES}")
target_link_libraries(lammps PRIVATE LAMMPS::LATTE)
add_dependencies(LAMMPS::LATTE latte_build)
else()
find_package(LATTE 1.2.2 REQUIRED CONFIG)
target_link_libraries(lammps PRIVATE LATTE::latte)
endif()

View File

@ -1,32 +1,32 @@
if(PKG_MESSAGE)
if(LAMMPS_SIZES STREQUAL BIGBIG)
message(FATAL_ERROR "The MESSAGE Package is not compatible with -DLAMMPS_BIGBIG")
endif()
option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF)
file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.F
${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.c
${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.cpp)
add_library(cslib STATIC ${cslib_SOURCES})
if(BUILD_MPI)
target_compile_definitions(cslib PRIVATE -DMPI_YES)
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi")
else()
target_compile_definitions(cslib PRIVATE -DMPI_NO)
target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_MPI)
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi")
endif()
if(MESSAGE_ZMQ)
target_compile_definitions(cslib PRIVATE -DZMQ_YES)
find_package(ZMQ REQUIRED)
target_include_directories(cslib PRIVATE ${ZMQ_INCLUDE_DIRS})
target_link_libraries(cslib PUBLIC ${ZMQ_LIBRARIES})
else()
target_compile_definitions(cslib PRIVATE -DZMQ_NO)
target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ)
endif()
list(APPEND LAMMPS_LINK_LIBS cslib)
include_directories(${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src)
if(LAMMPS_SIZES STREQUAL BIGBIG)
message(FATAL_ERROR "The MESSAGE Package is not compatible with -DLAMMPS_BIGBIG")
endif()
option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF)
file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.F
${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.c
${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.cpp)
add_library(cslib STATIC ${cslib_SOURCES})
target_compile_definitions(cslib PRIVATE -DLAMMPS_${LAMMPS_SIZES})
set_target_properties(cslib PROPERTIES OUTPUT_NAME lammps_cslib${LAMMPS_MACHINE})
if(BUILD_MPI)
target_compile_definitions(cslib PRIVATE -DMPI_YES)
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi")
target_link_libraries(cslib PRIVATE MPI::MPI_CXX)
else()
target_compile_definitions(cslib PRIVATE -DMPI_NO)
target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_MPI)
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi")
endif()
if(MESSAGE_ZMQ)
target_compile_definitions(cslib PRIVATE -DZMQ_YES)
find_package(ZMQ REQUIRED)
target_link_libraries(cslib PUBLIC ZMQ::ZMQ)
else()
target_compile_definitions(cslib PRIVATE -DZMQ_NO)
target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ)
endif()
target_link_libraries(lammps PRIVATE cslib)
target_include_directories(lammps PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src)

View File

@ -1,45 +1,45 @@
if(PKG_MSCG)
find_package(GSL REQUIRED)
find_package(MSCG QUIET)
if(MSGC_FOUND)
set(DOWNLOAD_MSCG_DEFAULT OFF)
else()
set(DOWNLOAD_MSCG_DEFAULT ON)
endif()
option(DOWNLOAD_MSCG "Download MSCG library instead of using an already installed one)" ${DOWNLOAD_MSCG_DEFAULT})
if(DOWNLOAD_MSCG)
if (CMAKE_VERSION VERSION_LESS "3.7") # due to SOURCE_SUBDIR
message(FATAL_ERROR "For downlading MSCG you need at least cmake-3.7")
endif()
if(CMAKE_GENERATOR STREQUAL "Ninja")
message(FATAL_ERROR "Cannot build downloaded MSCG library with Ninja build tool")
endif()
include(ExternalProject)
if(NOT LAPACK_FOUND)
set(EXTRA_MSCG_OPTS "-DLAPACK_LIBRARIES=${CMAKE_CURRENT_BINARY_DIR}/liblinalg.a")
endif()
ExternalProject_Add(mscg_build
URL https://github.com/uchicago-voth/MSCG-release/archive/1.7.3.1.tar.gz
URL_MD5 8c45e269ee13f60b303edd7823866a91
SOURCE_SUBDIR src/CMake
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> ${CMAKE_REQUEST_PIC} ${EXTRA_MSCG_OPTS}
BUILD_COMMAND make mscg INSTALL_COMMAND ""
)
ExternalProject_get_property(mscg_build BINARY_DIR)
set(MSCG_LIBRARIES ${BINARY_DIR}/libmscg.a)
ExternalProject_get_property(mscg_build SOURCE_DIR)
set(MSCG_INCLUDE_DIRS ${SOURCE_DIR}/src)
list(APPEND LAMMPS_DEPS mscg_build)
if(NOT LAPACK_FOUND)
file(MAKE_DIRECTORY ${MSCG_INCLUDE_DIRS})
add_dependencies(mscg_build linalg)
endif()
else()
find_package(MSCG)
if(NOT MSCG_FOUND)
message(FATAL_ERROR "MSCG not found, help CMake to find it by setting MSCG_LIBRARY and MSCG_INCLUDE_DIRS, or set DOWNLOAD_MSCG=ON to download it")
endif()
endif()
list(APPEND LAMMPS_LINK_LIBS ${MSCG_LIBRARIES} ${GSL_LIBRARIES} ${LAPACK_LIBRARIES})
include_directories(${MSCG_INCLUDE_DIRS})
find_package(GSL REQUIRED)
find_package(MSCG QUIET)
if(MSGC_FOUND)
set(DOWNLOAD_MSCG_DEFAULT OFF)
else()
set(DOWNLOAD_MSCG_DEFAULT ON)
endif()
option(DOWNLOAD_MSCG "Download MSCG library instead of using an already installed one)" ${DOWNLOAD_MSCG_DEFAULT})
if(DOWNLOAD_MSCG)
include(ExternalProject)
ExternalProject_Add(mscg_build
URL https://github.com/uchicago-voth/MSCG-release/archive/1.7.3.1.tar.gz
URL_MD5 8c45e269ee13f60b303edd7823866a91
SOURCE_SUBDIR src/CMake
CMAKE_ARGS ${CMAKE_REQUEST_PIC} ${EXTRA_MSCG_OPTS}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER}
-DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES}
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
BUILD_COMMAND ${CMAKE_COMMAND} --build . --target mscg
INSTALL_COMMAND ""
BUILD_BYPRODUCTS <BINARY_DIR>/libmscg.a
)
ExternalProject_get_property(mscg_build BINARY_DIR)
ExternalProject_get_property(mscg_build SOURCE_DIR)
file(MAKE_DIRECTORY ${SOURCE_DIR}/src)
add_library(LAMMPS::MSCG UNKNOWN IMPORTED)
set_target_properties(LAMMPS::MSCG PROPERTIES
IMPORTED_LOCATION "${BINARY_DIR}/libmscg.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/src"
INTERFACE_LINK_LIBRARIES "${LAPACK_LIBRARIES}")
target_link_libraries(lammps PRIVATE LAMMPS::MSCG)
add_dependencies(LAMMPS::MSCG mscg_build)
else()
find_package(MSCG)
if(NOT MSCG_FOUND)
message(FATAL_ERROR "MSCG not found, help CMake to find it by setting MSCG_LIBRARY and MSCG_INCLUDE_DIRS, or set DOWNLOAD_MSCG=ON to download it")
endif()
target_link_libraries(lammps PRIVATE MSCG::MSCG)
endif()
target_link_libraries(lammps PRIVATE GSL::gsl ${LAPACK_LIBRARIES})

View File

@ -1,13 +1,11 @@
if(PKG_OPT)
set(OPT_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/OPT)
set(OPT_SOURCES)
set_property(GLOBAL PROPERTY "OPT_SOURCES" "${OPT_SOURCES}")
set(OPT_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/OPT)
set(OPT_SOURCES)
set_property(GLOBAL PROPERTY "OPT_SOURCES" "${OPT_SOURCES}")
# detects styles which have OPT version
RegisterStylesExt(${OPT_SOURCES_DIR} opt OPT_SOURCES)
# detects styles which have OPT version
RegisterStylesExt(${OPT_SOURCES_DIR} opt OPT_SOURCES)
get_property(OPT_SOURCES GLOBAL PROPERTY OPT_SOURCES)
get_property(OPT_SOURCES GLOBAL PROPERTY OPT_SOURCES)
list(APPEND LIB_SOURCES ${OPT_SOURCES})
include_directories(${OPT_SOURCES_DIR})
endif()
target_sources(lammps PRIVATE ${OPT_SOURCES})
target_include_directories(lammps PRIVATE ${OPT_SOURCES_DIR})

View File

@ -1,6 +1,9 @@
if(PKG_PYTHON)
find_package(PythonLibs REQUIRED)
add_definitions(-DLMP_PYTHON)
include_directories(${PYTHON_INCLUDE_DIR})
list(APPEND LAMMPS_LINK_LIBS ${PYTHON_LIBRARY})
if(CMAKE_VERSION VERSION_LESS 3.12)
find_package(PythonLibs REQUIRED) # Deprecated since version 3.12
target_include_directories(lammps PRIVATE ${PYTHON_INCLUDE_DIR})
target_link_libraries(lammps PRIVATE ${PYTHON_LIBRARY})
else()
find_package(Python REQUIRED COMPONENTS Development)
target_link_libraries(lammps PRIVATE Python::Python)
endif()
target_compile_definitions(lammps PRIVATE -DLMP_PYTHON)

View File

@ -1,20 +1,18 @@
# Fix qeq/fire requires MANYBODY (i.e. COMB and COMB3) to be installed
if(PKG_QEQ)
set(QEQ_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/QEQ)
file(GLOB QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix*.h)
file(GLOB QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix*.cpp)
set(QEQ_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/QEQ)
file(GLOB QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix*.h)
file(GLOB QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix*.cpp)
if(NOT PKG_MANYBODY)
list(REMOVE_ITEM QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix_qeq_fire.h)
list(REMOVE_ITEM QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp)
endif()
set_property(GLOBAL PROPERTY "QEQ_SOURCES" "${QEQ_SOURCES}")
foreach(MY_HEADER ${QEQ_HEADERS})
AddStyleHeader(${MY_HEADER} FIX)
endforeach()
get_property(QEQ_SOURCES GLOBAL PROPERTY QEQ_SOURCES)
list(APPEND LIB_SOURCES ${QEQ_SOURCES})
include_directories(${QEQ_SOURCES_DIR})
if(NOT PKG_MANYBODY)
list(REMOVE_ITEM QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix_qeq_fire.h)
list(REMOVE_ITEM QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp)
endif()
set_property(GLOBAL PROPERTY "QEQ_SOURCES" "${QEQ_SOURCES}")
foreach(MY_HEADER ${QEQ_HEADERS})
AddStyleHeader(${MY_HEADER} FIX)
endforeach()
get_property(QEQ_SOURCES GLOBAL PROPERTY QEQ_SOURCES)
target_sources(lammps PRIVATE ${QEQ_SOURCES})
target_include_directories(lammps PRIVATE ${QEQ_SOURCES_DIR})

View File

@ -1,42 +1,30 @@
if(PKG_USER-COLVARS)
set(COLVARS_SOURCE_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars)
set(COLVARS_SOURCE_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars)
file(GLOB COLVARS_SOURCES ${COLVARS_SOURCE_DIR}/[^.]*.cpp)
file(GLOB COLVARS_SOURCES ${COLVARS_SOURCE_DIR}/[^.]*.cpp)
# Build Lepton by default
set(COLVARS_LEPTON_DEFAULT ON)
# but not if C++11 is disabled per user request
if(DEFINED DISABLE_CXX11_REQUIREMENT)
if(DISABLE_CXX11_REQUIREMENT)
set(COLVARS_LEPTON_DEFAULT OFF)
endif()
endif()
option(COLVARS_LEPTON "Build and link the Lepton library" ${COLVARS_LEPTON_DEFAULT})
# Verify that the user's choice is consistent
if(DEFINED DISABLE_CXX11_REQUIREMENT)
if((DISABLE_CXX11_REQUIREMENT) AND (COLVARS_LEPTON))
message(FATAL_ERROR "Building the Lepton library requires C++11 or later.")
endif()
endif()
if(COLVARS_LEPTON)
set(LEPTON_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars/lepton)
file(GLOB LEPTON_SOURCES ${LEPTON_DIR}/src/[^.]*.cpp)
add_library(lepton STATIC ${LEPTON_SOURCES})
target_include_directories(lepton PRIVATE ${LEPTON_DIR}/include)
endif()
add_library(colvars STATIC ${COLVARS_SOURCES})
target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars)
list(APPEND LAMMPS_LINK_LIBS colvars)
if(COLVARS_LEPTON)
list(APPEND LAMMPS_LINK_LIBS lepton)
target_compile_options(colvars PRIVATE -DLEPTON)
target_include_directories(colvars PUBLIC ${LEPTON_DIR}/include)
endif()
# Build Lepton by default
option(COLVARS_LEPTON "Build and link the Lepton library" ON)
if(COLVARS_LEPTON)
set(LEPTON_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars/lepton)
file(GLOB LEPTON_SOURCES ${LEPTON_DIR}/src/[^.]*.cpp)
add_library(lepton STATIC ${LEPTON_SOURCES})
# Change the define below to LEPTON_BUILDING_SHARED_LIBRARY when linking Lepton as a DLL with MSVC
target_compile_definitions(lepton PRIVATE -DLEPTON_BUILDING_STATIC_LIBRARY)
set_target_properties(lepton PROPERTIES OUTPUT_NAME lammps_lepton${LAMMPS_MACHINE})
target_include_directories(lepton PRIVATE ${LEPTON_DIR}/include)
endif()
add_library(colvars STATIC ${COLVARS_SOURCES})
target_compile_definitions(colvars PRIVATE -DLAMMPS_${LAMMPS_SIZES})
set_target_properties(colvars PROPERTIES OUTPUT_NAME lammps_colvars${LAMMPS_MACHINE})
target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars)
target_link_libraries(lammps PRIVATE colvars)
if(COLVARS_LEPTON)
target_link_libraries(lammps PRIVATE lepton)
target_compile_definitions(colvars PRIVATE -DLEPTON)
# Disable the line below when linking Lepton as a DLL with MSVC
target_compile_definitions(colvars PRIVATE -DLEPTON_USE_STATIC_LIBRARIES)
target_include_directories(colvars PUBLIC ${LEPTON_DIR}/include)
endif()

View File

@ -1,8 +1,5 @@
if(PKG_USER-H5MD)
enable_language(C)
enable_language(C)
find_package(HDF5 REQUIRED)
target_link_libraries(h5md ${HDF5_LIBRARIES})
target_include_directories(h5md PRIVATE ${HDF5_INCLUDE_DIRS})
include_directories(${HDF5_INCLUDE_DIRS})
endif()
find_package(HDF5 REQUIRED)
target_link_libraries(h5md PRIVATE ${HDF5_LIBRARIES})
target_include_directories(h5md PUBLIC ${HDF5_INCLUDE_DIRS})

View File

@ -1,118 +1,109 @@
if(PKG_USER-INTEL)
check_include_file_cxx(immintrin.h FOUND_IMMINTRIN)
if(NOT FOUND_IMMINTRIN)
message(FATAL_ERROR "immintrin.h header not found, Intel package won't work without it")
endif()
add_definitions(-DLMP_USER_INTEL)
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)")
set(INTEL_ARCH_VALUES cpu knl)
set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES})
validate_option(INTEL_ARCH INTEL_ARCH_VALUES)
string(TOUPPER ${INTEL_ARCH} INTEL_ARCH)
find_package(Threads QUIET)
if(Threads_FOUND)
set(INTEL_LRT_MODE "threads" CACHE STRING "Long-range threads mode (none, threads, or c++11)")
else()
set(INTEL_LRT_MODE "none" CACHE STRING "Long-range threads mode (none, threads, or c++11)")
endif()
set(INTEL_LRT_VALUES none threads c++11)
set_property(CACHE INTEL_LRT_MODE PROPERTY STRINGS ${INTEL_LRT_VALUES})
validate_option(INTEL_LRT_MODE INTEL_LRT_VALUES)
string(TOUPPER ${INTEL_LRT_MODE} INTEL_LRT_MODE)
if(INTEL_LRT_MODE STREQUAL "THREADS")
if(Threads_FOUND)
add_definitions(-DLMP_INTEL_USELRT)
list(APPEND LAMMPS_LINK_LIBS ${CMAKE_THREAD_LIBS_INIT})
else()
message(FATAL_ERROR "Must have working threads library for Long-range thread support")
endif()
endif()
if(INTEL_LRT_MODE STREQUAL "C++11")
add_definitions(-DLMP_INTEL_USERLRT -DLMP_INTEL_LRT11)
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
message(FATAL_ERROR "USER-INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
endif()
else()
message(WARNING "USER-INTEL gives best performance with Intel compilers")
endif()
find_package(TBB QUIET)
if(TBB_FOUND)
list(APPEND LAMMPS_LINK_LIBS ${TBB_MALLOC_LIBRARIES})
else()
add_definitions(-DLMP_INTEL_NO_TBB)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
message(WARNING "USER-INTEL with Intel compilers should use TBB malloc libraries")
endif()
endif()
find_package(MKL QUIET)
if(MKL_FOUND)
add_definitions(-DLMP_USE_MKL_RNG)
list(APPEND LAMMPS_LINK_LIBS ${MKL_LIBRARIES})
else()
message(STATUS "Pair style dpd/intel will be faster with MKL libraries")
endif()
if((NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "64") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "128") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "256"))
message(FATAL_ERROR "USER-INTEL only supports memory alignment of 64, 128 or 256 on this platform")
endif()
if(INTEL_ARCH STREQUAL "KNL")
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
message(FATAL_ERROR "Must use Intel compiler with USER-INTEL for KNL architecture")
endif()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload")
set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"")
add_compile_options(-xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS})
add_definitions(-DLMP_INTEL_OFFLOAD)
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xCOMMON-AVX512")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xHost")
endif()
include(CheckCXXCompilerFlag)
foreach(_FLAG -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high -qno-offload -fno-alias -ansi-alias -restrict)
check_cxx_compiler_flag("${__FLAG}" COMPILER_SUPPORTS${_FLAG})
if(COMPILER_SUPPORTS${_FLAG})
add_compile_options(${_FLAG})
endif()
endforeach()
else()
add_compile_options(-O3 -ffast-math)
endif()
endif()
# collect sources
set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL)
set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/fix_intel.cpp
${USER-INTEL_SOURCES_DIR}/fix_nh_intel.cpp
${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp
${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp)
set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}")
# detect styles which have a USER-INTEL version
RegisterStylesExt(${USER-INTEL_SOURCES_DIR} intel USER-INTEL_SOURCES)
RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h)
RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h)
RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h)
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
if(PKG_KSPACE)
list(APPEND USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
endif()
list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES})
include_directories(${USER-INTEL_SOURCES_DIR})
check_include_file_cxx(immintrin.h FOUND_IMMINTRIN)
if(NOT FOUND_IMMINTRIN)
message(FATAL_ERROR "immintrin.h header not found, Intel package won't work without it")
endif()
target_compile_definitions(lammps PRIVATE -DLMP_USER_INTEL)
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)")
set(INTEL_ARCH_VALUES cpu knl)
set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES})
validate_option(INTEL_ARCH INTEL_ARCH_VALUES)
string(TOUPPER ${INTEL_ARCH} INTEL_ARCH)
find_package(Threads QUIET)
if(Threads_FOUND)
set(INTEL_LRT_MODE "threads" CACHE STRING "Long-range threads mode (none, threads, or c++11)")
else()
set(INTEL_LRT_MODE "none" CACHE STRING "Long-range threads mode (none, threads, or c++11)")
endif()
set(INTEL_LRT_VALUES none threads c++11)
set_property(CACHE INTEL_LRT_MODE PROPERTY STRINGS ${INTEL_LRT_VALUES})
validate_option(INTEL_LRT_MODE INTEL_LRT_VALUES)
string(TOUPPER ${INTEL_LRT_MODE} INTEL_LRT_MODE)
if(INTEL_LRT_MODE STREQUAL "THREADS")
if(Threads_FOUND)
target_compile_definitions(lammps PRIVATE -DLMP_INTEL_USELRT)
target_link_libraries(lammps PRIVATE Threads::Threads)
else()
message(FATAL_ERROR "Must have working threads library for Long-range thread support")
endif()
endif()
if(INTEL_LRT_MODE STREQUAL "C++11")
target_compile_definitions(lammps PRIVATE -DLMP_INTEL_USELRT -DLMP_INTEL_LRT11)
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
message(FATAL_ERROR "USER-INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
endif()
else()
message(WARNING "USER-INTEL gives best performance with Intel compilers")
endif()
find_package(TBB_MALLOC QUIET)
if(TBB_MALLOC_FOUND)
target_link_libraries(lammps PRIVATE TBB::TBB_MALLOC)
else()
target_compile_definitions(lammps PRIVATE -DLMP_INTEL_NO_TBB)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
message(WARNING "USER-INTEL with Intel compilers should use TBB malloc libraries")
endif()
endif()
find_package(MKL QUIET)
if(MKL_FOUND)
target_compile_definitions(lammps PRIVATE -DLMP_USE_MKL_RNG)
target_link_libraries(lammps PRIVATE MKL::MKL)
else()
message(STATUS "Pair style dpd/intel will be faster with MKL libraries")
endif()
if((NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "64") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "128") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "256"))
message(FATAL_ERROR "USER-INTEL only supports memory alignment of 64, 128 or 256 on this platform")
endif()
if(INTEL_ARCH STREQUAL "KNL")
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
message(FATAL_ERROR "Must use Intel compiler with USER-INTEL for KNL architecture")
endif()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload")
set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"")
target_compile_options(lammps PRIVATE -xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS})
target_compile_definitions(lammps PRIVATE -DLMP_INTEL_OFFLOAD)
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
include(CheckCXXCompilerFlag)
foreach(_FLAG -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high -qno-offload -fno-alias -ansi-alias -restrict)
check_cxx_compiler_flag("${_FLAG}" COMPILER_SUPPORTS${_FLAG})
if(COMPILER_SUPPORTS${_FLAG})
target_compile_options(lammps PRIVATE ${_FLAG})
endif()
endforeach()
endif()
endif()
# collect sources
set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL)
set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/fix_intel.cpp
${USER-INTEL_SOURCES_DIR}/fix_nh_intel.cpp
${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp
${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp)
set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}")
# detect styles which have a USER-INTEL version
RegisterStylesExt(${USER-INTEL_SOURCES_DIR} intel USER-INTEL_SOURCES)
RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h)
RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h)
RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h)
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
if(PKG_KSPACE)
list(APPEND USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
endif()
target_sources(lammps PRIVATE ${USER-INTEL_SOURCES})
target_include_directories(lammps PRIVATE ${USER-INTEL_SOURCES_DIR})

View File

@ -1,14 +1,8 @@
if(PKG_USER-MOLFILE)
if (CMAKE_VERSION VERSION_LESS "3.10") # due to INTERFACE without a library
message(FATAL_ERROR "For configuring USER-MOLFILE you need CMake 3.10 or later")
endif()
set(MOLFILE_INCLUDE_DIRS "${LAMMPS_LIB_SOURCE_DIR}/molfile" CACHE STRING "Path to VMD molfile plugin headers")
add_library(molfile INTERFACE)
target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIRS})
# no need to link with -ldl on windows
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS})
endif()
list(APPEND LAMMPS_LINK_LIBS molfile)
set(MOLFILE_INCLUDE_DIRS "${LAMMPS_LIB_SOURCE_DIR}/molfile" CACHE STRING "Path to VMD molfile plugin headers")
add_library(molfile INTERFACE)
target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIRS})
# no need to link with -ldl on windows
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS})
endif()
target_link_libraries(lammps PRIVATE molfile)

View File

@ -1,6 +1,26 @@
if(PKG_USER-NETCDF)
# USER-NETCDF can use NetCDF, Parallel NetCDF (PNetCDF), or both. At least one necessary.
# NetCDF library enables dump style "netcdf", while PNetCDF enables dump style "netcdf/mpiio"
# may use NetCDF or PNetCDF with MPI, but must have NetCDF without
if(NOT BUILD_MPI)
find_package(NetCDF REQUIRED)
include_directories(${NETCDF_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARIES})
add_definitions(-DLMP_HAS_NETCDF -DNC_64BIT_DATA=0x0020)
else()
find_package(NetCDF)
if(NETCDF_FOUND)
find_package(PNetCDF)
else()
find_package(PNetCDF REQUIRED)
endif()
endif()
if(NETCDF_FOUND)
target_link_libraries(lammps PRIVATE NetCDF::NetCDF)
target_compile_definitions(lammps PRIVATE -DLMP_HAS_NETCDF)
endif(NETCDF_FOUND)
if(PNETCDF_FOUND)
target_link_libraries(lammps PRIVATE PNetCDF::PNetCDF)
target_compile_definitions(lammps PRIVATE -DLMP_HAS_PNETCDF)
endif(PNETCDF_FOUND)
target_compile_definitions(lammps PRIVATE -DNC_64BIT_DATA=0x0020)

View File

@ -1,42 +1,40 @@
if(PKG_USER-OMP)
set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP)
set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp
${USER-OMP_SOURCES_DIR}/thr_omp.cpp
${USER-OMP_SOURCES_DIR}/fix_omp.cpp
${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp
${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
${USER-OMP_SOURCES_DIR}/domain_omp.cpp)
add_definitions(-DLMP_USER_OMP)
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}")
set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP)
set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp
${USER-OMP_SOURCES_DIR}/thr_omp.cpp
${USER-OMP_SOURCES_DIR}/fix_omp.cpp
${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp
${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
${USER-OMP_SOURCES_DIR}/domain_omp.cpp)
target_compile_definitions(lammps PRIVATE -DLMP_USER_OMP)
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}")
# detects styles which have USER-OMP version
RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES)
RegisterFixStyle(${USER-OMP_SOURCES_DIR}/fix_omp.h)
# detects styles which have USER-OMP version
RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES)
RegisterFixStyle(${USER-OMP_SOURCES_DIR}/fix_omp.h)
get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
# manually add package dependent source files from USER-OMP that do not provide styles
# manually add package dependent source files from USER-OMP that do not provide styles
if(PKG_ASPHERE)
list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp)
endif()
if(PKG_ASPHERE)
list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp)
endif()
if(PKG_RIGID)
list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp)
endif()
if(PKG_RIGID)
list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp)
endif()
if(PKG_USER-REAXC)
list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_bonds_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_init_md_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_forces_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp)
endif()
if(PKG_USER-REAXC)
list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_bonds_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_init_md_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_forces_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp
${USER-OMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp)
endif()
list(APPEND LIB_SOURCES ${USER-OMP_SOURCES})
include_directories(${USER-OMP_SOURCES_DIR})
endif()
target_sources(lammps PRIVATE ${USER-OMP_SOURCES})
target_include_directories(lammps PRIVATE ${USER-OMP_SOURCES_DIR})

View File

@ -1,91 +1,98 @@
if(PKG_USER-PLUMED)
set(PLUMED_MODE "static" CACHE STRING "Linkage mode for Plumed2 library")
set(PLUMED_MODE_VALUES static shared runtime)
set_property(CACHE PLUMED_MODE PROPERTY STRINGS ${PLUMED_MODE_VALUES})
validate_option(PLUMED_MODE PLUMED_MODE_VALUES)
string(TOUPPER ${PLUMED_MODE} PLUMED_MODE)
set(PLUMED_MODE "static" CACHE STRING "Linkage mode for Plumed2 library")
set(PLUMED_MODE_VALUES static shared runtime)
set_property(CACHE PLUMED_MODE PROPERTY STRINGS ${PLUMED_MODE_VALUES})
validate_option(PLUMED_MODE PLUMED_MODE_VALUES)
string(TOUPPER ${PLUMED_MODE} PLUMED_MODE)
set(PLUMED_LINK_LIBS "")
if(PLUMED_MODE STREQUAL "STATIC")
find_package(LAPACK REQUIRED)
find_package(BLAS REQUIRED)
find_package(GSL REQUIRED)
list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES})
list(APPEND PLUMED_LINK_LIBS ${LAPACK_LIBRARIES} ${GSL_LIBRARIES})
find_package(ZLIB QUIET)
if(ZLIB_FOUND)
list(APPEND PLUMED_LINK_LIBS ${ZLIB_LIBRARIES})
endif()
set(PLUMED_LINK_LIBS)
if(PLUMED_MODE STREQUAL "STATIC")
find_package(LAPACK REQUIRED)
find_package(BLAS REQUIRED)
find_package(GSL REQUIRED)
list(APPEND PLUMED_LINK_LIBS ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} GSL::gsl)
find_package(ZLIB QUIET)
if(ZLIB_FOUND)
list(APPEND PLUMED_LINK_LIBS ZLIB::ZLIB)
endif()
find_package(PkgConfig QUIET)
set(DOWNLOAD_PLUMED_DEFAULT ON)
if(PKG_CONFIG_FOUND)
pkg_check_modules(PLUMED QUIET plumed)
if(PLUMED_FOUND)
set(DOWNLOAD_PLUMED_DEFAULT OFF)
endif()
find_package(FFTW3 QUIET)
if(FFTW3_FOUND)
list(APPEND PLUMED_LINK_LIBS FFTW3::FFTW3)
endif()
option(DOWNLOAD_PLUMED "Download Plumed package instead of using an already installed one" ${DOWNLOAD_PLUMED_DEFAULT})
if(DOWNLOAD_PLUMED)
if(CMAKE_GENERATOR STREQUAL "Ninja")
message(FATAL_ERROR "Cannot build downloaded Plumed library with Ninja build tool")
endif()
if(BUILD_MPI)
set(PLUMED_CONFIG_MPI "--enable-mpi")
set(PLUMED_CONFIG_CC ${CMAKE_MPI_C_COMPILER})
set(PLUMED_CONFIG_CXX ${CMAKE_MPI_CXX_COMPILER})
else()
set(PLUMED_CONFIG_MPI "--disable-mpi")
set(PLUMED_CONFIG_CC ${CMAKE_C_COMPILER})
set(PLUMED_CONFIG_CXX ${CMAKE_CXX_COMPILER})
endif()
if(BUILD_OMP)
set(PLUMED_CONFIG_OMP "--enable-openmp")
else()
set(PLUMED_CONFIG_OMP "--disable-openmp")
endif()
message(STATUS "PLUMED download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(plumed_build
URL https://github.com/plumed/plumed2/releases/download/v2.5.3/plumed-src-2.5.3.tgz
URL_MD5 de30d6e7c2dcc0973298e24a6da24286
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
${CONFIGURE_REQUEST_PIC}
--enable-modules=all
${PLUMED_CONFIG_MPI}
${PLUMED_CONFIG_OMP}
CXX=${PLUMED_CONFIG_CXX}
CC=${PLUMED_CONFIG_CC}
)
ExternalProject_get_property(plumed_build INSTALL_DIR)
set(PLUMED_INSTALL_DIR ${INSTALL_DIR})
list(APPEND LAMMPS_DEPS plumed_build)
if(PLUMED_MODE STREQUAL "STATIC")
add_definitions(-D__PLUMED_WRAPPER_CXX=1)
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.a ${PLUMED_LINK_LIBS} ${CMAKE_DL_LIBS})
elseif(PLUMED_MODE STREQUAL "SHARED")
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed${CMAKE_SHARED_LIBRARY_SUFFIX} ${PLUMED_INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_DL_LIBS})
elseif(PLUMED_MODE STREQUAL "RUNTIME")
add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX})
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumedWrapper.a -rdynamic ${CMAKE_DL_LIBS})
endif()
set(PLUMED_INCLUDE_DIRS "${PLUMED_INSTALL_DIR}/include")
else()
find_package(PkgConfig REQUIRED)
pkg_check_modules(PLUMED REQUIRED plumed)
if(PLUMED_MODE STREQUAL "STATIC")
add_definitions(-D__PLUMED_WRAPPER_CXX=1)
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.static)
elseif(PLUMED_MODE STREQUAL "SHARED")
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.shared)
elseif(PLUMED_MODE STREQUAL "RUNTIME")
add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_LIBDIR}/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX})
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.runtime)
endif()
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_LOAD})
endif()
include_directories(${PLUMED_INCLUDE_DIRS})
endif()
find_package(PkgConfig QUIET)
set(DOWNLOAD_PLUMED_DEFAULT ON)
if(PKG_CONFIG_FOUND)
pkg_check_modules(PLUMED QUIET plumed)
if(PLUMED_FOUND)
set(DOWNLOAD_PLUMED_DEFAULT OFF)
endif()
endif()
option(DOWNLOAD_PLUMED "Download Plumed package instead of using an already installed one" ${DOWNLOAD_PLUMED_DEFAULT})
if(DOWNLOAD_PLUMED)
if(BUILD_MPI)
set(PLUMED_CONFIG_MPI "--enable-mpi")
set(PLUMED_CONFIG_CC ${CMAKE_MPI_C_COMPILER})
set(PLUMED_CONFIG_CXX ${CMAKE_MPI_CXX_COMPILER})
else()
set(PLUMED_CONFIG_MPI "--disable-mpi")
set(PLUMED_CONFIG_CC ${CMAKE_C_COMPILER})
set(PLUMED_CONFIG_CXX ${CMAKE_CXX_COMPILER})
endif()
if(BUILD_OMP)
set(PLUMED_CONFIG_OMP "--enable-openmp")
else()
set(PLUMED_CONFIG_OMP "--disable-openmp")
endif()
message(STATUS "PLUMED download requested - we will build our own")
if(PLUMED_MODE STREQUAL "STATIC")
set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumed.a")
elseif(PLUMED_MODE STREQUAL "SHARED")
set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumed${CMAKE_SHARED_LIBRARY_SUFFIX};<INSTALL_DIR>/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}")
elseif(PLUMED_MODE STREQUAL "RUNTIME")
set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumedWrapper.a")
endif()
include(ExternalProject)
ExternalProject_Add(plumed_build
URL https://github.com/plumed/plumed2/releases/download/v2.6.0/plumed-src-2.6.0.tgz
URL_MD5 204d2edae58d9b10ba3ad460cad64191
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
${CONFIGURE_REQUEST_PIC}
--enable-modules=all
${PLUMED_CONFIG_MPI}
${PLUMED_CONFIG_OMP}
CXX=${PLUMED_CONFIG_CXX}
CC=${PLUMED_CONFIG_CC}
BUILD_BYPRODUCTS ${PLUMED_BUILD_BYPRODUCTS}
)
ExternalProject_get_property(plumed_build INSTALL_DIR)
add_library(LAMMPS::PLUMED UNKNOWN IMPORTED)
add_dependencies(LAMMPS::PLUMED plumed_build)
if(PLUMED_MODE STREQUAL "STATIC")
set_target_properties(LAMMPS::PLUMED PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/lib/libplumed.a INTERFACE_LINK_LIBRARIES "${PLUMED_LINK_LIBS};${CMAKE_DL_LIBS}")
elseif(PLUMED_MODE STREQUAL "SHARED")
set_target_properties(LAMMPS::PLUMED PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/lib/libplumed${CMAKE_SHARED_LIBRARY_SUFFIX} INTERFACE_LINK_LIBRARIES "${INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX};${CMAKE_DL_LIBS}")
elseif(PLUMED_MODE STREQUAL "RUNTIME")
set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_COMPILE_DEFINITIONS "__PLUMED_DEFAULT_KERNEL=${INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}")
set_target_properties(LAMMPS::PLUMED PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/lib/libplumedWrapper.a INTERFACE_LINK_LIBRARIES "${CMAKE_DL_LIBS}")
endif()
set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
else()
find_package(PkgConfig REQUIRED)
pkg_check_modules(PLUMED REQUIRED plumed)
add_library(LAMMPS::PLUMED INTERFACE IMPORTED)
if(PLUMED_MODE STREQUAL "STATIC")
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.static)
elseif(PLUMED_MODE STREQUAL "SHARED")
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.shared)
elseif(PLUMED_MODE STREQUAL "RUNTIME")
set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_COMPILE_DEFINITIONS "__PLUMED_DEFAULT_KERNEL=${PLUMED_LIBDIR}/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}")
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.runtime)
endif()
set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_LINK_LIBRARIES "${PLUMED_LOAD}")
set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${PLUMED_INCLUDE_DIRS}")
endif()
target_link_libraries(lammps PRIVATE LAMMPS::PLUMED)

View File

@ -1,9 +1,6 @@
if(PKG_USER-QMMM)
enable_language(Fortran)
enable_language(C)
enable_language(C)
message(WARNING "Building QMMM with CMake is still experimental")
find_package(QE REQUIRED)
include_directories(${QE_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${QE_LIBRARIES})
endif()
add_library(qmmm STATIC ${LAMMPS_LIB_SOURCE_DIR}/qmmm/libqmmm.c)
set_target_properties(qmmm PROPERTIES OUTPUT_NAME lammps_qmmm${LAMMPS_MACHINE})
target_link_libraries(lammps PRIVATE qmmm)
target_include_directories(qmmm PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/qmmm)

View File

@ -1,5 +1,3 @@
if(PKG_USER-QUIP)
enable_language(Fortran)
find_package(QUIP REQUIRED)
list(APPEND LAMMPS_LINK_LIBS ${QUIP_LIBRARIES} ${LAPACK_LIBRARIES})
endif()
enable_language(Fortran)
find_package(QUIP REQUIRED)
target_link_libraries(lammps PRIVATE QUIP::QUIP ${LAPACK_LIBRARIES})

View File

@ -1,62 +1,82 @@
if(PKG_USER-SCAFACOS)
enable_language(Fortran)
enable_language(C)
enable_language(Fortran)
enable_language(C)
find_package(GSL REQUIRED)
find_package(PkgConfig QUIET)
set(DOWNLOAD_SCAFACOS_DEFAULT ON)
if(PKG_CONFIG_FOUND)
pkg_check_modules(SCAFACOS QUIET scafacos)
if(SCAFACOS_FOUND)
set(DOWNLOAD_SCAFACOS_DEFAULT OFF)
endif()
find_package(GSL REQUIRED)
find_package(PkgConfig QUIET)
find_package(MPI REQUIRED)
set(DOWNLOAD_SCAFACOS_DEFAULT ON)
if(PKG_CONFIG_FOUND)
pkg_check_modules(SCAFACOS QUIET scafacos)
if(SCAFACOS_FOUND)
set(DOWNLOAD_SCAFACOS_DEFAULT OFF)
endif()
option(DOWNLOAD_SCAFACOS "Download ScaFaCoS library instead of using an already installed one" ${DOWNLOAD_SCAFACOS_DEFAULT})
if(DOWNLOAD_SCAFACOS)
if(CMAKE_GENERATOR STREQUAL "Ninja")
message(FATAL_ERROR "Cannot build downloaded ScaFaCoS library with Ninja build tool")
endif()
message(STATUS "ScaFaCoS download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(scafacos_build
URL https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz
URL_MD5 bd46d74e3296bd8a444d731bb10c1738
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --disable-doc
--enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m
--with-internal-fftw --with-internal-pfft
--with-internal-pnfft ${CONFIGURE_REQUEST_PIC}
FC=${CMAKE_MPI_Fortran_COMPILER}
CXX=${CMAKE_MPI_CXX_COMPILER}
CC=${CMAKE_MPI_C_COMPILER}
F77=
)
ExternalProject_get_property(scafacos_build INSTALL_DIR)
set(SCAFACOS_BUILD_DIR ${INSTALL_DIR})
set(SCAFACOS_INCLUDE_DIRS ${SCAFACOS_BUILD_DIR}/include)
list(APPEND LAMMPS_DEPS scafacos_build)
# list and order from pkg_config file of ScaFaCoS build
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_direct.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_ewald.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fmm.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p2nfft.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p3m.a)
list(APPEND LAMMPS_LINK_LIBS ${GSL_LIBRARIES})
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_near.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_gridsort.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_resort.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_redist.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_common.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pnfft.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pfft.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3_mpi.a)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3.a)
list(APPEND LAMMPS_LINK_LIBS ${MPI_Fortran_LIBRARIES})
list(APPEND LAMMPS_LINK_LIBS ${MPI_C_LIBRARIES})
else()
find_package(PkgConfig REQUIRED)
pkg_check_modules(SCAFACOS REQUIRED scafacos)
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_LDFLAGS})
endif()
include_directories(${SCAFACOS_INCLUDE_DIRS})
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")
# create variables to pass our compiler flags along to the subsystem compile
# need to apply -fallow-argument-mismatch, if the fortran compiler supports it
include(CheckFortranCompilerFlag)
check_fortran_compiler_flag("-fallow-argument-mismatch" GNUFortran_ARGUMENT_MISMATCH_FLAG)
if(GNUFortran_ARGUMENT_MISMATCH_FLAG)
set(APPEND_Fortran_FLAG "-fallow-argument-mismatch")
endif()
if(CMAKE_Fortran_FLAGS)
set(SCAFACOS_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${APPEND_Fortran_FLAG}")
else()
set(SCAFACOS_Fortran_FLAGS "${CMAKE_Fortran_${CMAKE_BUILD_TYPE}_FLAGS} ${APPEND_Fortran_FLAG}")
endif()
if(CMAKE_CXX_FLAGS)
set(SCAFACOS_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
else()
set(SCAFACOS_CXX_FLAGS "${CMAKE_CXX_${CMAKE_BUILD_TYPE}_FLAGS}")
endif()
if(CMAKE_C_FLAGS)
set(SCAFACOS_C_FLAGS "${CMAKE_C_FLAGS}")
else()
set(SCAFACOS_C_FLAGS "${CMAKE_C_${CMAKE_BUILD_TYPE}_FLAGS}")
endif()
include(ExternalProject)
ExternalProject_Add(scafacos_build
URL https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz
URL_MD5 bd46d74e3296bd8a444d731bb10c1738
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --disable-doc
--enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m
--with-internal-fftw --with-internal-pfft
--with-internal-pnfft ${CONFIGURE_REQUEST_PIC}
FC=${CMAKE_MPI_Fortran_COMPILER} FCFLAGS=${SCAFACOS_Fortran_FLAGS}
CXX=${CMAKE_MPI_CXX_COMPILER} CXXFLAGS=${SCAFACOS_CXX_FLAGS}
CC=${CMAKE_MPI_C_COMPILER} CFLAGS=${SCAFACOS_C_FLAGS}
F77=
BUILD_BYPRODUCTS
<INSTALL_DIR>/lib/libfcs.a
<INSTALL_DIR>/lib/libfcs_direct.a
<INSTALL_DIR>/lib/libfcs_ewald.a
<INSTALL_DIR>/lib/libfcs_fmm.a
<INSTALL_DIR>/lib/libfcs_p2nfft.a
<INSTALL_DIR>/lib/libfcs_p3m.a
<INSTALL_DIR>/lib/libfcs_near.a
<INSTALL_DIR>/lib/libfcs_gridsort.a
<INSTALL_DIR>/lib/libfcs_resort.a
<INSTALL_DIR>/lib/libfcs_redist.a
<INSTALL_DIR>/lib/libfcs_common.a
<INSTALL_DIR>/lib/libfcs_pnfft.a
<INSTALL_DIR>/lib/libfcs_pfft.a
<INSTALL_DIR>/lib/libfcs_fftw3_mpi.a
<INSTALL_DIR>/lib/libfcs_fftw3.a
)
ExternalProject_get_property(scafacos_build INSTALL_DIR)
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
add_library(LAMMPS::SCAFACOS UNKNOWN IMPORTED)
set_target_properties(LAMMPS::SCAFACOS PROPERTIES
IMPORTED_LOCATION "${INSTALL_DIR}/lib/libfcs.a"
INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include"
INTERFACE_LINK_LIBRARIES "${INSTALL_DIR}/lib/libfcs.a;${INSTALL_DIR}/lib/libfcs_direct.a;${INSTALL_DIR}/lib/libfcs_ewald.a;${INSTALL_DIR}/lib/libfcs_fmm.a;${INSTALL_DIR}/lib/libfcs_p2nfft.a;${INSTALL_DIR}/lib/libfcs_p3m.a;GSL::gsl;${INSTALL_DIR}/lib/libfcs_near.a;${INSTALL_DIR}/lib/libfcs_gridsort.a;${INSTALL_DIR}/lib/libfcs_resort.a;${INSTALL_DIR}/lib/libfcs_redist.a;${INSTALL_DIR}/lib/libfcs_common.a;${INSTALL_DIR}/lib/libfcs_pnfft.a;${INSTALL_DIR}/lib/libfcs_pfft.a;${INSTALL_DIR}/lib/libfcs_fftw3_mpi.a;${INSTALL_DIR}/lib/libfcs_fftw3.a;MPI::MPI_Fortran;MPI::MPI_C")
target_link_libraries(lammps PRIVATE LAMMPS::SCAFACOS)
add_dependencies(LAMMPS::SCAFACOS scafacos_build)
else()
find_package(PkgConfig REQUIRED)
pkg_check_modules(SCAFACOS REQUIRED IMPORTED_TARGET scafacos)
target_link_libraries(lammps PRIVATE PkgConfig::SCAFACOS)
endif()

View File

@ -1,13 +1,13 @@
# Fix rigid/meso requires RIGID to be installed
if(PKG_USER-SDPD)
set(USER-SDPD_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-SDPD)
set(USER-SDPD_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-SDPD)
get_property(hlist GLOBAL PROPERTY FIX)
if(NOT PKG_RIGID)
list(REMOVE_ITEM hlist ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.h)
list(REMOVE_ITEM LIB_SOURCES ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.cpp)
endif()
set_property(GLOBAL PROPERTY FIX "${hlist}")
include_directories(${USER-SDPD_SOURCES_DIR})
get_property(hlist GLOBAL PROPERTY FIX)
if(NOT PKG_RIGID)
list(REMOVE_ITEM hlist ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.h)
get_target_property(LAMMPS_SOURCES lammps SOURCES)
list(REMOVE_ITEM LAMMPS_SOURCES ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.cpp)
set_property(TARGET lammps PROPERTY SOURCES ${LAMMPS_SOURCES})
endif()
set_property(GLOBAL PROPERTY FIX "${hlist}")
target_include_directories(lammps PRIVATE ${USER-SDPD_SOURCES_DIR})

View File

@ -1,28 +1,28 @@
if(PKG_USER-SMD)
find_package(Eigen3 NO_MODULE)
if(EIGEN3_FOUND)
set(DOWNLOAD_EIGEN3_DEFAULT OFF)
else()
set(DOWNLOAD_EIGEN3_DEFAULT ON)
endif()
option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" ${DOWNLOAD_EIGEN3_DEFAULT})
if(DOWNLOAD_EIGEN3)
message(STATUS "Eigen3 download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(Eigen3_build
URL http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz
URL_MD5 f2a417d083fe8ca4b8ed2bc613d20f07
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
)
ExternalProject_get_property(Eigen3_build SOURCE_DIR)
set(EIGEN3_INCLUDE_DIR ${SOURCE_DIR})
list(APPEND LAMMPS_DEPS Eigen3_build)
else()
find_package(Eigen3 NO_MODULE)
mark_as_advanced(Eigen3_DIR)
if(NOT EIGEN3_FOUND)
message(FATAL_ERROR "Eigen3 not found, help CMake to find it by setting EIGEN3_INCLUDE_DIR, or set DOWNLOAD_EIGEN3=ON to download it")
endif()
endif()
include_directories(${EIGEN3_INCLUDE_DIR})
find_package(Eigen3 NO_MODULE)
if(EIGEN3_FOUND)
set(DOWNLOAD_EIGEN3_DEFAULT OFF)
else()
set(DOWNLOAD_EIGEN3_DEFAULT ON)
endif()
option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" ${DOWNLOAD_EIGEN3_DEFAULT})
if(DOWNLOAD_EIGEN3)
message(STATUS "Eigen3 download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(Eigen3_build
URL https://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz
URL_MD5 f2a417d083fe8ca4b8ed2bc613d20f07
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
)
ExternalProject_get_property(Eigen3_build SOURCE_DIR)
add_library(LAMMPS::EIGEN3 INTERFACE IMPORTED)
set_target_properties(LAMMPS::EIGEN3 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}")
target_link_libraries(lammps PRIVATE LAMMPS::EIGEN3)
add_dependencies(LAMMPS::EIGEN3 Eigen3_build)
else()
find_package(Eigen3 NO_MODULE)
mark_as_advanced(Eigen3_DIR)
if(NOT EIGEN3_FOUND)
message(FATAL_ERROR "Eigen3 not found, help CMake to find it by setting EIGEN3_INCLUDE_DIR, or set DOWNLOAD_EIGEN3=ON to download it")
endif()
target_link_libraries(lammps PRIVATE Eigen3::Eigen)
endif()

View File

@ -1,6 +1,4 @@
if(PKG_USER-VTK)
find_package(VTK REQUIRED NO_MODULE)
include(${VTK_USE_FILE})
add_definitions(-DLAMMPS_VTK)
list(APPEND LAMMPS_LINK_LIBS ${VTK_LIBRARIES})
endif()
find_package(VTK REQUIRED NO_MODULE)
include(${VTK_USE_FILE})
target_compile_definitions(lammps PRIVATE -DLAMMPS_VTK)
target_link_libraries(lammps PRIVATE ${VTK_LIBRARIES})

View File

@ -1,45 +1,48 @@
if(PKG_VORONOI)
find_package(VORO)
if(VORO_FOUND)
set(DOWNLOAD_VORO_DEFAULT OFF)
else()
set(DOWNLOAD_VORO_DEFAULT ON)
endif()
option(DOWNLOAD_VORO "Download and compile the Voro++ library instead of using an already installed one" ${DOWNLOAD_VORO_DEFAULT})
if(DOWNLOAD_VORO)
if(CMAKE_GENERATOR STREQUAL "Ninja")
message(FATAL_ERROR "Cannot build downloaded Voro++ library with Ninja build tool")
endif()
message(STATUS "Voro++ download requested - we will build our own")
include(ExternalProject)
if(BUILD_SHARED_LIBS)
set(VORO_BUILD_CFLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}")
else()
set(VORO_BUILD_CFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}")
endif()
if(APPLE)
get_filename_component(VORO_CXX ${CMAKE_CXX_COMPILER} NAME_WE)
set(VORO_BUILD_OPTIONS CXX=${VORO_CXX} CFLAGS=${VORO_BUILD_CFLAGS})
else()
set(VORO_BUILD_OPTIONS CXX=${CMAKE_CXX_COMPILER} CFLAGS=${VORO_BUILD_CFLAGS})
endif()
ExternalProject_Add(voro_build
URL https://download.lammps.org/thirdparty/voro++-0.4.6.tar.gz
URL_MD5 2338b824c3b7b25590e18e8df5d68af9
CONFIGURE_COMMAND "" BUILD_COMMAND make ${VORO_BUILD_OPTIONS} BUILD_IN_SOURCE 1 INSTALL_COMMAND ""
)
ExternalProject_get_property(voro_build SOURCE_DIR)
set(VORO_LIBRARIES ${SOURCE_DIR}/src/libvoro++.a)
set(VORO_INCLUDE_DIRS ${SOURCE_DIR}/src)
list(APPEND LAMMPS_DEPS voro_build)
else()
find_package(VORO)
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()
endif()
include_directories(${VORO_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${VORO_LIBRARIES})
find_package(VORO)
if(VORO_FOUND)
set(DOWNLOAD_VORO_DEFAULT OFF)
else()
set(DOWNLOAD_VORO_DEFAULT ON)
endif()
option(DOWNLOAD_VORO "Download and compile the Voro++ library instead of using an already installed one" ${DOWNLOAD_VORO_DEFAULT})
if(DOWNLOAD_VORO)
message(STATUS "Voro++ download requested - we will build our own")
include(ExternalProject)
if(BUILD_SHARED_LIBS)
set(VORO_BUILD_CFLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}")
else()
set(VORO_BUILD_CFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}")
endif()
if(APPLE)
get_filename_component(VORO_CXX ${CMAKE_CXX_COMPILER} NAME_WE)
set(VORO_BUILD_OPTIONS CXX=${VORO_CXX} CFLAGS=${VORO_BUILD_CFLAGS})
else()
set(VORO_BUILD_OPTIONS CXX=${CMAKE_CXX_COMPILER} CFLAGS=${VORO_BUILD_CFLAGS})
endif()
ExternalProject_Add(voro_build
URL https://download.lammps.org/thirdparty/voro++-0.4.6.tar.gz
URL_MD5 2338b824c3b7b25590e18e8df5d68af9
PATCH_COMMAND patch -b -p0 < ${LAMMPS_LIB_SOURCE_DIR}/voronoi/voro-make.patch
CONFIGURE_COMMAND ""
BUILD_COMMAND make ${VORO_BUILD_OPTIONS}
BUILD_IN_SOURCE 1
INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/src/libvoro++.a
)
ExternalProject_get_property(voro_build SOURCE_DIR)
file(MAKE_DIRECTORY ${SOURCE_DIR}/src)
add_library(LAMMPS::VORO UNKNOWN IMPORTED)
set_target_properties(LAMMPS::VORO PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/src/libvoro++.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/src")
target_link_libraries(lammps PRIVATE LAMMPS::VORO)
add_dependencies(LAMMPS::VORO voro_build)
else()
find_package(VORO)
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)
endif()

View File

@ -2,51 +2,9 @@
# Testing
###############################################################################
option(ENABLE_TESTING "Enable testing" OFF)
if(ENABLE_TESTING AND BUILD_EXE)
if(ENABLE_TESTING)
enable_testing()
option(LAMMPS_TESTING_SOURCE_DIR "Location of lammps-testing source directory" "")
option(LAMMPS_TESTING_GIT_TAG "Git tag of lammps-testing" "master")
mark_as_advanced(LAMMPS_TESTING_SOURCE_DIR LAMMPS_TESTING_GIT_TAG)
if (CMAKE_VERSION VERSION_GREATER "3.10.3" AND NOT LAMMPS_TESTING_SOURCE_DIR)
include(FetchContent)
FetchContent_Declare(lammps-testing
GIT_REPOSITORY https://github.com/lammps/lammps-testing.git
GIT_TAG ${LAMMPS_TESTING_GIT_TAG}
)
FetchContent_GetProperties(lammps-testing)
if(NOT lammps-testing_POPULATED)
message(STATUS "Downloading tests...")
FetchContent_Populate(lammps-testing)
endif()
set(LAMMPS_TESTING_SOURCE_DIR ${lammps-testing_SOURCE_DIR})
elseif(NOT LAMMPS_TESTING_SOURCE_DIR)
message(WARNING "Full test-suite requires CMake >= 3.11 or copy of\n"
"https://github.com/lammps/lammps-testing in LAMMPS_TESTING_SOURCE_DIR")
endif()
add_test(ShowHelp ${CMAKE_BINARY_DIR}/${LAMMPS_BINARY} -help)
if(EXISTS ${LAMMPS_TESTING_SOURCE_DIR})
message(STATUS "Running test discovery...")
file(GLOB_RECURSE TEST_SCRIPTS ${LAMMPS_TESTING_SOURCE_DIR}/tests/core/*/in.*)
foreach(script_path ${TEST_SCRIPTS})
get_filename_component(TEST_NAME ${script_path} EXT)
get_filename_component(SCRIPT_NAME ${script_path} NAME)
get_filename_component(PARENT_DIR ${script_path} DIRECTORY)
string(SUBSTRING ${TEST_NAME} 1 -1 TEST_NAME)
string(REPLACE "-" "_" TEST_NAME ${TEST_NAME})
string(REPLACE "+" "_" TEST_NAME ${TEST_NAME})
set(TEST_NAME "test_core_${TEST_NAME}_serial")
add_test(${TEST_NAME} ${CMAKE_BINARY_DIR}/${LAMMPS_BINARY} -in ${SCRIPT_NAME})
set_tests_properties(${TEST_NAME} PROPERTIES WORKING_DIRECTORY ${PARENT_DIR})
endforeach()
list(LENGTH TEST_SCRIPTS NUM_TESTS)
message(STATUS "Found ${NUM_TESTS} tests.")
endif()
get_filename_component(LAMMPS_UNITTEST_DIR ${LAMMPS_SOURCE_DIR}/../unittest ABSOLUTE)
get_filename_component(LAMMPS_UNITTEST_BIN ${CMAKE_BINARY_DIR}/unittest ABSOLUTE)
add_subdirectory(${LAMMPS_UNITTEST_DIR} ${LAMMPS_UNITTEST_BIN})
endif()

View File

@ -3,17 +3,19 @@ set(temp_git_commit "(unknown)")
set(temp_git_branch "(unknown)")
set(temp_git_describe "(unknown)")
set(temp_git_info "false")
if(GIT_FOUND AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.git)
message(STATUS "Git Directory: ${LAMMPS_DIR}/.git")
if(GIT_FOUND AND EXISTS ${LAMMPS_DIR}/.git)
set(temp_git_info "true")
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/.. rev-parse HEAD
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${LAMMPS_DIR} rev-parse HEAD
OUTPUT_VARIABLE temp_git_commit
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/.. rev-parse --abbrev-ref HEAD
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${LAMMPS_DIR} rev-parse --abbrev-ref HEAD
OUTPUT_VARIABLE temp_git_branch
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/.. describe --dirty=-modified
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${LAMMPS_DIR} describe --dirty=-modified
OUTPUT_VARIABLE temp_git_describe
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)

File diff suppressed because it is too large Load Diff

View File

@ -18,12 +18,6 @@
# myapp_CFLAGS = $(LAMMPS_CFLAGS)
# myapp_LDADD = $(LAMMPS_LIBS)
# Use this in CMake:
# CMakeLists.txt:
# find_package(PkgConfig)
# pkg_check_modules(LAMMPS IMPORTED_TARGET lammps)
# target_link_libraries(<lib> PkgConfig::LAMMPS)
prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
@ -31,8 +25,8 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
Name: liblammps@LAMMPS_MACHINE@
Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library
URL: http://lammps.sandia.gov
Version: @LAMMPS_VERSION@
Version: @PROJECT_VERSION@
Requires:
Libs: -L${libdir} -llammps@LAMMPS_LIB_SUFFIX@
Libs: -L${libdir} -llammps@LAMMPS_MACHINE@
Libs.private: -lm
Cflags: -I${includedir} @LAMMPS_API_DEFINES@

View File

@ -7,11 +7,11 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
SRD VORONOI
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
USER-TALLY USER-UEF USER-VTK USER-YAFF)
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ
USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF)
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)

View File

@ -9,11 +9,11 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
SRD VORONOI
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
USER-TALLY USER-UEF USER-VTK USER-YAFF)
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ
USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF)
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)

View File

@ -2,7 +2,7 @@
set(CMAKE_CXX_COMPILER "clang++" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "clang" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS "-Wall -Wextra -g -O2 -DNDEBG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(MPI_CXX "clang++" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
@ -13,5 +13,5 @@ set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_CXX "clang++" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "/usr/lib64/libomp.so" CACHE PATH "" FORCE)
set(OpenMP_omp_LIBRARY "libomp.so" CACHE PATH "" FORCE)

View File

@ -0,0 +1,17 @@
# preset that turns on packages with automatic downloads of sources of potentials
# compilation of libraries like Plumed or ScaFaCoS can take a considerable amount of time.
set(ALL_PACKAGES KIM LATTE MSCG VORONOI USER-PLUMED USER-SCAFACOS USER-SMD USER-MESONT)
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
endforeach()
set(DOWNLOAD_KIM ON CACHE BOOL "" FORCE)
set(DOWNLOAD_LATTE ON CACHE BOOL "" FORCE)
set(DOWNLOAD_MSCG ON CACHE BOOL "" FORCE)
set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE)
set(DOWNLOAD_EIGEN3 ON CACHE BOOL "" FORCE)
set(DOWNLOAD_PLUMED ON CACHE BOOL "" FORCE)
set(DOWNLOAD_SCAFACOS ON CACHE BOOL "" FORCE)

12
cmake/presets/hip.cmake Normal file
View File

@ -0,0 +1,12 @@
# preset that will enable hipcc plus gcc with support for MPI and OpenMP (on Linux boxes)
set(CMAKE_CXX_COMPILER "hipcc" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "gcc" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_CXX "hipcc" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "libomp.so" CACHE PATH "" FORCE)

16
cmake/presets/intel.cmake Normal file
View File

@ -0,0 +1,16 @@
# preset that will enable clang/clang++ with support for MPI and OpenMP (on Linux boxes)
set(CMAKE_CXX_COMPILER "icpc" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "icc" CACHE STRING "" FORCE)
set(MPI_CXX "icpc" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "icc" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-qopenmp" CACHE STRING "" FORCE)
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_CXX "icpc" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-qopenmp" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "libiomp5.so" CACHE PATH "" FORCE)

View File

@ -0,0 +1,11 @@
# 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
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 ON CACHE BOOL "" FORCE)
set(Kokkos_ARCH_MAXWELL50 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

@ -0,0 +1,6 @@
# preset that enables KOKKOS and selects OpenMP (only) compilation
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(BUILD_OMP ON CACHE BOOL "" FORCE)

View File

@ -0,0 +1,5 @@
# preset that enables KOKKOS and selects serial compilation only
set(PKG_KOKKOS ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_OPENMP OFF CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "" FORCE)

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