Compare commits

...

4870 Commits

Author SHA1 Message Date
883a25bbd8 Merge pull request #3375 from akohlmey/next_patch_release
Step version strings for the next patch release
2022-08-03 17:49:36 -04:00
1b4a7f4696 Merge pull request #3377 from lammps/doc-pair-dipole-again
Tweak dipole doc page for clarity
2022-08-03 16:17:27 -04:00
94c1aa8c5a tweak dipole doc page 2022-08-03 13:34:41 -06:00
6c048f101e Merge pull request #3374 from akohlmey/airebo-tweaks
Small cleanup and performance tweak for spline evaluation in AIREBO pair style
2022-08-03 13:32:40 -04:00
7a5fa964b4 Merge pull request #3370 from lammps/doc-pair-dipole
Edits to pair dipole doc page
2022-08-03 12:47:08 -04:00
1eaa807bbf clarification on what constituets single, double, and triple quotes. 2022-08-03 01:50:11 -04:00
d7901cb3af step version strings for the next patch release 2022-08-02 13:03:37 -04:00
2dd7c23b6f small performance tweak for 5th order spline evaluation 2022-08-02 10:37:50 -04:00
20c1644e6d adjusted kspace solver portion of page 2022-08-01 15:10:49 -06:00
67e0621806 Merge pull request #3361 from akohlmey/collected-small-changes
Collected small changes and fixes
2022-08-01 16:37:02 -04:00
c0f4650d59 add some .. versionadded:: statements to indicate the version a feature was added 2022-08-01 03:54:39 -04:00
acadc299a7 apply powint() in a few more cases 2022-07-31 18:35:04 -04:00
00cd92954c match pow(0,0) = 1.0 behavior in powint() 2022-07-31 18:32:52 -04:00
c5e1ce0b59 switch from master to develop 2022-07-31 16:56:47 -04:00
daec261fa1 use $(PIP_OPTIONS) consistently 2022-07-30 17:26:46 -04:00
d67d6beba9 Merge remote-tracking branch 'github/develop' into collected-small-changes 2022-07-30 17:15:49 -04:00
5c30c493e6 Merge pull request #3372 from rbberger/docs_update
Removes `easy_install` deprecation warnings in doc build
2022-07-30 17:14:46 -04:00
3f293e1c13 Use pip install -e util/converters in doc build 2022-07-29 17:56:01 -06:00
2b126a00b1 update Pizza.py URLs 2022-07-29 19:23:23 -04:00
0dc9b31620 import updated version of tinker2lmp from @sjplimp. fix whitespace. 2022-07-29 19:11:25 -04:00
3a7a941cd5 add false positive 2022-07-29 17:06:06 -04:00
ac158a7b4b whitespace 2022-07-29 06:58:48 -04:00
d444bfc996 Merge branch 'develop' into collected-small-changes 2022-07-29 06:58:22 -04:00
2ce33c14b7 Merge pull request #3365 from pvelesko/chip_spv
Add CMake and GNU make support for HIP via CHIP-SPV
2022-07-29 06:33:55 -04:00
b6c62cce05 additional tweaks to clarify fix sphere doc pages 2022-07-28 16:30:00 -06:00
bbc4ef3a20 edits to pair dipole doc page 2022-07-28 16:09:59 -06:00
c2d96ba911 fix uninitialized memory access bug in memory usage computation for fix STORE 2022-07-28 16:40:35 -04:00
4d69c7aea2 update embedded search box 2022-07-28 15:01:35 -04:00
5fee276348 add some GNU Make magic(tm) to Makefile.hip to adapt itself to OpenMPI and MPICH 2022-07-28 07:03:58 -04:00
9258ab3a51 document missing call 2022-07-27 22:13:14 -04:00
eb7759c869 improve formatting and modernize 2022-07-27 19:49:55 -04:00
ad69c7d157 simplify through using utils::strdup() 2022-07-27 19:49:31 -04:00
e583f54ca7 fix off-by-one bug 2022-07-27 19:12:36 -04:00
8076624477 Merge pull request #3364 from rbberger/add_citation_info
Add citation information to GitHub
2022-07-27 16:02:11 -04:00
afcfb3754c Merge pull request #3358 from akohlmey/old-version-porting
Add a section to manual with info on updating old source code for current LAMMPS versions
2022-07-27 15:25:46 -04:00
56642ae184 add a few more keywords 2022-07-27 05:36:05 -04:00
c986dd9b97 correct make command line example 2022-07-27 05:25:36 -04:00
e7ffa7fae3 Add Makefile support for CHIP-SPV 2022-07-27 08:34:35 +00:00
24b3de8727 update documentation for CMake 2022-07-27 06:41:19 +00:00
6a5d56994a PR comments 2022-07-27 06:25:36 +00:00
8d5149fade Add citation information to GitHub 2022-07-26 19:52:01 -06:00
11897db197 add check on extracting elements twice from the library to avoid opaque error later 2022-07-26 15:00:27 -04:00
4f8a1ca526 correct formatting 2022-07-26 12:32:42 -04:00
e973a4b31c workaround for CHIP-SPV different textrure func 2022-07-26 16:19:11 +00:00
b2cdc40919 Enable CHIP-SPV support 2022-07-26 16:00:43 +00:00
d347a27a39 add reference 2022-07-26 09:19:45 -04:00
5f67850171 correct typos 2022-07-25 22:32:59 -04:00
7b54b974d3 remove dead code 2022-07-25 11:48:21 -04:00
f736248efb replace calls to pow() with faster functions for integer powers 2022-07-25 09:17:37 -04:00
6dc9664087 avoid uninitialized data access 2022-07-25 09:06:09 -04:00
e99494d838 fix copy-n-paste error 2022-07-25 09:02:54 -04:00
bcc49aca84 fix logic issue 2022-07-25 09:01:26 -04:00
762e79c49d initialize possibly uninitialized variabled 2022-07-25 09:01:14 -04:00
87d1aef543 clarify whom to contact with questions about pre-built binaries. update ubuntu info 2022-07-24 18:12:04 -04:00
cdf600b8cd update description 2022-07-22 14:34:09 -04:00
40920ac6e1 improved error messages for duplicate or missing entries in manybody potential files 2022-07-22 12:41:43 -04:00
48ad917d9e initialized pointers to null 2022-07-22 05:33:12 -04:00
c9c9139fd6 fix off-by-one error and resulting out-of-bounds write access. 2022-07-22 05:21:13 -04:00
5761647894 plug memory leak 2022-07-22 05:15:50 -04:00
7901a317c0 Initial version of an LAMMPS older version code update guide 2022-07-22 00:03:34 -04:00
48aa9cf7ba Merge pull request #3359 from akohlmey/correct-misc-mc-depend
Add package dependency handling for pair style srp/react
2022-07-21 14:39:23 -04:00
16e85a9f89 Merge pull request #3360 from akohlmey/update-linalg
Add missing functions for LATTE to linalg library
2022-07-21 13:09:56 -04:00
c8cc2b1b24 update to LAPACK version 3.10.1 2022-07-21 08:41:44 -04:00
11c46a6e90 correct dangling and inconsistent links to sphinx homepage and rst docs 2022-07-21 08:19:39 -04:00
1f4447d1cd add USE_INTERNAL_LINALG to workaround passing BLAS/LAPACK settings to external projects 2022-07-21 05:42:23 -04:00
bf65b4720f add more BLAS/LAPACK functions to support LATTE package 2022-07-21 05:20:11 -04:00
00cecceab7 gitignore 2022-07-21 03:55:53 +00:00
3c99a6b5c4 Correctly handle the dependency of pair style (and fix) srp/react on the MC package 2022-07-20 17:01:44 -04:00
6f7839a516 Merge pull request #3355 from akohlmey/python-lookup-consistency
Improve consistency in Python interpreter and libraries lookup in CMake
2022-07-20 11:51:22 -04:00
5eec9da8fe make search for python libraries consistent with search for python interpreter
- apply same semantics of selecting the interpreter than the main cmake script
- make certain that we search for the interpreter first
- when searching for the library find the version matching the interpreter
- error out when library version and interpreter version does not match
2022-07-19 13:28:43 -04:00
b655088657 adjust search for python interpreter so it is consistent with manual 2022-07-19 13:26:50 -04:00
ed73c21a21 Set path to python interpreter when running in a virtual environment 2022-07-19 13:25:05 -04:00
9061be98c2 Merge pull request #3349 from akohlmey/collected-small-changes
Collected small changes
2022-07-18 16:39:42 -04:00
0ac8dce7b4 strip off -pendantic-errors flag when compiling with nvcc_wrapper to fix error compiling ML-PACE 2022-07-18 14:01:32 -04:00
3685d6974a reorder initializers to silence compiler warning 2022-07-18 14:01:18 -04:00
7232261cea correct unit tests for dump local 2022-07-17 12:15:44 -04:00
34cb0b7047 add support for dump_modify colname to dump local 2022-07-17 11:46:19 -04:00
a9c072488a fix cut-n-paste error and improve error message 2022-07-17 11:42:28 -04:00
e856bb2364 silence static code analysis warnings about integer overflows 2022-07-16 10:26:57 -04:00
6689a20754 clarify 2022-07-16 10:26:57 -04:00
34aca71258 disallow use of variable functions vdisplace(), swiggle(), and cwiggle() with fix dt/reset 2022-07-16 10:26:56 -04:00
d51069b363 fix cut-n-paste typo 2022-07-16 10:26:56 -04:00
51e3428286 add false positive 2022-07-16 10:26:56 -04:00
9e1685211b allow ramp(x,y) to be used in between runs (returning x) and avoid division by zero on run 0 2022-07-16 10:26:56 -04:00
a829d607ce work around issues with Intel compilers compiling the GPU package 2022-07-16 10:26:56 -04:00
beebaea160 Merge pull request #3350 from lammps/doc-page-dump-style-table
add a table with list of dump styles
2022-07-16 06:45:04 -04:00
db9731bf3b also index dump styles 2022-07-15 22:58:49 -04:00
b28f8bc70e add missing index entries for dump style 2022-07-15 21:23:26 -04:00
698d3b06a5 update style checker script to also check dump styles 2022-07-15 21:23:08 -04:00
f478ca3b4d Merge pull request #3337 from vpalkar/pair-srp-react
Adding pair style srp/react
2022-07-15 18:59:49 -04:00
c8ca8fb2d6 properly integrate the new file into the document toctree 2022-07-15 17:51:36 -04:00
151a7f7039 Merge pull request #3336 from MolSSI-MDI/mdi_fix
Minor improvements and bugfixes to the mdi/qm fix
2022-07-15 16:57:18 -04:00
f36653caeb add a table with list of dump styles 2022-07-15 14:47:45 -06:00
3761cff688 Merge pull request #3331 from jrgissing/bond/react-bugfixes
Bond/react bugfixes
2022-07-15 16:18:30 -04:00
2f3115372d Remove debug lines from fix_mdi_qm.cpp 2022-07-15 20:00:44 +00:00
a393569083 Merge pull request #3343 from yskmiyazaki/style-sdk-update
Change package name CG-SDK to CG-SPICA and add a function type LJ12-5 to the package
2022-07-15 14:54:41 -04:00
70eec9a55c Merge pull request #3339 from jtclemm/patch_contact_atom
Redoing groups in compute contact/atom
2022-07-15 14:47:03 -04:00
8b1734d4c3 whitespace 2022-07-15 12:18:15 -04:00
897d9de2ed whitespace 2022-07-15 12:16:15 -04:00
d05c4b529a Add natoms check to mdi/qm fix 2022-07-15 15:22:07 +00:00
4c7825e5c7 Inverting if statements 2022-07-15 09:20:07 -06:00
93e165abf9 Merge pull request #3346 from AkosSeres/develop
Fix bug in vtk dump
2022-07-15 04:25:40 -04:00
5b0313f758 cosmetic 2022-07-14 19:13:49 -04:00
df2e16cc23 Fix bug in vtk dump 2022-07-14 16:57:19 +02:00
e41976e17e Update Errors_warnings.rst 2022-07-13 11:51:50 -04:00
b55cf30cb8 Update Errors_messages.rst 2022-07-13 11:39:30 -04:00
62d0277f34 Merge pull request #3341 from stanmoore1/hybrid_cutoffs
Add pair_modify option to allow separate cutoffs for each neigh list …
2022-07-13 10:51:55 -04:00
007ad7c4b2 Merge pull request #2898 from lammps/amoeba
Add support for AMOEBA and HIPPO force fields
2022-07-13 04:59:40 -04:00
f78bdf80e6 whitespace 2022-07-13 03:19:25 -04:00
4a747fa40c Merge branch 'develop' into amoeba 2022-07-13 03:14:39 -04:00
5087ae19c8 cross-reference neighbor multi and point out differences and benefits 2022-07-13 03:11:40 -04:00
ad2f7bcc44 Add missing dependency 2022-07-12 13:49:03 -06:00
5986c607d0 Add logic to only select intel/omp trim 2022-07-12 13:37:19 -06:00
d63e450998 Whitespace 2022-07-12 10:44:54 -06:00
be1396dab0 Add trim methods for INTEL 2022-07-12 09:58:00 -06:00
1cc5b8aa95 Add trim methods from OPENMP 2022-07-12 09:14:52 -06:00
d67ab73a89 Revert 56dc342 2022-07-12 09:13:07 -06:00
bc79fc6fa3 Clarify docs 2022-07-12 08:26:39 -06:00
56dc342b5b Disable trim from OPENMP and INTEL packages 2022-07-12 08:25:20 -06:00
4cb38038c8 fix segfault in pair style hybrid/scaled due to unallocated data 2022-07-12 00:14:53 -04:00
f0d8ced6ff fix uninitialized variable bug 2022-07-12 00:03:36 -04:00
51ac15bdc7 Fix sorting issue 2022-07-11 17:06:12 -06:00
a37121d425 Merge pull request #3344 from akohlmey/read_dump_no_timestep
Add option to read_dump that prevents resetting the timestep
2022-07-11 19:02:46 -04:00
f795cf0001 typo 2022-07-11 11:22:06 -06:00
66b99008ef Fix memory issue 2022-07-11 11:18:54 -06:00
6ffde544e1 Change default 2022-07-11 10:23:55 -06:00
1bdaf9c99f Small tweak to clarify doc page 2022-07-11 10:22:08 -06:00
c817a495e7 tweak README files 2022-07-11 09:44:23 -06:00
97824a6d46 Fix logic issue 2022-07-11 09:04:51 -06:00
35afe94ec1 fixed a line in CG-SPICA/README 2022-07-11 11:52:45 +09:00
aa11935e88 updated .gitignore and Purge.list, and author info, and added URL to the SPICA web. 2022-07-11 11:38:31 +09:00
bf6ad1bb45 add option to read_dump that prevents resetting the timestep 2022-07-10 05:00:03 -04:00
1ba2b56745 Merge pull request #3342 from rohskopf/compute-snap-apt-2
Extract bispectrum gradients in compute_snap without summing over neighbors.
2022-07-09 16:28:37 -04:00
ee8fa35355 fix typo 2022-07-09 16:07:55 -04:00
9f309d56fe a few more programming style changes 2022-07-09 16:06:21 -04:00
7b7ae55238 small fix, idcreate and idbreak are already deleted in destructor now 2022-07-08 15:39:30 -04:00
b4424e77b1 More cosmetic changes 2 2022-07-08 13:32:51 -06:00
e7f11a82ac More cosmetic changes 2022-07-08 13:24:26 -06:00
45a02e5239 Cosmetic changes 2022-07-08 13:07:49 -06:00
ba2999dfbb Whitespace 2022-07-08 10:04:33 -06:00
31d88618c6 Initialize variable 2022-07-08 09:58:42 -06:00
d6426d5e42 Small tweak 2022-07-08 09:50:19 -06:00
8aa55bfab1 Merge branch 'style-sdk-update' of github.com:yskmiyazaki/lammps into style-sdk-update 2022-07-08 22:01:06 +09:00
ec45c57181 changed reference paper info. 2022-07-08 22:00:34 +09:00
be0f4917c2 Merge branch 'lammps:develop' into style-sdk-update 2022-07-08 19:57:44 +09:00
099992f9c2 changed file and style names for lj/spica in unittest/force-styles/tests. 2022-07-08 18:41:50 +09:00
b5e70ebc81 added a FF name SPICA to tools/kate/lammps.xml and tools/moltemplate/README.txt 2022-07-08 18:23:10 +09:00
07633622e6 changed file names and added a lj12-5 function type in OPENMP pkg. 2022-07-08 18:18:39 +09:00
60b189672e changed file names and added a lj12-5 function type in KOKKOS pkg. 2022-07-08 18:09:37 +09:00
116098022f changed file names and added a lj12-5 function type in GPU pkg. 2022-07-08 18:04:04 +09:00
311596fb4f changed CG-SDK to CG-SPICA and added a lj12-5 function type. 2022-07-08 17:55:15 +09:00
763aa632d9 changed 'sdk' to 'spica' 2022-07-08 17:36:34 +09:00
fc741e0df6 changed names of files, and added a lj12-5 function type. 2022-07-08 17:28:50 +09:00
c71e1cd470 changed lammps inputs in examples for SPICA 2022-07-08 17:16:15 +09:00
20182a194f changed a package name CG-SDK to CG-SPICA in files for cmake. 2022-07-08 17:01:56 +09:00
be25a83210 Merge pull request #3340 from akohlmey/coul-slater-exclusions
Correct excluded force and energy term for pair style coul/slater/long
2022-07-08 03:57:43 -04:00
796bc28f94 changed rstfile names, style names, and description about FF for SPICA 2022-07-08 16:54:01 +09:00
9e93eda19a Format 2022-07-07 17:23:58 -06:00
de12ea9762 Clean up 2022-07-07 17:21:19 -06:00
b4fc400ed3 Add python/lammps back 2022-07-07 17:14:04 -06:00
139ecad13c Trying to remove symlink 2022-07-07 17:12:40 -06:00
8f431c5904 Add python/lammps directory back 2022-07-07 17:05:03 -06:00
3747a28774 Remove symbolic link directory 2022-07-07 17:04:20 -06:00
5bca3fd0b0 Remove an output file 2022-07-07 17:00:52 -06:00
ae615eb815 More whitespace in docs 2022-07-07 16:53:20 -06:00
fcb6058811 More formatting 2022-07-07 16:51:11 -06:00
de274cddef Add pair_modify option to allow separate cutoffs for each neigh list with pair hybrid/overlay 2022-07-07 16:48:03 -06:00
87acd69b71 More whitespace fixes 2022-07-07 16:44:57 -06:00
f4ece2e828 change length of ubi run 2022-07-07 15:02:48 -06:00
b2b0704648 new log files 2022-07-07 15:01:55 -06:00
a79e9bc204 clean up log files 2022-07-07 14:53:45 -06:00
7d06ee9aa7 Merge pull request #3298 from jrgissing/reaxff_species_delete_keyword
Reaxff species 'delete' keyword
2022-07-07 16:37:43 -04:00
6280c81151 Merge pull request #3323 from lammps/long-string-variables
Optimizations to input class for reading very long lines
2022-07-07 16:35:16 -04:00
6100e1fafb code tweaks and update of examples 2022-07-07 14:33:19 -06:00
78c1e01e13 Merge pull request #3316 from jkelowitt/develop
Add Stillinger-Weber Three-body loop optional keyword argument
2022-07-07 16:31:52 -04:00
d2ffc9dae8 programming style updates, fix memory leaks and uninitialized access 2022-07-07 15:57:14 -04:00
79620c5303 Whitespace 2022-07-07 13:53:46 -06:00
9aa819d91e Put compute_snap back 2022-07-07 13:46:01 -06:00
b47e5a8d5b Finalized doc page 2022-07-07 13:36:22 -06:00
5496781ecd Optimizing group filters 2022-07-07 12:44:36 -06:00
c488db6fe0 Merge branch 'compute-snap-apt-2' of github.com:rohskopf/lammps into HEAD 2022-07-07 11:46:24 -06:00
c838c9da6f Cleaned up language 2022-07-07 11:43:39 -06:00
63c048ef59 simplify, modernize, and apply clang-format 2022-07-07 13:32:04 -04:00
0bae7108b5 Whitespace and format 2022-07-07 11:09:10 -06:00
9975eecd2a Fix merge conflicts 2022-07-07 09:11:28 -06:00
6b22886064 small docs fixes 2022-07-07 10:39:11 -04:00
4aa0132860 cosmetic 2022-07-07 10:35:34 -04:00
66c1d8bbca update unit test 2022-07-07 09:01:16 -04:00
fc508bc7b1 apply clang-format 2022-07-07 08:59:49 -04:00
14299b36ba correct force and energy for excluded pairs 2022-07-07 08:59:08 -04:00
569136e160 Redoing groups in compute contact/atom 2022-07-06 14:35:16 -06:00
b7457fe834 Initial commit for pair style srp-react files 2022-07-06 10:55:14 -04:00
1599afc623 clarify how reaxff/species decides when to reneighbor 2022-07-06 00:45:36 -04:00
40cc4fa510 Fix some errors in fix_mdi_qm.cpp 2022-07-05 19:09:23 +00:00
67e29fc766 add metadata tags to the .key files too. 2022-07-05 11:20:15 -04:00
378c5c1687 silence compiler warnings 2022-07-05 11:03:48 -04:00
212048d4cc modernize tinker2lmp scripts so they run with both python2.7 and python3.x 2022-07-05 08:09:24 -04:00
89e0989522 add UNITS: and DATA: metadata tags to force field files 2022-07-05 07:11:09 -04:00
f58d413fbd Update test examples and script to be more in line with other LAMMPS examples 2022-07-05 06:59:31 -04:00
574818c3e9 add unit test for utils::join_words() 2022-07-05 00:27:28 -04:00
f1b14fa4a2 improve formatting 2022-07-05 00:16:31 -04:00
7229c4eb43 refactored file parsing 2022-07-05 00:02:37 -04:00
5331fa7a58 fix documentation issues (spelling, references, non-ASCII chars) 2022-07-04 19:09:56 -04:00
de08609634 add join_words() utility function 2022-07-04 18:26:59 -04:00
e13027787b simplify parsing of PRM file section header 2022-07-04 13:36:14 -04:00
b8acd2e31d Merge pull request #3329 from stanmoore1/kk_update_3.6.1
Update Kokkos library in LAMMPS to v3.6.1
2022-07-04 10:43:55 -04:00
75667718ac simplify printing errors 2022-07-03 06:54:33 -04:00
6579728622 apply include file conventions 2022-07-03 06:54:22 -04:00
82c467d79f remove debug code 2022-07-03 06:53:13 -04:00
3399e1d0d3 add override parameters to overridden virtual functions 2022-07-03 06:53:03 -04:00
886d95c32d clang-tidy fixes 2022-07-02 23:16:13 -04:00
e4c798674f Merge branch 'develop' into amoeba-ak 2022-07-02 22:02:07 -04:00
57a569eb3b Merge remote-tracking branch 'github/amoeba' into amoeba-ak 2022-07-02 21:58:15 -04:00
ea48b031a4 must not run hybrid styles with GPU package that use the same pair style twice 2022-07-02 21:24:25 -04:00
bc542a8673 cosmetic changes, silence warnings, avoid temporary char buffers 2022-07-02 19:38:37 -04:00
6f3f1dba6e more documentation tweaks 2022-07-02 19:05:58 -04:00
1f75740de7 add unit test input for hybrid twobody/threebody sw style 2022-07-02 18:32:23 -04:00
67a3a7a6c1 add unit test for twobody off and implement and test single() function 2022-07-02 18:02:15 -04:00
2fa5f7c97e use a half neighbor list for skip_threebody case for further speedup 2022-07-02 17:39:01 -04:00
f38a417a32 restore user facing keyword back to "threebody" defaulting to "on"
also some minor updates:
- streamline description in the documentation, add links/references
- print message when disabling threebody terms
- improve error messages, simplify argument processing
2022-07-02 17:08:22 -04:00
ab6a658dee very-small-templates bugfix 2022-07-02 16:17:35 -04:00
d3e69170f0 bugfix: specials update corner case 2022-07-02 12:18:56 -04:00
f826d175f0 Merge branch 'develop' into jkelowitt/develop 2022-07-02 12:13:57 -04:00
d7919f3a4e Merge pull request #3330 from lammps/extract-atom-sp
Add per-atom sp array to extract()
2022-07-02 12:04:50 -04:00
b5d5654399 Merge branch 'develop' into long-string-variables 2022-07-02 11:30:16 -04:00
39b01a901f print warning when using I/O redirection with parallel runs 2022-07-02 11:30:09 -04:00
8e4b3fd41b Merge pull request #3328 from stanmoore1/kk_meam_release
Add Kokkos version of pair MEAM
2022-07-02 03:51:51 -04:00
581503888f Updated docs. 2022-07-01 21:07:19 -06:00
e98af88242 Clean up unnecessary code. 2022-07-01 20:56:11 -06:00
b81df6a720 silence compiler warnings 2022-07-01 21:26:06 -04:00
ae26b489dd fix typo 2022-07-01 21:25:57 -04:00
4012897bff whitespace fixes and clang-format 2022-07-01 21:19:12 -04:00
146b00c395 Merge pull request #3307 from lammps/fix-mdi-aimd-enhance
MDI package enhancements
2022-07-01 20:48:40 -04:00
dc1b7ba0a4 Parallelization and ij pair collapse. 2022-07-01 15:37:00 -06:00
f245a4313e Merge pull request #3327 from akohlmey/collected-small-fixes
Collected small fixes
2022-07-01 17:21:05 -04:00
cf49042fe6 Update Kokkos version in CMake 2022-07-01 14:13:08 -06:00
2d366ce220 add per-atom sp to extract() 2022-07-01 14:08:46 -06:00
2bfbd6fba1 Update Kokkos library in LAMMPS to v3.6.1 2022-07-01 13:17:50 -06:00
d385a9be9d finished debug of induce iterations 2022-07-01 13:13:57 -06:00
becd876166 small tweaks 2022-07-01 12:28:13 -06:00
27165f82b4 Fix urls and license 2022-07-01 12:09:48 -06:00
23ee2a97fa Whitespace 2022-07-01 11:24:50 -06:00
ae7215037d Finish porting pair MEAM to Kokkos 2022-07-01 11:20:51 -06:00
607ed68acd Merge branch 'develop' of https://github.com/lammps/lammps into kk_meam_release 2022-07-01 11:14:39 -06:00
957a8c85a9 formatting corrections and minor tweaks to the Argon viscosity howto 2022-07-01 09:26:23 -04:00
0157a7d0d3 make certain to switch to the expected source folder when building n2p2 lib 2022-07-01 05:49:24 -04:00
6a813bba69 restore bikflag parsing and initialization that was removed in commit 44436c0eb6 2022-07-01 04:36:49 -04:00
41bb5850b3 Fixed temperature in argon GK example 2022-07-01 00:36:43 -04:00
940cbe3133 Updated timestamp for local array 2022-07-01 00:36:37 -04:00
4ff683a3ca MPI may need to include multiple folders (e.g. on Ubuntu with OpenMPI) 2022-07-01 00:05:04 -04:00
36aead3877 Fix class name 2022-06-30 16:06:52 -06:00
79468f6d4f Fix inverted logic and minimize footprint. 2022-06-30 15:39:02 -06:00
3d939923b5 Fix flag name 2022-06-30 15:32:08 -06:00
0cd15ab927 Settings function for sw/angle/table 2022-06-30 15:24:33 -06:00
454c39ae21 Invert skipping flag logic. Update keyword and doc to match. 2022-06-30 14:21:11 -06:00
b6f7dd9df9 update googletest to version 1.12.1 2022-06-30 15:58:40 -04:00
ff56f75fca abort when there was an error writing to the dump file 2022-06-30 15:57:47 -04:00
e34e9aca48 improve consistency between CMake and GNU make build. Must explicitly link python when building a static mdi lib 2022-06-30 15:45:52 -04:00
419460f13b Note limitations on threebody in doc 2022-06-30 13:30:26 -06:00
d7c4a495ca Force lambda = 0 if threebody_flag is false 2022-06-30 12:10:17 -06:00
025d465ab7 more debugging on dipole induce 2022-06-30 11:44:31 -06:00
d1d51636a7 fix typo 2022-06-30 11:19:38 -06:00
8f524cde33 Merge branch 'fix-mdi-aimd-enhance' of github.com:lammps/lammps into fix-mdi-aimd-enhance 2022-06-30 11:17:19 -06:00
aebf53679e add Python/MDI info the examples/mdi/README 2022-06-30 11:17:13 -06:00
d327a4c512 whitespace 2022-06-30 05:57:52 -04:00
0ae6f1c30e Merge pull request #3322 from akohlmey/collected-small-fixes
Collected small fixes
2022-06-29 18:03:08 -04:00
7546955046 optimizations to input class for reading very long lines 2022-06-29 15:10:03 -06:00
533a56404a add more unit tests for boolean expressions 2022-06-29 16:45:28 -04:00
8d8f7983fb fix bug in recent bugfix 2022-06-29 16:45:11 -04:00
bb3cd71e77 Merge branch 'develop' into collected-small-fixes 2022-06-29 16:43:47 -04:00
0156efc70f Merge pull request #3319 from lammps/boolean-bug
Boolean bug fix
2022-06-29 15:26:11 -04:00
f273a28a2a whitespace 2022-06-29 12:26:16 -04:00
646fe885c2 Merge branch 'develop' into boolean-bug 2022-06-29 12:25:44 -04:00
137dc6243e whitespace 2022-06-29 12:25:15 -04:00
793069d8eb update and expand unit tests for if() command boolean evaluation 2022-06-29 12:24:43 -04:00
1fabd5a56b change boolean = single string to an error 2022-06-29 07:49:22 -06:00
8d272db37a whitespace 2022-06-29 05:14:04 -04:00
7317c5de38 Merge branch 'develop' into collected-small-fixes 2022-06-29 05:13:24 -04:00
7af48c3156 Merge pull request #3317 from stanmoore1/bugfixes
KOKKOS Bugfixes
2022-06-29 05:09:23 -04:00
9a05cd3e98 Fix gramatical errors 2022-06-28 16:59:32 -06:00
4db7f91c48 Use utils::logical() to parse arguments. 2022-06-28 16:52:57 -06:00
1dc71ef3e3 better error strings 2022-06-28 16:38:51 -06:00
e4e9b2e49a more consistency checks 2022-06-28 16:37:04 -06:00
e8c2dcc693 Fix doc example and doc note. 2022-06-28 16:25:35 -06:00
4a2182ae84 Rename threebody_on to threebody_flag 2022-06-28 16:22:25 -06:00
ae235b1ef5 Boolean expression corner case 2022-06-28 16:19:06 -06:00
1fe7fdc7d6 Add more missing Kokkos data movement 2022-06-28 15:04:10 -06:00
6549ba16bf debugging of dipole iterations 2022-06-28 13:35:49 -06:00
373c719f4f make compilation settings consistent with CMake 2022-06-28 15:22:54 -04:00
56e1207024 Add missing GPU <--> CPU data transfer in minimize Kokkos 2022-06-28 12:03:34 -06:00
03962ba0f4 fix spelling in MDI docs 2022-06-28 13:58:42 -04:00
56cb2f3077 update external library version and md5sum 2022-06-28 13:44:41 -04:00
141d09ab9b Merge branch 'develop' into fix-mdi-aimd-enhance
# Conflicts:
#	doc/src/fix_mdi_aimd.rst
2022-06-28 13:38:43 -04:00
7aabbba7ff whitespace 2022-06-28 13:37:33 -04:00
ae1a33aa5a update unit test 2022-06-28 13:36:49 -04:00
a279ab3860 Prevent view bounds error when a proc has no atoms 2022-06-28 11:32:48 -06:00
f497afa763 Small tweaks 2022-06-28 08:51:42 -06:00
192c80826b Fix small memory leak in SNAP 2022-06-28 08:51:23 -06:00
9bc1968e36 Add missing grow to Kokkos unpack_exchange 2022-06-28 08:51:07 -06:00
f65bc76326 Merge pull request #3305 from athomps/compute-grid-new
Compute grid for ML-SNAP
2022-06-28 09:00:38 -04:00
a9f3108f29 whitespace 2022-06-28 08:39:20 -04:00
b165c2ca08 add files to .gitignore after move to package 2022-06-28 08:39:12 -04:00
4097d295ce Skip three-body in OpenMP version 2022-06-28 01:37:39 -06:00
1d3f865d1b Initial changes to the doc 2022-06-28 00:00:15 -06:00
b1b580cc04 Final tidying up 2022-06-27 17:03:02 -06:00
a8ba6db961 Make the threebody loop optional 2022-06-27 17:02:39 -06:00
4de3f7ed69 intergrate references to dump cfg/uef into the dump command docs 2022-06-25 06:15:49 -04:00
74d1d391b5 fix comm issue with fix bitorsion 2022-06-24 18:14:07 -06:00
5023103dfb Added placeholder get_dgrad_length2() 2022-06-24 17:42:51 -06:00
2f1d320510 Cleaned up baseline code, prior to parallelization 2022-06-24 17:02:12 -06:00
1817b12332 Merge branch 'develop' into amoeba 2022-06-24 17:01:46 -06:00
1c709eb1ef udpate doc pages for ELEMENTS command 2022-06-24 15:31:09 -06:00
7a5410a085 support for >ELEMENTS MDI command 2022-06-24 15:09:15 -06:00
ad3387143a add crosscompiling with MPI support to plugins package 2022-06-24 06:51:29 -04:00
6273e593a3 add "package" target to support building a windows installer with NSIS 2022-06-24 01:20:33 -04:00
db079cd620 must set thirdparty download URL variable for downloading MPICH4Win 2022-06-23 22:27:04 -04:00
14d472d691 First 3 columns are reference forces and indices, instead of last 3 columns. 2022-06-23 16:30:53 -06:00
cf942e7d5f may check for MPI library Fortran support only if MPI is enabled 2022-06-23 15:54:04 -04:00
92ae5f656c Change docs. 2022-06-23 12:45:20 -06:00
8e3a1e84a6 More cleaning up. 2022-06-23 12:32:40 -06:00
2bc50791aa Clean up files. 2022-06-23 12:16:42 -06:00
19dcd9c623 Merge branch 'lammps:develop' into compute-snap 2022-06-23 14:05:11 -04:00
447c836629 Reverted in.snap.compute 2022-06-23 11:56:46 -06:00
7c44eac0a6 Added more to README and obtain MPI settings from lammps Python module 2022-06-23 11:43:14 -06:00
ae18e1e01c Merge pull request #3310 from akohlmey/next_patch_release
Update version strings for the next patch release
2022-06-22 16:26:46 -04:00
ad35bbcb65 Merge pull request #3309 from akohlmey/collected-small-fixes
More fixes and small changes for the stable release
2022-06-22 15:16:01 -04:00
1099199e93 remove any remap related documentation. add paragraph about file compatibility 2022-06-22 14:22:23 -04:00
2396c16026 Update example and docs. 2022-06-22 09:32:41 -06:00
c5999df303 remove dead code and silence compiler warning about it 2022-06-22 10:32:03 -04:00
9b8c19c1a5 correct docs about how to get synchronized timings 2022-06-22 10:24:56 -04:00
2fb3608462 update/correct contact info 2022-06-22 07:06:16 -04:00
37f056c455 get array and vector sizes from the avaiable APIs 2022-06-22 07:06:00 -04:00
49331be33e simplify 2022-06-22 07:05:30 -04:00
3f6add4c40 Merge branch 'fortran2_updates' of github.com:hammondkd/lammps into collected-small-fixes
# Conflicts:
#	examples/COUPLE/fortran2/LAMMPS-wrapper.cpp
#	examples/COUPLE/fortran2/LAMMPS-wrapper.h
2022-06-22 06:41:37 -04:00
c0b109f715 Fixed some typos and updated e-mail addresses in examples/COUPLE/fortran2 2022-06-21 20:53:45 -05:00
b0c673d856 updates from Karl Hammond to adjust his email and correct an error message 2022-06-21 20:37:20 -04:00
b0f4ef8a39 update docs for noremap option to read_restart 2022-06-21 20:19:13 -04:00
7d49ad5924 enable remap for restarting by default, add noremap option 2022-06-21 19:42:17 -04:00
f4342ea7e4 use new version of MDI lib and include Python support 2022-06-21 15:03:22 -06:00
6815b27cd5 step version strings for the next patch release 2022-06-21 08:52:11 -04:00
ad20e54638 fix typos 2022-06-20 23:19:00 -04:00
ec46510d2e add local extract_compute() tests 2022-06-20 23:07:01 -04:00
033af0c507 add unit test for extracting local vector and array via numpy 2022-06-20 18:48:50 -04:00
78129f9078 update embedded docs for LMP_SIZE_VECTOR update for extract_compute() 2022-06-20 18:23:20 -04:00
ac615059a7 update some linewraps for 100 col limit 2022-06-20 18:15:02 -04:00
ffc5b12c5f correct handling data of local computes which always needs to check rows and cols 2022-06-20 18:10:57 -04:00
3828c857f7 accept LMP_SIZE_VECTOR as alias for LMP_SIZE_ROWS with local computes 2022-06-20 18:10:19 -04:00
4881b232d3 whitespace 2022-06-19 16:28:55 -04:00
f632cff8f2 remove excess text and re-apply clang-format 2022-06-19 16:11:37 -04:00
de4558aa07 Tweaked error messages 2022-06-19 09:58:01 -06:00
063fc47f64 tweak to avoid test failure on FreeBSD 2022-06-19 06:38:14 -04:00
f831a776be correct python example 2022-06-18 22:25:32 -04:00
eb69bb28b8 add missing style index entries 2022-06-17 21:52:57 -04:00
b3fea1cb71 make spellchecker happy 2022-06-17 19:48:09 -04:00
34e7fa92ab simplify using fmt 2022-06-17 19:44:13 -04:00
cbc7669a4f apply clang-format 2022-06-17 19:37:26 -04:00
3ff998fdb0 Restricted style string matching 2022-06-17 17:31:58 -06:00
44436c0eb6 Cleaned up programming style 2022-06-17 17:24:34 -06:00
86f0a62ee0 Cleaned up programming style 2022-06-17 17:16:02 -06:00
0e6bbf8dff Remove files from other branch. 2022-06-17 14:16:03 -06:00
b46773e398 add support for writing a dump file footer 2022-06-17 15:53:04 -04:00
06ffed1965 update doc pages 2022-06-17 12:11:13 -06:00
effae2c01a Added compute snap descriptor gradient example. 2022-06-17 12:05:05 -06:00
9fd6bde0ed enable and apply clang-format 2022-06-17 13:47:23 -04:00
d9646ee537 remove dead code 2022-06-17 13:25:40 -04:00
5b9c4069e9 make headers clang-format compatible and use override keywords 2022-06-17 13:25:29 -04:00
378511345a pass ID list to create_atoms from MDI 2022-06-17 11:06:22 -06:00
dac99e462f update log files 2022-06-17 13:04:25 -04:00
db3363649a dated example files 2022-06-17 11:00:59 -06:00
ec411df9ec Merge branch 'develop' into compute-grid-new 2022-06-17 12:51:02 -04:00
185d5cdc0f update .gitignore 2022-06-17 12:50:54 -04:00
f27e9941ae fix homepage urls, tabs & trailing whitespace, remove errors from headers 2022-06-17 12:48:24 -04:00
e201d6e77e Delete files 2022-06-17 12:41:48 -04:00
fe1feb58d8 Merge pull request #3306 from akohlmey/makewheel-fix
Fix issues with building a wheel file during 'make install-python'
2022-06-17 11:58:18 -04:00
deac9f05b1 move the created wheel to the build folder at the end 2022-06-17 08:05:28 -04:00
18f9e5836b support installing the built wheel into virtual environment, if active 2022-06-17 06:52:25 -04:00
21b3020a97 make the "makewheel.py" script independent from the activate_this.py script
The "activate_this.py" script only seems to be included in virtualenv,
but not venv. Now we implement its effect directly.
2022-06-17 00:10:06 -04:00
a7c5b5e8fd Finsished documentation 2022-06-16 20:22:40 -06:00
f12e8f932a Eliminated problem with unassigned coordinates in grid array 2022-06-16 18:20:46 -06:00
1f35065afc change to 9 element stress tensor 2022-06-16 17:38:57 -06:00
4dbecbba51 more work on examples 2022-06-16 16:07:40 -06:00
dd3aab0c66 Merge pull request #3300 from lammps/doc-package-update
Update package affiliation for Zhen Li
2022-06-16 18:04:45 -04:00
58152cdc68 Merge pull request #3304 from lammps/dependabot/github_actions/actions/cache-3
Bump actions/cache from 2 to 3
2022-06-16 17:48:30 -04:00
04bb611bf2 Merge pull request #3303 from lammps/dependabot/github_actions/actions/setup-python-4
Bump actions/setup-python from 2 to 4
2022-06-16 17:21:53 -04:00
2fc0a44ab2 Bump actions/cache from 2 to 3
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-16 19:41:23 +00:00
ba4cbf7055 Bump actions/setup-python from 2 to 4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-16 19:41:20 +00:00
f75115d801 Merge pull request #3301 from turrisxyz/Dependabot-GitHub-Actions
Included githubactions in the dependabot config
2022-06-16 15:40:59 -04:00
0a5d921f3f update affiliation in source code as well 2022-06-16 15:37:55 -04:00
535a5211fc More cleanup 2022-06-16 10:33:54 -06:00
e30f86c2ff Removed a few more unnecessary member data 2022-06-16 08:22:51 -06:00
483e3cf049 Eliminated global storage for grid/local 2022-06-15 20:28:22 -06:00
70f836e275 Updated to latest LAMMPS 2022-06-15 19:53:37 -06:00
cdc0b48a0b chore: Included githubactions in the dependabot config
This should help with keeping the GitHub actions updated on new releases. This will also help with keeping it secure.

Dependabot helps in keeping the supply chain secure https://docs.github.com/en/code-security/dependabot

GitHub actions up to date https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot

https://github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-06-16 01:33:01 +00:00
86034a6277 Merge remote-tracking branch 'origin/develop' into compute-grid-new 2022-06-15 19:04:50 -06:00
9d5f4bf1e9 Updated to include switchinnerflag support, anticipating merging in the latest LAMMPS 2022-06-15 19:02:14 -06:00
8004f8bf0f Removed unneeded member functions and data 2022-06-15 18:59:48 -06:00
9ca91bfe80 Created two simple examples of compute sna/grid and sna/grid/local 2022-06-15 18:14:27 -06:00
12d6983c9b more example bug fixes 2022-06-15 17:08:54 -06:00
9840aad703 Merge pull request #3299 from akohlmey/fix-codeql-workflow
Update GitHub workflow files
2022-06-15 10:49:58 -04:00
1403a0dd94 update affilication for Zhen Li 2022-06-15 08:22:59 -06:00
9842879db1 fix typos 2022-06-15 08:14:53 -04:00
a5745d925a new examples and debugging code changes 2022-06-14 17:29:01 -06:00
03c0b4ae27 upgrade action versions 2022-06-14 19:08:28 -04:00
728e4a5910 add permissions for codeql action 2022-06-14 19:08:01 -04:00
5060a8b8a5 Make dB/dR indices start at zero in compute snap array. 2022-06-14 16:31:31 -06:00
cfe5025495 Merge pull request #3296 from akohlmey/collected-small-changes
Collected small changes for the next release
2022-06-14 18:18:28 -04:00
927287e3e5 fixes from clang-tidy 2022-06-14 14:06:11 -04:00
215552eb56 typo 2022-06-14 12:39:03 -04:00
34863c6c97 updates to fix_mdi_qm for multiple sims 2022-06-14 10:14:36 -06:00
35a48f273b rename local variable shadowing a global one 2022-06-14 10:45:31 -04:00
2028c68bec remove unused imports 2022-06-14 10:45:05 -04:00
6abb316dba avoid resource leak 2022-06-14 10:36:21 -04:00
7a64d1358e remove unused module 2022-06-14 10:36:11 -04:00
f423c32f42 reaxff delete species docs 2022-06-14 01:23:36 -04:00
fbf9f62eef add credits 2022-06-14 01:18:46 -04:00
716a012dbe add keyword for 'delete species list' option
also add check that only one sub-keyword is used
2022-06-14 00:51:53 -04:00
26dcb649bb remove redundant check 2022-06-13 22:10:51 -04:00
423c511d7a use explicit scoping in destructor 2022-06-13 22:10:43 -04:00
b44d769024 Merge branch 'collected-small-changes' of https://github.com/akohlmey/lammps into collected-small-changes 2022-06-13 22:01:54 -04:00
ea48dd3019 avoid file pointer leakage in dump reader base class. 2022-06-13 22:01:30 -04:00
0f5ae6d48c remove references to "plugin" options from fix mdi/aimd 2022-06-13 22:00:36 -04:00
c53e53d701 must set suffix variable only when suffixflag is true 2022-06-13 17:47:20 -04:00
407e015c80 more doc page edits for enhanced fix mdi/qm command 2022-06-13 15:46:58 -06:00
33f4bb525b remove redundant condition 2022-06-13 17:43:40 -04:00
9098a01e13 Merge pull request #14 from weinbe2/kk_meam_release
Partial progress on a Kokkos port of MEAM
2022-06-13 10:30:26 -06:00
9ac17d2ff8 Commit of Pair MEAM WIP Kokkos port. Currently compiles but does not work. 2022-06-13 09:19:24 -07:00
ef48fd2d9c remove unused imports 2022-06-12 23:36:43 -04:00
8346ae2565 more edits 2022-06-10 15:32:41 -06:00
ed702aab05 update for renamed style names 2022-06-10 13:00:36 -04:00
82185046ae Merge pull request #3293 from stanmoore1/compute_ave_sphere_atom
Fix issues in compute ave/sphere/atom
2022-06-10 12:57:35 -04:00
ac48852b2d edits to 1st paragraph of description 2022-06-10 08:30:23 -06:00
204bba6ff7 new options for fix mdi/aimd 2022-06-10 08:17:14 -06:00
41a34a4988 reaxff/species delete keyword 2022-06-09 23:22:16 -04:00
495418158a Clarify doc page 2022-06-09 15:51:31 -06:00
5d7b1f3ebb fix small issues 2022-06-09 15:36:17 -06:00
80727e47f4 Add attribution 2022-06-09 15:31:48 -06:00
9be6e2a064 Use COM velocity 2022-06-09 15:29:40 -06:00
7f1e76b7a5 Don't compute count twice 2022-06-09 14:53:44 -06:00
302287e4d0 debug comment for extending preconditioner neigh list 2022-06-09 14:19:53 -06:00
8427697caf Merge branch 'develop' into amoeba 2022-06-09 13:19:12 -06:00
174219383a Merge pull request #3290 from akohlmey/collected-small-changes
Collected small bugfixes and changes and plugin building improvements
2022-06-08 20:13:22 -04:00
1acfb78b3a Merge pull request #3295 from stanmoore1/kk_reax_tagint
Fix int32 overflow in Kokkos ReaxFF
2022-06-08 18:29:59 -04:00
483396c757 Merge branch 'collected-small-changes' of https://github.com/akohlmey/lammps into collected-small-changes 2022-06-08 18:06:59 -04:00
68a9db0950 fix typos 2022-06-08 17:07:08 -04:00
5fca9f4d1f update mathjax version with bugfix release 2022-06-08 17:04:26 -04:00
b6e0d76123 fix some docs formatting issues 2022-06-08 12:47:30 -04:00
7769a8e0de update ROCm to version 5.1.3 consistently 2022-06-08 12:18:17 -04:00
55fdb7f12a update GPU container definitions for CUDA 11.7 and singularity -> apptainer 2022-06-08 08:19:54 -04:00
42694ba640 reduce warnings when compiling with KOKKOS 2022-06-07 19:39:36 -04:00
d7680dd785 Fix int32 overflow in Kokkos ReaxFF 2022-06-07 10:11:39 -06:00
96b5a706da apply clang-format 2022-06-06 21:39:10 -04:00
880382e26a Compute snap array contains force indices in last columns. 2022-06-06 17:43:47 -06:00
67d367e714 Fix copy/paste bug 2022-06-06 15:28:40 -07:00
7e77b61042 simplify 2022-06-06 15:23:03 -07:00
5c68fe6e81 Fix issues in compute ave/sphere/atom 2022-06-06 15:15:47 -07:00
ce646a3859 Working derivative extraction. 2022-06-06 15:26:52 -06:00
8f773be2d6 must open files for xtc dump in binary mode 2022-06-06 15:01:25 -04:00
dcbc5256fa additional OpenMP suppressions for newer GCC 2022-06-05 12:37:03 -04:00
b338781f88 cosmetic 2022-06-05 06:52:15 -04:00
b0d2cc3052 we can build a plugin instead 2022-06-04 19:23:32 -04:00
3af9546b94 provide README files with pointers to the developer info for plugins
also add a paragraph with information about the ML-PACE plugin to the
plugin developer info docs.
2022-06-04 11:49:33 -04:00
a232bd3302 refactor LAMMPS plugin building to share more code and to add a demo for ML-PACE 2022-06-04 10:59:25 -04:00
3beb071d38 make plugin compilation settings with MSVC consistent and more compile specific 2022-06-04 05:15:14 -04:00
0dc486c90b fix bug introduced during stringification 2022-06-04 05:00:28 -04:00
fa9ad10bc1 add missing line to read_data docs about atom style dielectric 2022-06-04 05:00:12 -04:00
25c74652e3 remove bogus tags 2022-06-04 04:25:13 -04:00
587438eb30 fix typo in read_data add merge example 2022-06-03 09:14:34 -04:00
7c4d77f776 tweak epsilon for portability 2022-06-03 07:36:25 -04:00
f9b5679c00 remove unused function arguments 2022-06-03 07:16:19 -04:00
f68247ad6a add ML-PACE and PLUGIN packages to be compiled with MinGW cross-compilers 2022-06-03 05:10:00 -04:00
ceb9466172 Merge pull request #3283 from akohlmey/next_patch_release
Step version strings for next patch release
2022-06-02 21:22:16 -04:00
2da61d69a1 Merge pull request #3289 from akohlmey/collected-small-changes
A few last minutes updates and fixes for the next patch release
2022-06-02 20:16:39 -04:00
31f7798720 Merge pull request #3278 from yury-lysogorskiy/feature/ml-pace-multispecies
ML_PACE package hybrid support and small updates
2022-06-02 19:27:53 -04:00
aad4d093b8 correctly handle the situation that the build folder may have multiple libs downloaded 2022-06-02 18:18:32 -04:00
ad97d18ac7 Merge pull request #3286 from Colvars/update-colvars-lepton
Update Colvars to 2022-05-24 and copy of Lepton library
2022-06-02 18:09:05 -04:00
4913c72795 Merge pull request #3288 from olavgal/clean_stress_cartesian
Clean stress cartesian
2022-06-02 17:19:19 -04:00
2a054c17be - set species type for NULL atom type to -1. species_type=-1 value will not reach ACE Evaluator::compute_atom, but if it will ,then error will be thrown there
- updating lib pace MD5SUM (for both make and cmake installation scenario), but use same tag name v.2021.10.25.fix2 (add override keyword to ACERadialFunctions, add check for species_type==-1, fix yaml_cpp CMakeLists.txt)
2022-06-02 23:01:54 +02:00
260a5f4d52 update false positives 2022-06-02 14:39:08 -04:00
90add188cb Merge pull request #3279 from schererc/develop
Addition of two new MANYBODY pair styles (sw/angle/table and threebody/table)
2022-06-02 14:24:44 -04:00
9d252fe0d2 remove error docs and apply clang-format 2022-06-02 12:57:45 -04:00
a74f64a737 do not allow per-atom arrays to shrink 2022-06-02 12:55:47 -04:00
fc468accf5 clang-format and removed more unused variables 2022-06-02 18:34:48 +02:00
954700dea5 Updated memory calculation and removed unused variables 2022-06-02 18:28:04 +02:00
2742517a4f Clean up of stress/cartesian 2022-06-02 18:26:09 +02:00
7a02043f18 update docs to list examples and include links to the tutorials 2022-06-02 12:11:10 -04:00
04586e634e Remove trailing whitespace from Lepton per suggestion from @akohlmey 2022-06-02 11:52:39 -04:00
6c375ffade Update PDF Colvars manual 2022-06-02 11:48:19 -04:00
3a1423dc48 Update Colvars to 2022-05-24 and copy of Lepton library
One bugfix for the Colvars library in the ABF method, and update of the copy
of the Lepton library as per the OpenMM repository.

List of relevant PR.

- 483 Update Lepton via patching procedure
  https://github.com/Colvars/colvars/pull/483 (@giacomofiorin)

- 482 Fix integer overflow in log_gradient_finite_diff and gradient_finite_diff
  https://github.com/Colvars/colvars/pull/482 (@HanatoK)
2022-06-02 11:24:04 -04:00
5a4688ed44 Update pair_pace.cpp 2022-06-02 09:05:15 -06:00
fdc8bcfbfc I removed the comment attributed to me, it is now outdated. 2022-06-02 09:03:16 -06:00
5300a5aa58 Merge remote-tracking branch 'github/amoeba' into amoeba-ak
# Conflicts:
#	src/AMOEBA/pair_amoeba.h
2022-06-02 09:10:12 -04:00
e214013a91 tweak epsilon to avoid failure on FreeBSD 2022-06-02 07:53:41 -04:00
8e415f0c00 try to enforce QUIP submodule update strategy 2022-06-01 22:26:35 -04:00
c028dcbdf7 small tweak 2022-06-01 22:14:04 -04:00
e36620059d simplify, apply clang-format 2022-06-01 22:08:35 -04:00
866391e830 modify so pair style pace will work as pair style hybrid substyle 2022-06-01 21:56:13 -04:00
9f021ba490 whitespace 2022-06-01 21:54:33 -04:00
c0bd4185f8 Merge branch 'develop' into feature/ml-pace-multispecies 2022-06-01 21:10:59 -04:00
30ae7fe66b Merge pull request #3285 from akohlmey/clang-format-clang-tidy
Apply clang-tidy and clang-format to update/modernize/simplify recently modified code
2022-06-01 19:04:43 -04:00
bf9b79b734 Merge pull request #3284 from stanmoore1/kk_3280
Port changes in #3280 to Kokkos
2022-06-01 18:54:58 -04:00
429cd204c4 bugfix in dipole neigh list memory usage 2022-06-01 16:26:25 -06:00
4bf90988e2 Fix bug when comparing equal tags 2022-06-01 14:52:07 -06:00
b45117655e move patch release date 2022-06-01 16:13:45 -04:00
217b070204 add unit tests 2022-06-01 15:31:49 -04:00
f29c45f09a Merge branch 'amoeba' of github.com:lammps/lammps into amoeba 2022-06-01 13:19:59 -06:00
ea3467ab32 benchmarking of replicated systems 2022-06-01 13:19:47 -06:00
7d31544cc2 simplify and avoid memory access and leak issues in parallel 2022-06-01 15:04:28 -04:00
8a055fdcfa merge with third manybody table example and provide updated log files 2022-06-01 15:04:07 -04:00
b9b0d7207c apply clang-format 2022-06-01 14:24:23 -04:00
edea4fa9a2 fix memory allocation/communication issues. avoid memory leaks. 2022-06-01 14:23:30 -04:00
8e9071b01f move and update threebody/table examples 2022-06-01 14:22:53 -04:00
ee6e18f08e Merge branch 'develop' into schererc/develop 2022-06-01 12:07:06 -04:00
b85b3e1f4c fix doc file names and links 2022-06-01 12:06:56 -04:00
95a979c657 examples/PACKAGES: rename pair_sw_3b_table to pair_sw_angle_table
including all input and documentation files
2022-06-01 16:34:10 +02:00
e8d9bf0507 examples/PACKAGES: renamed pair_3b_table to pair_threebody_table
including all input and documentation files
2022-06-01 16:30:37 +02:00
3a19b1eb4b Update pair_style.rst
pair_style.rst: update due to name changes from 3b/table to threebody/table and sw/3b/table to sw/angle/table
2022-06-01 16:16:13 +02:00
f6fab8365a Update Commands_pair.rst
Commands_pair.rst: update due to name change from 3b/table to threebody/table and sw/3b/table to sw/angle/table
2022-06-01 16:14:37 +02:00
64d67f7604 Update pair_sw_angle_table.rst
pair_sw_angle_table.rst: minor correction
2022-06-01 16:12:13 +02:00
c1e301ac1a Update pair_3b_table.rst
changed documentation and file name from pair style 3b/table to threebody/table
2022-06-01 16:11:47 +02:00
a833baac80 Update pair_sw_angle_table.cpp
Minor correction in pair_sw_angle_table.cpp
2022-06-01 16:04:09 +02:00
187ccdd222 Update and rename pair_3b_table.cpp to pair_threebody_table.cpp
changed pair 3b/table to pair threebody/table including name of .cpp file
2022-06-01 16:03:06 +02:00
5756dedfed Update and rename pair_3b_table.h to pair_threebody_table.h
changed pair style and file name of header file from 3b/table to threebody/table
2022-06-01 15:52:46 +02:00
ebce66389e Update and rename pair_sw_3b_table.rst to pair_sw_angle_table.rst
changed documentation and file name from sw/3b/table to sw/angle/table
2022-06-01 14:24:40 +02:00
8dfa4a8682 Update and rename pair_sw_3b_table.cpp to pair_sw_angle_table.cpp
Changed .cpp file for pair style sw/3b/table to sw/angle/table
2022-06-01 14:20:30 +02:00
25f24fbab1 Update and rename pair_sw_3b_table.h to pair_sw_angle_table.h
Renamed header file from sw/3b/table to sw/angle/table
2022-06-01 14:11:32 +02:00
9da3dd796a delete undesired default members instead of making them inaccessible 2022-06-01 02:30:25 -04:00
5abb6c76af small tweak 2022-06-01 02:13:02 -04:00
ef6c48dad7 Whack tabs 2022-05-31 14:53:17 -06:00
b675372d99 Use MIN_SINE and add comment 2022-05-31 14:44:18 -06:00
234b9f180a use clang-tidy and clang-format to update/modernize/simplify code 2022-05-31 14:46:57 -04:00
3b4e698421 Merge branch 'develop' of github.com:lammps/lammps into kk_3280 2022-05-31 12:38:03 -06:00
77835a4258 Port changes in #3280 to Kokkos 2022-05-31 12:36:04 -06:00
7c0c7ce93c Merge pull request #3281 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2022-05-31 13:10:35 -04:00
b8599ccb42 fix small local vs. ghost atom access inconsistency in pair style bop 2022-05-31 11:52:16 -04:00
de5c2629ac small tweak 2022-05-31 06:53:19 -04:00
3f332ab0c1 step version strings for next patch release 2022-05-31 06:51:13 -04:00
cc86e9e8a8 remove windows+gcc test (for now) 2022-05-29 19:56:39 -04:00
fa79a66734 feof() returns non-zero not necessarily 1 2022-05-29 19:53:11 -04:00
562cd12d82 revert github action build to LAMMPS repo and develop branch 2022-05-29 15:04:41 -04:00
90730f0d3c update windows version history 2022-05-29 02:01:21 -04:00
5318ce9b74 compute snapneigh gets atom and neighbor indices 2022-05-28 20:08:58 -06:00
4c36c79652 remove feature for automatic jpeg/png/zlib library download and build
this is a post-stable feature and would require a general rewrite of offline processing
2022-05-28 15:20:22 -04:00
d4f1b702a2 Working derivative extraction. 2022-05-28 10:31:45 -06:00
81c327edd8 add missing override. remove redundant functionality and disable warnings differently
this removes an inconsistent overload due to mismatch of arguments
2022-05-28 11:56:26 -04:00
86787cfc6c whitespace and clang-format for headers 2022-05-28 11:28:13 -04:00
9f7f043e83 whitespace 2022-05-28 11:23:45 -04:00
e8dfb2fc38 fix off-by-one bug 2022-05-28 09:23:08 -04:00
a8eb248b1e reduce compiler warnings. avoid uninitialized data access. consolidate labeling 2022-05-28 09:19:35 -04:00
14a9d34838 fix compilation issues 2022-05-28 05:57:06 -04:00
97fab45f7e Merge branch 'develop' into amoeba-ak 2022-05-28 05:24:02 -04:00
d4904dd5fc Merge branch 'amoeba' into amoeba-ak
# Conflicts:
#	src/AMOEBA/amoeba_dispersion.cpp
#	src/AMOEBA/angle_amoeba.cpp
#	src/AMOEBA/pair_amoeba.cpp
#	src/pair.h
2022-05-28 05:23:19 -04:00
d0edd7129c update workflows 2022-05-28 04:55:27 -04:00
3615639bdd Check for a working internet connection.
With this check we only do automatic downloads if the check passes
2022-05-28 04:55:10 -04:00
e2dd08a93e Better handle file- or path-names with spaces 2022-05-28 04:55:10 -04:00
5f811f852f stop with detailed parser error message with incorrect potential tables 2022-05-28 04:45:52 -04:00
886ad8359e use venv instead of virtualenv 2022-05-28 04:45:52 -04:00
0b3efa4dd6 set masses from BOP potential files, update unit tests accordingly 2022-05-28 04:45:52 -04:00
d7c1e54538 address some more NOTE comments 2022-05-27 17:30:20 -06:00
e91d1dba98 Merge pull request #3280 from athomps/reaxff-torsion-zero-sine
Eliminated bad torsion forces for sin(theta) = 0
2022-05-27 12:11:46 -04:00
cfb3d6bdf8 simplify, remove inactive code, plug memory leaks 2022-05-27 07:48:00 -04:00
3ecb6bb54a Update pair_3b_table.cpp
Added (forgotten) line "u=pm->mltable->efile[itable];" to compute energy due to read in table values
2022-05-27 12:34:53 +02:00
49a75d576e Eliminated bad torsion forces when when sin(theta) is zero 2022-05-26 17:28:05 -06:00
ab2b7a2c01 Merge pull request #3275 from akohlmey/collected-small-changes
Collected small changes and fixes
2022-05-26 18:07:43 -04:00
f09e4c7583 remove check on box size from pair style bop 2022-05-26 16:56:43 -04:00
587999fabb mention that MSM does not support shrink-wrap 2022-05-26 15:33:23 -04:00
f0f6660050 join lines 2022-05-26 12:15:27 -04:00
d9b560e70b properly integrate into manual 2022-05-26 12:08:21 -04:00
2a7407aa38 programming style updates 2022-05-26 11:41:51 -04:00
48f477e4b4 Update pair_sw_3b_table.rst
Small correction
2022-05-26 15:19:41 +02:00
e890e5718e examples/PACKAGES/pair_3b_table: added example for new pair style 3b/table 2022-05-26 14:45:22 +02:00
b8dfb23ede examples/PACKAGES/pair_sw_3b_table/README: corrections in the text 2022-05-26 14:32:12 +02:00
18c9960db0 examples/pair_sw_3b_table/README: minor correction 2022-05-26 14:25:24 +02:00
f9fbc7f94b doc/src/pair_3b_table.rst: documentation for added pair style 3b/table 2022-05-26 14:17:36 +02:00
27524742e5 src/MANYBODY/pair_3b_table.h, src/MANYBODY/pair_3b_table.cpp: added pair style for generic fully tabulated three-body forces which has been developed for simulations with Kernel-based machine learning potentials. 2022-05-26 14:16:26 +02:00
770454cb8b examples/PACKAGES/pair_sw_3b_table: added example for new pair style sw/3b/table 2022-05-26 14:00:06 +02:00
0e114b1041 doc/src/pair_sw_3b_table.rst: documentation for added pair style sw/3b/table 2022-05-26 13:35:40 +02:00
1cfba3d8bb src/MANYBODY/pair_sw_3b_table.h, src/MANYBODY/pair_sw_3b_table.cpp: added pair style sw/3b/table which is a modification of the SW pair style with tabulated angular potentials 2022-05-26 13:21:47 +02:00
1ae62793eb src/MANYBODY/pair_sw.h: made read_file(char *) virtual to allow overriding 2022-05-26 13:17:45 +02:00
dba9fdb1ef Merge branch 'develop' into collected-small-changes 2022-05-26 06:37:24 -04:00
2085c10002 update version of lib-pace to v.2021.10.25.fix2 2022-05-25 17:56:24 +02:00
f6680861a0 BUGFIX: bad array length: initialize maximum number of neighbours with max_jnum=0 2022-05-25 17:27:12 +02:00
7c2a548015 Merge pull request #3277 from erozic/feature-pylammps-verbose
Verbose object-level option for PyLammps
2022-05-25 10:57:58 -04:00
0a8b4c5142 Hotfix for triclinic calculations 2022-05-25 15:27:27 +02:00
3ee209d031 update singularity definition for ubuntu22.04LTS
This now has the changes required to include the openkim-api package
2022-05-25 06:35:08 -04:00
75c0287024 modify example input and output files 2022-05-24 16:59:27 -06:00
97eb6c195f updated examples 2022-05-24 16:49:30 -06:00
ed0f53cfde add citations to doc page, address more NOTE comments 2022-05-24 16:44:06 -06:00
43048811dd Build dbidrj array. 2022-05-24 15:33:40 -06:00
c6c0b269ec Merge pull request #3276 from shankar1729/develop
Fixed TIP4P handling in PPPM slab correction.
2022-05-24 17:20:42 -04:00
59e0103430 Added EPSILON to subdomain check 2022-05-24 17:00:41 +02:00
1aaa9ca4ae Added documentation for verbose option 2022-05-24 12:02:34 +02:00
b66702c285 Added verbose class option + removed empty output lines 2022-05-24 11:37:44 +02:00
43b57b8aa5 update unit test reference data 2022-05-23 20:14:10 -04:00
ef80bb194a Fixed TIP4P handling in PPPM slab correction.
Overridded the slabcorr() function to handle the charge being on the TIP4P "M" site in the dipole calculation (and corresponding force correction). This is important for any long-range electrostatics in aqueous interfaces with the TIP4P model.
2022-05-23 17:28:32 -04:00
3662d998ee fix typo + cut-n-paste error 2022-05-23 11:53:58 -04:00
bead819070 changes missing from the previous commit 2022-05-23 11:37:00 -04:00
b461a49eee use _EXECUTABLE consistently instead of _BINARY 2022-05-23 11:14:17 -04:00
9f7833668a whitespace 2022-05-22 18:15:10 -04:00
0069c4b562 update docs for automatic jpeg/png/zlib library download and build with CMake 2022-05-22 18:10:26 -04:00
46df8abe75 rename jpeg cmake file for consistency 2022-05-22 17:49:54 -04:00
3c3c1377c8 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2022-05-22 17:47:58 -04:00
d905d3fbf5 reorganize build settings and presets 2022-05-22 17:46:12 -04:00
1959cd7037 download, build, and link missing png and zlib libraries with CMake 2022-05-22 17:45:42 -04:00
7d3d986d18 download, build, and link a missing jpeg library with CMake 2022-05-22 14:03:20 -04:00
cd8bef3b0b enable and apply clang-format 2022-05-22 07:04:35 -04:00
9a973e67fa enable and apply clang-format 2022-05-22 06:46:24 -04:00
b407b2f239 apply clang-format 2022-05-21 23:35:47 -04:00
93692ce308 Improved Windows and Visual Studio version detection
This now uses the CurrentBuild key to detect the Windows version and only falls back to product name, if that fails.
This is needed because Windows 11 reports itself as Windows 10 in the product name key.
2022-05-21 23:33:13 -04:00
007588f9cb use GZIP executable variable name consistently 2022-05-21 18:56:58 -04:00
e3e849b266 skip compressed file format tests if gzip executable is not found 2022-05-21 07:37:25 -04:00
18df50356e Merge pull request #3273 from stanmoore1/kk_mem
Initial refactor of view allocation in Kokkos package
2022-05-20 16:34:28 -04:00
c3ce77bc8c improve energy scaling sanity checks 2022-05-20 16:33:46 -04:00
2b001f9505 Fix subdomain check for triclinic 2022-05-20 13:21:55 -06:00
2c5ce83d59 must set Output::next_dump_any to current step with rerun 2022-05-20 09:27:16 -04:00
7eb926c853 clarify the description of pair style none
explain that pair style none is effectively deleting any existing
pair style and that communication and neighbor list cutoff are affected.
update those explanations for changes to LAMMPS that allow adjusting
those not just with the neighbor list skin.
Also add that pair_coeff must not be used.
2022-05-20 07:14:05 -04:00
08b1034d54 enable and apply clang-format 2022-05-20 07:12:25 -04:00
a16974ca48 enable and apply clang-format 2022-05-20 06:51:36 -04:00
21c2f8a74b fix miscalculated example 2022-05-20 01:06:21 -04:00
814daf7f4f fix cut-n-paste error 2022-05-20 01:06:09 -04:00
bfb126ec7c make neighbor list searches optionally check for the request ID 2022-05-19 23:37:55 -04:00
07e93a643a spelling 2022-05-19 23:36:54 -04:00
13fc4f3588 must install wheel package before all other packages 2022-05-19 23:07:12 -04:00
36d091baeb fix underline 2022-05-19 23:06:54 -04:00
4801fa00f8 update MathJax to latest bugfix release 2022-05-19 22:53:48 -04:00
872e4de6ab Rolled back the Modine transpose 2022-05-19 23:21:15 +02:00
75df9d4f2c Merge pull request #3271 from akohlmey/collected-small-changes
Collected small changes and fixes
2022-05-19 13:27:28 -04:00
a9431208a2 Use c++11 variadic magic, suggested by @weinbe2 2022-05-19 10:35:10 -06:00
7b0c7c04ed address sphinx issues and make command list consistently list all min styles 2022-05-19 12:21:06 -04:00
2138aea01f Merge branch 'two-command-tables' into collected-small-changes 2022-05-19 12:16:37 -04:00
7e75b7bff5 whitespace 2022-05-19 12:16:31 -04:00
5990241fbe refactor min_style spin doc page 2022-05-19 09:13:47 -06:00
d8d6884def Remove use_count check, reduce memory use in ReaxFF 2022-05-19 09:10:20 -06:00
eb4c1cd14f update attempt to hide hwloc pci bus warnings 2022-05-19 07:28:57 -04:00
361e303177 fix cut-n-paste error 2022-05-19 04:14:31 -04:00
898eda794c minor updates 2022-05-19 00:06:11 -04:00
5ac8e5639a more information about compiling LAMMPS on windows 2022-05-19 00:06:00 -04:00
cb2126f313 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2022-05-18 23:21:52 -04:00
0c73c9307f Add configurations for Intel Compilers on Windows 2022-05-18 23:20:57 -04:00
c0a8458d89 remove unused class members 2022-05-18 22:06:31 -04:00
b5830aae83 suppress excessive warnings and undesired aborts with Intel LLVM compiler 2022-05-18 21:43:09 -04:00
06ad119844 Initial refactor of view allocation in Kokkos package 2022-05-18 17:15:36 -06:00
fa6c81849b split Command table into two tables 2022-05-18 16:26:58 -06:00
15eebd43b9 address some NOTE comments 2022-05-18 15:47:43 -06:00
d323b7817d put back some whitespace 2022-05-18 14:59:15 -04:00
eb3ee96b9c also apply 2 atom minimum to balance() and packing atom IDs 2022-05-18 14:22:43 -04:00
bfd6efcedb no need to sort dump if there are less than 2 atoms 2022-05-18 13:48:06 -04:00
c16f40eb7c don't enable OpenMP together with CUDA for KOKKOS by default 2022-05-18 12:23:38 -04:00
acbeae075a no need to suppress nvcc warnings about pragmas with Clang as host compiler 2022-05-18 12:17:06 -04:00
2b51a92231 error check for per-atom eng/virial request 2022-05-18 10:13:56 -06:00
df2ecf5bf8 timings, energy, virial tallying 2022-05-18 08:49:31 -06:00
4f45ae2ef6 improve support for intel compilers on windows 2022-05-18 09:14:18 -04:00
5559491d7b add missing overrides 2022-05-18 09:13:52 -04:00
ba0efbef31 include presets for intel compiler names on windows 2022-05-18 09:13:37 -04:00
7646592f05 recognize the new LLVM based intel compiler as intel compiler 2022-05-18 08:54:26 -04:00
02908f0468 modernize MKL FFT interface 2022-05-18 08:42:40 -04:00
6475d4b956 Skip Fortran unittests if no Fortran MPI support is found 2022-05-18 07:16:16 -04:00
d54f97736e whitespace 2022-05-18 06:32:52 -04:00
1466620750 update googletest to the latest github commit 2022-05-18 06:09:42 -04:00
baa48946e5 add comment to please CodeQL 2022-05-18 00:56:10 -04:00
e7b9d03573 crank up epsilon for tip4p/cut styles some more 2022-05-18 00:28:42 -04:00
d8b37601a8 Merge pull request #3262 from akohlmey/collected-small-changes
Collected small changes and fixes
2022-05-18 00:11:05 -04:00
d94bcd043b enforce using a single thread with Kokkos and SNAP or PACE 2022-05-17 23:42:24 -04:00
15a727a7ff avoid segfaults with Kokkos threads 2022-05-17 23:41:46 -04:00
e94275391c Merge branch 'develop' into collected-small-changes 2022-05-17 22:10:15 -04:00
935c9a02d7 Merge pull request #3267 from athomps/born-rotated
Added Python wrapper that handles rotations to and from LAMMPS frame
2022-05-17 19:52:52 -04:00
55e0af930b Merge pull request #3269 from yury-lysogorskiy/master
Update ML-PACE installation to v.2021.10.25.fix version
2022-05-17 19:50:49 -04:00
dbcc08ba00 more refactoring for memory usage 2022-05-17 16:26:53 -06:00
a5171beacd make lammps-shell test compatible with MULTI-CONFIG CMake builders 2022-05-17 18:26:27 -04:00
72209b0617 Merge pull request #3258 from akohlmey/create-atoms-mesh
Create atoms from STL mesh
2022-05-17 18:11:41 -04:00
899764c00c Merge pull request #3268 from akohlmey/update-kappa-example
Update KAPPA example
2022-05-17 17:18:45 -04:00
cebbd471cf tweak unit test epsilon for portability to MacOS /w ARM 2022-05-17 17:15:42 -04:00
8ffe2a206c Update ML-PACE installation to v.2021.10.25.fix version 2022-05-17 22:41:43 +02:00
e07b46c771 refactoring edits 2022-05-17 14:40:09 -06:00
f9efa426a7 Merge pull request #3256 from lammps/delete-atoms-exact
Delete atoms exactly by fraction or count
2022-05-17 16:25:21 -04:00
ae979aca4e consistently use prefactor instead of pre-factor (the former was more common) 2022-05-17 16:20:10 -04:00
38d7fcee92 correct and update create_atoms mesh documentation 2022-05-17 16:16:32 -04:00
e7d072c593 add sanity check on radscale value, set radius also for quasi-random mode 2022-05-17 16:15:46 -04:00
510e78d4d3 test scripts 2022-05-17 12:44:11 -06:00
d487ab10e2 doc page and unittest tweaks 2022-05-17 12:00:40 -06:00
853e3ae99b fix typo and clarify error message 2022-05-17 13:52:29 -04:00
dbb3e75f24 change partial to random 2022-05-17 11:02:42 -06:00
fe4782696e silence compiler warnings 2022-05-17 06:03:01 -04:00
326b833d7f (temporarily) disable Kokkos deprecation warnings in CMake presets in preparation for stable release 2022-05-17 06:02:50 -04:00
bf98df3264 silence compiler warnings 2022-05-16 23:20:04 -04:00
df40732343 Make cast to double explicit 2022-05-16 15:00:13 -04:00
d32885fbe3 Fix compiler warnings 2022-05-16 14:48:02 -04:00
659fd82a9e Fix compiler warnings 2022-05-16 14:35:24 -04:00
db2d5b863d Improved MPI portability and added reference log files 2022-05-16 08:22:45 -06:00
ee8a8b6cd0 Added Python wrapper that handles rotations to and from LAMMPS frame 2022-05-15 17:43:18 -06:00
b1ba616470 update KAPPA example for current code, to use thermo_modify colname, and compute kappa in input 2022-05-15 18:58:50 -04:00
44f3ad5620 update singularity image descriptions for newer versions of cuda and rocm 2022-05-15 08:11:50 -04:00
c0e5a03989 update tests for delete_atoms 2022-05-15 01:56:59 -04:00
f62363516c streamline the refactored interface for delete_atoms partial some more 2022-05-15 01:56:45 -04:00
8e6b0425f7 apply clang-format 2022-05-14 18:01:34 -04:00
a79814793e improve handling of hybrid styles and their arguments and errors 2022-05-14 17:56:44 -04:00
1f30d3f140 programming style 2022-05-14 17:56:12 -04:00
1b552de1cd make default settings() functions for bonded interactions error out with arguments 2022-05-14 17:55:56 -04:00
42a4fba390 implement better checking for atom_style arguments and remove redundant code 2022-05-14 15:43:11 -04:00
173e80a970 Merge pull request #71 from jtclemm/create-atoms-mesh
Fixing typos and cleaning up quasirandom comments
2022-05-14 15:13:27 -04:00
55fef9a482 Fixing typos and cleaning up quasirandom comments 2022-05-14 11:39:20 -06:00
9a9bb749fa Merge remote-tracking branch 'github/develop' into collected-small-changes 2022-05-14 10:39:18 -04:00
223aebe3fb Merge pull request #3251 from stanmoore1/kk_update_3.6.0
Update Kokkos library in LAMMPS to v3.6.0
2022-05-14 10:38:41 -04:00
168d3bdd3c Correctly handle the case that the YAML python module is not installed 2022-05-14 10:15:40 -04:00
9661711a1e avoid out-of-bounds access in dump style cfg, update docs with simpler semantic 2022-05-14 09:39:50 -04:00
d4ea5ca49e more clang-tidy fixes after re-running it with added settings 2022-05-14 07:18:05 -04:00
2f0baa86d6 configure desired clang-tidy settings explicitly, must unset variable to turn off 2022-05-14 07:13:25 -04:00
b8a4ddc42a Merge pull request #3264 from stanmoore1/kk_pace_release
Add Kokkos version of ML-PACE
2022-05-13 23:36:05 -04:00
90797d53d9 one more batch of clang-tidy fixes 2022-05-13 23:21:14 -04:00
940e88d2ca more clang-tidy fixes 2022-05-13 21:12:48 -04:00
9c16819305 update code with clang-tidy fixes 2022-05-13 18:26:38 -04:00
3782eea7c4 must always compile MDI library with position independent code 2022-05-13 18:25:59 -04:00
056fd8be8f always build yaml-cpp included in PACE as static library 2022-05-13 17:00:37 -04:00
59560c47a7 Small tweak 2022-05-13 14:23:27 -04:00
979f84f96f Merge branch 'develop' of https://github.com/lammps/lammps into kk_update_3.6.0 2022-05-13 14:03:09 -04:00
66abc00e3c Add comment about MPI on Crusher 2022-05-13 13:33:27 -04:00
c41ad91a9d add support for reading binary STL files 2022-05-13 12:18:22 -04:00
545cec1785 Fix copy/paste issue 2022-05-13 10:15:25 -06:00
658a89e401 document .lammpsbin suffix for trajectory files 2022-05-13 11:15:06 -04:00
35dd5bc978 fix typo 2022-05-13 03:00:31 -04:00
90e2d9e966 tweak code comments 2022-05-12 16:51:24 -06:00
042564decd add deprecation info for old porosity option 2022-05-12 16:48:03 -06:00
3eea2463a1 Tweak error message 2022-05-12 16:00:22 -06:00
d207d53fd1 whitespace 2022-05-12 15:34:08 -06:00
d7bad09d35 Add Kokkos version of ML-PACE 2022-05-12 15:25:07 -06:00
58093fec99 accept .lammpsbin in addition to .bin for binary format output 2022-05-12 15:26:39 -04:00
4077c5c8ba add get_dump_by_id() API that mirrors other recent additions 2022-05-12 14:48:03 -04:00
0577bb6269 use Output::add_dump() and the dump_creator map and templates etc. 2022-05-12 14:47:16 -04:00
aff72c56a5 make Output::add_dump() return pointer to the created dump 2022-05-12 14:46:02 -04:00
c3a454370e work around "fix not computed at compatible times" errors with write_dump 2022-05-12 14:12:13 -04:00
301bd95900 small tweak 2022-05-12 13:17:51 -04:00
04537c9f22 Merge pull request #3263 from OrbitalC/compute_mliap_so3
adding so3 descriptor support for compute_mliap
2022-05-12 11:01:01 -04:00
5ad821ca5e apply clang-format 2022-05-12 09:24:37 -04:00
78d976bd36 Merge pull request #3260 from Colvars/colvars-update
Update Colvars to version 2022-05-09
2022-05-12 08:40:29 -04:00
371141f915 adding support for compute_mliap so3 2022-05-12 14:12:57 +02:00
3ea249a576 fix minor documentation issues 2022-05-11 13:23:59 -04:00
4cc3bdd35f adjust keyword/function names and command line to be simpler to use 2022-05-11 09:25:27 -04:00
227c4853f1 programming style 2022-05-11 08:13:13 -04:00
442116b305 update 2022-05-11 08:12:59 -04:00
ef3b90e838 Merge pull request #70 from jtclemm/create-atoms-mesh
Adding quasirandom mesh option
2022-05-11 08:12:18 -04:00
c9d350edc2 Adding quasirandom mesh option 2022-05-10 18:35:36 -06:00
bdbab77286 add note about re-generating optimized meshes for STL files 2022-05-10 15:23:54 -04:00
1220bea011 Update Colvars to version 2022-05-09
This update includes one new feature (neural-network based collective
variables), several small enhancements (including an automatic definition of
grid boundaries for angle-based CVs, and a normalization option for
eigenvector-based CVs), bugfixes and documentation improvements.

Usage information for specific features included in the Colvars library
(i.e. not just the library as a whole) is now also reported to the screen or
LAMMPS logfile (as is done already in other LAMMPS classes).

Notable to LAMMPS code development are the removals of duplicated code and of
ambiguously-named preprocessor defines in the Colvars headers.  Since the
last PR, the existing regression tests have also been running automatically
via GitHub Actions.

The following pull requests in the Colvars repository are relevant to LAMMPS:

- 475 Remove fatal error condition
  https://github.com/Colvars/colvars/pull/475 (@jhenin, @giacomofiorin)

- 474 Allow normalizing eigenvector vector components to deal with unit change
  https://github.com/Colvars/colvars/pull/474 (@giacomofiorin, @jhenin)

- 470 Better error handling in the initialization of NeuralNetwork CV
  https://github.com/Colvars/colvars/pull/470 (@HanatoK)

- 468 Add examples of histogram configuration, with and without explicit grid parameters
  https://github.com/Colvars/colvars/pull/468 (@giacomofiorin)

- 464 Fix #463 using more fine-grained features
  https://github.com/Colvars/colvars/pull/464 (@jhenin, @giacomofiorin)

- 447 [RFC] New option "scaledBiasingForce" for colvarbias
  https://github.com/Colvars/colvars/pull/447 (@HanatoK, @jhenin)

- 444 [RFC] Implementation of dense neural network as CV
  https://github.com/Colvars/colvars/pull/444 (@HanatoK, @giacomofiorin, @jhenin)

- 443 Fix explicit gradient dependency of sub-CVs
  https://github.com/Colvars/colvars/pull/443 (@HanatoK, @jhenin)

- 442 Persistent bias count
  https://github.com/Colvars/colvars/pull/442 (@jhenin, @giacomofiorin)

- 437 Return type of bias from scripting interface
  https://github.com/Colvars/colvars/pull/437 (@giacomofiorin)

- 434 More flexible use of boundaries from colvars by grids
  https://github.com/Colvars/colvars/pull/434 (@jhenin)

- 433 Prevent double-free in linearCombination
  https://github.com/Colvars/colvars/pull/433 (@HanatoK)

- 428 More complete documentation for index file format (NDX)
  https://github.com/Colvars/colvars/pull/428 (@giacomofiorin)

- 426 Integrate functional version of backup_file() into base proxy class
  https://github.com/Colvars/colvars/pull/426 (@giacomofiorin)

- 424 Track CVC inheritance when documenting feature usage
  https://github.com/Colvars/colvars/pull/424 (@giacomofiorin)

- 419 Generate citation report while running computations
  https://github.com/Colvars/colvars/pull/419 (@giacomofiorin, @jhenin)

- 415 Rebin metadynamics bias from explicit hills when available
  https://github.com/Colvars/colvars/pull/415 (@giacomofiorin)

- 312 Ignore a keyword if it has content to the left of it (regardless of braces)
  https://github.com/Colvars/colvars/pull/312 (@giacomofiorin)

Authors: @giacomofiorin, @HanatoK, @jhenin
2022-05-10 11:24:54 -04:00
5760c59d83 add a creator: tag to the YAML dump that allows to tell it apart 2022-05-10 08:31:02 -04:00
b6ee64dc12 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2022-05-09 21:58:48 -04:00
eb44cbf848 small updates 2022-05-09 15:22:48 -04:00
23e17363f9 Merge remote-tracking branch 'github/doc-variable-extract-settings' into collected-small-changes 2022-05-09 15:03:13 -04:00
6344c667a0 more doc info for variable extrat_setting() func 2022-05-09 09:33:59 -06:00
24ef021fe0 fix typo 2022-05-09 10:05:12 -04:00
1660bae22a add examples import one image to manual 2022-05-08 21:15:32 -04:00
9ec35f0235 update docs to match the latest code 2022-05-08 19:14:06 -04:00
e0bb27dbb2 make radscale and radthresh class members 2022-05-07 23:04:34 -04:00
e9b1ca16a3 correctly initialize radius and molecule id 2022-05-07 21:24:08 -04:00
60b9fd2db8 minor tweaks simplify algorithm 2022-05-07 17:08:22 -04:00
bcfb6734f3 use average vertex distance from center as particle radius 2022-05-07 16:27:03 -04:00
6722d3fb00 add simple STL binary to ASCII converter (based on Wikipedia specs) 2022-05-07 16:26:25 -04:00
559dc68197 implement revised algorithm with recursion 2022-05-07 15:40:25 -04:00
102b61ae1b Merge branch 'develop' into create-atoms-mesh 2022-05-07 09:33:40 -04:00
5d08b62622 remove unused class member 2022-05-07 03:48:54 -04:00
4737b9efb7 Merge pull request #3250 from akohlmey/collected-small-changes
Collected small changes and bugfixes
2022-05-07 00:14:32 -04:00
d21d9d95fa Merge pull request #3255 from lammps/timer-variable
Add a timer-style variable
2022-05-06 17:46:22 -04:00
00bb566893 enforce that the number of neighbors cannot be negative (e.g. w/o neighbor list) 2022-05-06 17:45:01 -04:00
56e36a5df5 Merge pull request #2988 from stanmoore1/coo_opt
Add optimized version of compute orientorder/atom from Tomas Oppelstr…
2022-05-06 17:11:24 -04:00
21d3de65e6 fix typos 2022-05-06 17:05:18 -04:00
767f512dcf add "make ni" alias to "make no-installed" 2022-05-06 17:05:03 -04:00
907bc7eaa5 switch to using wall time 2022-05-06 16:58:28 -04:00
051c243cfc small programming style upgrade, apply clang-format, silence compiler warnings 2022-05-06 16:44:13 -04:00
905034893c finished testing of new delete_atoms options 2022-05-06 14:15:41 -06:00
6432660bc9 Merge branch 'develop' of https://github.com/lammps/lammps into coo_opt 2022-05-06 13:24:14 -06:00
6e78269612 whitespace 2022-05-06 15:11:15 -04:00
81a8b0cf85 Add Kokkos HIP preset 2022-05-06 12:40:12 -06:00
613ef04357 Merge branch 'develop' into timer-variable 2022-05-06 14:27:52 -04:00
5986e11d43 Merge branch 'develop' of github.com:lammps/lammps into kk_update_3.6.0 2022-05-06 12:04:00 -06:00
97012f2aaa correct classification of electrode package, as it requires BLAS/LAPACK 2022-05-06 13:57:26 -04:00
62a819d7b6 Tweak launch bounds to improve GPU performance 2022-05-06 13:37:05 -04:00
3bb9c64f9e update .gitignore and move electrode package for dependency on KSPACE 2022-05-06 13:35:51 -04:00
78f2907cbb implement a "make no-installed" command 2022-05-06 13:35:21 -04:00
f3fcd16628 adding of timer-style variables and associated doc pages 2022-05-06 11:21:36 -06:00
580e01535a Update Kokkos AMD Makefiles 2022-05-06 13:04:58 -04:00
8e423f07c5 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2022-05-06 12:37:34 -04:00
2549b86d76 update/correct docs for support of compiling LAMMPS with visual studio on windows 2022-05-06 12:37:28 -04:00
ae73a9b7f7 Revert back to original code in npair_ssa_kokkos.h 2022-05-06 10:05:57 -06:00
73670dafc7 Merge branch 'develop' into collected-small-changes 2022-05-06 11:45:51 -04:00
1f4ad99177 one more virial sign flip in dispersion 2022-05-06 09:33:55 -06:00
aae44892c0 consolidate all FFT related redundant defines and typedefs in a single header 2022-05-06 11:27:17 -04:00
6ec169fa9d Fix warnings in Kokkos package 2022-05-06 08:23:45 -06:00
a35a2441ce Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2022-05-06 04:48:19 -04:00
abefff828d plug memory leak 2022-05-06 04:39:38 -04:00
71185b9f98 fix error message 2022-05-06 01:02:40 -04:00
8079f014bc final tweaks 2022-05-06 00:47:35 -04:00
773e3a87d9 add docs for create_atoms mesh 2022-05-06 00:47:05 -04:00
ff21142042 Merge remote-tracking branch 'github/develop' into create-atoms-mesh 2022-05-05 23:02:53 -04:00
bd373d6038 Merge pull request #3119 from erozic/feature-create-atoms-exclude
Feature create atoms overlap
2022-05-05 22:42:40 -04:00
7601a5c0fb correct/improve formatting 2022-05-05 22:20:43 -04:00
8ed401ce12 spelling 2022-05-05 21:34:31 -04:00
664943589e Merge remote-tracking branch 'github/develop' into feature-create-atoms-exclude 2022-05-05 21:09:39 -04:00
8dbfc0799c whitespace 2022-05-05 20:15:36 -04:00
46d638af0c Merge branch 'feature-create-atoms-exclude' of https://github.com/erozic/lammps into feature-create-atoms-exclude 2022-05-06 01:48:37 +02:00
ae230a33f5 Bug fix (user_quat initial value not set) 2022-05-06 01:47:45 +02:00
d4f212183e initial exact logic for delete_atoms partial 2022-05-05 17:45:42 -06:00
568e9c5878 Merge pull request #3237 from emilyviolet/hipfft
Add support for hipFFT with PPPMKokkos
2022-05-05 19:39:52 -04:00
5784fab588 starting to add timer-style variable 2022-05-05 17:04:50 -06:00
484a7c5db0 tweaked comments 2022-05-05 16:22:19 -06:00
7071f819d0 Header fix (add_molecule) 2022-05-05 23:53:14 +02:00
93c0f09c31 Logic fix in random-overlap and comment implemented 2022-05-05 23:35:11 +02:00
4e61530593 sign flip on bitorsion virial 2022-05-05 15:07:26 -06:00
329a299952 virial change for bitorsions 2022-05-05 13:34:32 -06:00
31281d466d fix typo in angle_amoeba virial 2022-05-05 13:30:55 -06:00
e5e3478afd Update CMake 2022-05-05 12:30:37 -06:00
bee7b09377 fix cut-n-paste bug 2022-05-05 14:05:22 -04:00
3b68c0ea24 Update Makefile comment 2022-05-05 14:02:29 -04:00
b79c0bc7b4 Update Kokkos library in LAMMPS to v3.6.0 2022-05-05 11:44:47 -06:00
3b9389e86c Update .gitignore 2022-05-05 12:23:52 -04:00
2c95f84acc Tweak error messages 2022-05-05 12:17:00 -04:00
c05af749df Merge branch 'develop' of https://github.com/lammps/lammps into hipfft 2022-05-05 12:15:28 -04:00
24b94551a2 Update Kokkos AMD Makefiles 2022-05-05 11:59:32 -04:00
99d4f83fa8 preliminary implementation 2022-05-05 09:56:22 -04:00
6c28b55c13 return nullptr instead of out-of-range data 2022-05-05 07:50:45 -04:00
2b1716cb3a fix more bugs with dump_modify every/time 2022-05-05 00:06:08 -04:00
bd4bbbddbe Merge pull request #3245 from akohlmey/next_patch_release
Step version strings for the next patch release
2022-05-04 19:57:23 -04:00
2aa1c6975f fix typo 2022-05-04 19:09:19 -04:00
e285ba43eb Merge branch 'develop' into next_patch_release 2022-05-04 19:08:10 -04:00
582de4f951 Merge pull request #3248 from akohlmey/add_set_time
Add time option to the "reset_timestep" command and make the "time" property restartable
2022-05-04 18:43:07 -04:00
dcd6c18e45 update indent 2022-05-04 17:50:34 -04:00
4c6cb8648b replace image with embedded latex text 2022-05-04 17:50:25 -04:00
6b47d6246b more changes and some debugging on a test script 2022-05-04 15:28:50 -06:00
cc437c78a0 some logic and syntax changes to code and doc page 2022-05-04 14:34:05 -06:00
edda6b6f70 Merge remote-tracking branch 'github/develop' into add_set_time 2022-05-04 16:29:54 -04:00
803376b1b4 Merge pull request #3241 from akohlmey/collected-small-changes
Collected small changes and fixes for the next patch release
2022-05-04 16:26:02 -04:00
e897ab7611 improve error messages 2022-05-04 16:25:12 -04:00
ba3aa8fab5 remove NULL option for reset_timestep 2022-05-04 16:21:06 -04:00
81bb4bfc23 Merge branch 'collected-small-changes' into add_set_time 2022-05-04 15:49:14 -04:00
059c84bf41 Merge branch 'develop' into add_set_time 2022-05-04 15:47:28 -04:00
eec86c8038 Merge branch 'develop' into collected-small-changes 2022-05-04 15:45:38 -04:00
ad6cebb049 Merge pull request #3246 from GenieTim/compute-abs-sum
Implement a aveabs and sumabs reduce command
2022-05-04 14:46:54 -04:00
61214b9a52 Merge pull request #3243 from akohlmey/delete-by-variable
Implement variable option for delete_atoms
2022-05-04 13:50:00 -04:00
f8742d599b merge set_time command into reset_timestep 2022-05-04 13:24:52 -04:00
d4a93ff9c7 Merge pull request #3247 from vladgl/adp-kk
Kokkos accelerated variant for adp pair style
2022-05-04 13:05:29 -04:00
517d934f7c more edits 2022-05-04 10:51:00 -06:00
87b99306ba make force_clear() a public pure function in min.h and integrate.h
these are required changes for adding NWChem couping support as a fix
2022-05-04 12:30:17 -04:00
af32267db3 Merge branch 'develop' into compute-abs-sum 2022-05-04 12:23:50 -04:00
7fa2fe134c Fix typo 2022-05-04 10:18:11 -06:00
515e2928a9 Sync with pair eam 2022-05-04 10:15:36 -06:00
8a5e7fa609 update docs 2022-05-04 12:07:59 -04:00
ed0ee913e1 Small tweaks 2022-05-04 11:18:10 -04:00
a26fa50736 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2022-05-04 05:47:34 -04:00
5d510ac7b3 Merge remote-tracking branch 'akohlmey/region-tests' into collected-small-changes 2022-05-04 05:46:34 -04:00
c37d5be524 Merge branch 'develop' into collected-small-changes 2022-05-04 05:45:33 -04:00
0bedff1ce0 implement set_time command 2022-05-03 13:15:52 -04:00
e7153d30c8 re-enable dynamic group support for tally computes 2022-05-03 11:22:38 -04:00
257a070666 add test for ellipsoid, check for special case of ellipsoid/prism 2022-05-03 11:02:01 -04:00
bd5858019e add minimal unit test for Region class 2022-05-02 17:06:28 -04:00
4ef8ca091d Fix virial computation in adp/kk 2022-05-02 22:16:28 +03:00
8473bc19f5 Merge branch 'develop' into adp-kk 2022-05-02 13:41:03 -04:00
df77641071 fix permissions and whitespace 2022-05-02 13:40:39 -04:00
cb345870a9 Add adp/kk to install script (fix commit #d3843db) 2022-05-02 19:24:01 +03:00
d3843dbf09 Add adp/kk to install script 2022-05-02 19:16:59 +03:00
fef6c37ea7 Merge pull request #3240 from akohlmey/ave-yaml-file-colname
Add support for custom column names and YAML format output to fix ave/time
2022-05-02 11:45:50 -04:00
0e5a66b1cd Implement a aveabs and sumabs reduce command 2022-05-02 17:34:08 +02:00
e51c51e7f9 Kokkos accelerator variant for adp pair style 2022-05-02 18:17:49 +03:00
39ee6b6a7f step version strings for the next patch release 2022-05-02 10:34:43 -04:00
89deab6a3e silence compiler warnings 2022-04-30 19:51:04 -04:00
1191d08b47 Merge branch 'develop' into collected-small-changes 2022-04-30 19:39:16 -04:00
deef9fae23 fix bug with wrong mapping of pair style classes 2022-04-30 19:15:00 -04:00
1b8641685a Merge pull request #3242 from dxhisboy/develop
Adding saip/metal/opt and ilp/tmd/opt
2022-04-30 12:59:41 -04:00
672c063fd8 add unit test for delete_atoms 2022-04-29 22:33:15 -04:00
2f599bace1 enable and apply clang-format 2022-04-29 22:01:34 -04:00
f5113aa84a better error messages 2022-04-29 21:59:37 -04:00
31d6af6114 add delete_atoms "variable" option 2022-04-29 21:59:22 -04:00
9c45af7730 avoid potential 32-bit integer overflow 2022-04-29 20:53:57 -04:00
cac9fcaf86 cannot build ELECTRODE package by default on native windows because it requires BLAS 2022-04-29 20:18:50 -04:00
4a3bcd9230 Merge branch 'develop' into collected-small-changes 2022-04-29 20:15:36 -04:00
87b0939fe7 Merge pull request #2871 from evoyiatzis/master
implementation of an "ellipsoidal" region option
2022-04-29 19:46:15 -04:00
44c4d0a4d6 Merge pull request #3194 from robeme/electrode
ELECTRODE package for constant potential method
2022-04-29 18:30:29 -04:00
ee8d8042e6 add example for YAML processing with Perl 2022-04-29 17:42:23 -04:00
514bfe77df apply changes suggested by @sjplimp 2022-04-29 17:33:37 -04:00
5e18f15435 remove unused variables 2022-04-29 15:29:04 -04:00
d0938ce398 apply clang-format 2022-04-29 15:13:47 -04:00
80c716b81f update false positives 2022-04-29 15:11:11 -04:00
f09e886fd2 remove unused function 2022-04-29 15:10:57 -04:00
47f62838db Merge branch 'develop' into electrode 2022-04-29 14:37:48 -04:00
3c71c07048 Merge pull request #3230 from athomps/snap-inner-mod
Snap inner cutoff improvements and porting to KOKKOS
2022-04-29 14:36:48 -04:00
37d2d9e013 Remove trailing spaces 2022-04-29 10:56:34 -06:00
3f44f8f50d Merge pull request #3236 from lammps/fix-adapt-angle2
bug fix for new fix adapt angle support
2022-04-29 12:50:10 -04:00
df76673bee bdim --> adim in fix adapt 2022-04-29 10:10:36 -06:00
2f8e708184 more whitespace 2022-04-29 09:37:27 -06:00
894b7810b2 whitespace 2022-04-29 09:32:24 -06:00
57098f3df7 Remove extra files 2022-04-29 09:22:14 -06:00
69a79ba082 whitespace 2022-04-29 09:17:24 -06:00
641e769bde Revert a3c6baad4c 2022-04-29 09:03:44 -06:00
435f652263 removed trailing whitespace in pair_ilp_tmd_opt and pair_saip_metal_opt 2022-04-29 22:54:41 +08:00
6ced400207 change saip and tmd to virtual public inherit, so that corresponding opt package can compile 2022-04-29 22:28:48 +08:00
f93ac86c53 updated Install.sh for OPT package to adopt new interlayer potential optimizations 2022-04-29 22:05:52 +08:00
943cb531bf Modified chunk code of pair_ilp_graphene_hbn_opt for adopting pair_saip_metal_opt and pair_ilp_tmd_opt 2022-04-29 21:56:52 +08:00
c34efcc718 fixed multielement assignment error
tested in CPU and GPU mode, gets same output for eneriges and forces as build without KOKKOS for various settings of sinner, dinner
2022-04-29 07:53:39 -06:00
2292caef38 updated sinner/dinner log output
now logmsg displays all element params for sinner, dinner on same line (replaces only first param + ...)
2022-04-29 07:48:02 -06:00
9c48a75c8e fix issues reported by coverity scan 2022-04-29 06:49:47 -04:00
b2300ba9cb Merge branch 'develop' into collected-small-changes 2022-04-29 05:51:05 -04:00
6fb3cef39f Merge pull request #3031 from Iximiel/develop
Second Moment Aproximation to the Tight Binding addes as pair style
2022-04-28 22:32:38 -04:00
cb41e354b8 Merge pull request #3238 from akohlmey/doc-math-funcs
Document special math functions
2022-04-28 22:11:09 -04:00
ef84e08233 remove error docs 2022-04-28 20:08:59 -04:00
929734ce45 Merge remote-tracking branch 'github/develop' into amoeba-ak
# Conflicts:
#	doc/src/Commands_pair.rst
#	src/memory.h
2022-04-28 20:08:18 -04:00
c086c20238 reduce compiler warnings. adapt LAMMPS programming style 2022-04-28 20:04:25 -04:00
723bf202c0 make use of utils::logmesg() and fmt::format 2022-04-28 19:35:55 -04:00
a2a6437575 simplify creation and lookup of fix store instances 2022-04-28 19:35:55 -04:00
66f5cbb070 fix more tagint pointer bugs 2022-04-28 19:35:55 -04:00
171b102025 AMOEBA package has a "hard" dependency on KSPACE 2022-04-28 19:35:55 -04:00
221142a36d sign flips for virial terms 2022-04-28 17:12:01 -06:00
7d9cdc7ec4 update documentation. more examples. document fix_modify options 2022-04-28 18:34:49 -04:00
bf8f5e2f87 more compact output 2022-04-28 18:08:59 -04:00
a3e0e1a6eb fixed multielement assignment error 2022-04-28 15:57:53 -06:00
2ae9ca5073 swap rows and columns back for easier import into pandas 2022-04-28 16:03:04 -04:00
f25b60fded simplify pandas processing. add missing image with plot 2022-04-28 16:02:45 -04:00
f09556018b fix bugs reported by @jibril-b-coulibaly 2022-04-28 14:47:53 -04:00
04b46a9ce8 implement yaml output for mode vector 2022-04-28 14:33:15 -04:00
eb5d867adf Improve erfc 2022-04-28 13:45:57 +00:00
2f71c96bde add yaml format output for mode scalar 2022-04-28 07:46:47 -04:00
09ed718c14 add example to plot thermo data with pandas+matplotlib 2022-04-28 07:45:51 -04:00
cfc4dcea3d must quote keyword data to avoid issues parsing the YAML data 2022-04-28 07:34:23 -04:00
33a63e5cd3 remove dead code to silence compiler warnings 2022-04-28 03:03:29 -04:00
a05bdfa76c add override to polymorph functions 2022-04-27 18:36:00 -04:00
cd3ce8459b enable and apply clang-format 2022-04-27 18:35:44 -04:00
74afc04580 remove error comments from header 2022-04-27 18:29:41 -04:00
233d4ad349 whitespace fixes 2022-04-27 18:29:27 -04:00
8481abda05 Merge branch 'develop' into ellipsoid-region 2022-04-27 18:28:38 -04:00
55fddf3aac update (tentative) release date 2022-04-27 18:26:07 -04:00
b76594e551 enforce only newton pair on with smatb pair styles. add unit tests 2022-04-27 18:08:05 -04:00
2d45e3340f move sources and examples for smatb styles to SMTBQ package folders 2022-04-27 15:14:02 -04:00
585b14f08f fix memory leak 2022-04-27 15:10:55 -04:00
3cfae26b84 update docs and make part of SMTBQ package 2022-04-27 15:10:46 -04:00
3b1165ccdc update files to be more compatible with LAMMPS' conventions and for code changes 2022-04-27 15:02:32 -04:00
75d42a87e5 Merge branch 'develop' into Iximiel/develop 2022-04-27 14:15:10 -04:00
cdba0da780 Merge branch 'snap-inner-mod' of github.com:athomps/lammps into snap-inner-mod 2022-04-27 10:58:43 -06:00
a3c6baad4c Removed CPU specific options 2022-04-27 10:58:22 -06:00
0e1f9968c1 Merge branch 'develop' of github.com:lammps/lammps into snap-inner-mod 2022-04-27 10:48:24 -06:00
6439777406 complete documentation of the MathSpecial namespace 2022-04-27 11:59:25 -04:00
c43bc000d9 Removed unnecessary commented out code section. 2022-04-27 19:46:18 +10:00
d857600d9c start documenting functions in the MathSpecial namespace 2022-04-27 04:46:18 -04:00
385f0c6c95 Update Kokkos build documentation to include hipFFT options. 2022-04-27 10:13:03 +10:00
8cdbf380cf Add support for hipFFT backend in PPPMKokkos. 2022-04-27 09:22:59 +10:00
691ba89b6f Merge pull request #3234 from lammps/variable-vector-wildcard
add support for wildcards in variable vectors
2022-04-26 18:21:46 -04:00
1fcf82aeef Merge remote-tracking branch 'github/develop' into variable-vector-wildcard 2022-04-26 17:54:32 -04:00
56b4671cd8 Merge pull request #3233 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2022-04-26 17:54:11 -04:00
d8e98cb99d make tests more complex and add vector variable expansion 2022-04-26 17:53:47 -04:00
831caaa150 Merge branch 'collected-small-changes' into variable-vector-wildcard 2022-04-26 17:26:17 -04:00
64fff417c3 test more bound variants 2022-04-26 17:25:27 -04:00
7eb6c2652f update advanced utils tests. include test for expand args 2022-04-26 16:16:44 -04:00
d04cb4ba42 edits to doc page 2022-04-26 13:58:18 -06:00
782add6943 Merge branch 'feature-create-atoms-exclude' of github.com:erozic/lammps into create-overlap 2022-04-26 13:22:10 -06:00
800e0a7357 bug fix for new fix adapt angle support 2022-04-26 09:34:27 -06:00
7663fc6256 correctly use "type" to detect executables/scripts 2022-04-26 11:08:31 -04:00
26278643d4 Port changes to Kokkos 2022-04-26 08:22:00 -06:00
407f6af1ed Merge branch 'develop' of github.com:lammps/lammps into snap-inner-mod 2022-04-26 08:13:30 -06:00
192b22a6ce Set rng init for electrode/thermo 2022-04-26 16:03:45 +02:00
837f9040d8 add tests for advanced utility functions that require a LAMMPS instance 2022-04-26 09:30:34 -04:00
4691ff06b5 format 2022-04-26 09:30:10 -04:00
ba02d90bf1 add test for new errorurl() utility function 2022-04-26 09:29:57 -04:00
a649fa3a79 detect yaml file output by file name 2022-04-26 06:20:00 -04:00
72011bf325 Updated doc (use of overlap clarified) 2022-04-26 11:55:24 +02:00
7aaa71d22e Merge remote-tracking branch 'lammps/develop' into electrode 2022-04-26 10:29:39 +02:00
66b8ab9c6e Revamped examples 2022-04-26 09:42:45 +02:00
fdb7dfdea7 also remove mode from fix ave/correlate 2022-04-25 17:04:04 -06:00
e7a9073ccd remove discussion of mode 2022-04-25 17:01:15 -06:00
65978c33b6 2 more doc pages 2022-04-25 16:06:52 -06:00
bb8e953fb5 add support for wildcards in variable vectors 2022-04-25 15:43:08 -06:00
950b175fcd remove invalid [[noreturn]] attribute 2022-04-25 16:23:48 -04:00
dc605d35ee Updated ML-IAP package 2022-04-25 13:58:41 -06:00
811e5786fe Merge branch 'develop' into feature-create-atoms-exclude 2022-04-25 19:30:52 +02:00
c1146ebdcd Resolved conflicts with develop 2022-04-25 19:11:54 +02:00
8679266db8 add container definitions for Fedora 36 and Ubuntu 22.04LTS 2022-04-25 13:05:43 -04:00
2624043ab6 Synchronisation fix 2022-04-25 17:03:07 +02:00
960d3faa5e Merge branch 'master' of github.com:z-gong/lammps into collected-small-changes 2022-04-25 02:58:17 -04:00
a5cd95d6c6 Add comment for the units in compute/viscosity 2022-04-25 06:23:54 +02:00
28900925f4 Fix the unit for fix/accelerate/cos 2022-04-25 05:59:41 +02:00
9c46acfd62 fix parallel processing bug with shell mkdir command 2022-04-24 23:23:01 -04:00
45de998aa9 Merge pull request #3231 from akohlmey/remove-error-docs-in-header
Remove error docs from header files
2022-04-24 18:30:17 -04:00
6cfbd73bcd add documentation for new error and warning policy 2022-04-23 16:40:28 -04:00
f7e7abc908 fix uninitialized pointer bug 2022-04-23 15:17:26 -04:00
b4c3c479b7 remove error docs from one more file 2022-04-23 13:52:29 -04:00
4d1bdb4741 add python tool to detect and remove (if desired) error docs from headers
also document the tools in the manual.
2022-04-23 13:52:12 -04:00
78c10bac4a clang-format update 2022-04-23 13:08:11 -04:00
115962db88 Merge branch 'develop' into remove-error-docs-in-header 2022-04-23 12:46:54 -04:00
ce5d8a578e Merge pull request #3228 from run-towards-the-future/develop
A pull request for an optimized ILP(ilp/graphene/hbn) potential
2022-04-23 12:42:27 -04:00
f970a9de6a Merge pull request #3219 from akohlmey/region-lookup-refactor
Region lookup refactor
2022-04-23 11:33:01 -04:00
67bcfe3b62 remove unused code and variables, more programming style consistency 2022-04-23 09:26:35 -04:00
b55b9f5a6a removed request for ghost neighbor list 2022-04-23 20:35:48 +08:00
ef51fb7dea Fix bugs, Derives from PairILPGrapheneHBN instead of Pair
Improve the performance of pair style, ilp/graphene/hbn/opt
Updates to the OPT package
2022-04-23 19:45:50 +08:00
8fe0231b75 Fix bugs, Derives from PairILPGrapheneHBN instead of Pair
Add a new pair style, ilp/graphene/hbn/opt
Updates to the OPT package
2022-04-23 19:43:34 +08:00
e1856dc708 cosmetic 2022-04-23 07:42:31 -04:00
5da6fae9f6 silence compiler warnings 2022-04-23 07:35:18 -04:00
69249e84e1 adjust epsilon 2022-04-23 07:35:00 -04:00
8f019f4800 doc fixes: spelling and links 2022-04-23 07:34:44 -04:00
d55e7f9e51 Merge branch 'develop' into region-lookup-refactor 2022-04-23 07:14:28 -04:00
b1546a725c Merge pull request #3093 from Bibobu/Elastic_stress
Add compute born/matrix command to compute elastic stress
2022-04-23 07:07:29 -04:00
113fc0a77a Merge pull request #3227 from akohlmey/safer-data-file-parsing
Improve data file parsing and reported error messages
2022-04-23 06:41:17 -04:00
419b0f9494 add missing curly brace 2022-04-23 06:02:14 -04:00
31470819c0 Merge branch 'develop' into Elastic_stress 2022-04-23 04:36:45 -04:00
7bfa368d8d Merge pull request #2667 from ssande7/compute_temp_profile_dof
[BUGFIX] Collection of DoF-related fixes for compute temp/profile
2022-04-23 04:31:38 -04:00
c17845276a Derives from PairILPGrapheneHBN instead of Pair
Improve the performance of pair style, ilp/graphene/hbn/opt
Updates to the OPT packages
2022-04-23 14:29:03 +08:00
b631411985 Derives from PairILPGrapheneHBN instead of Pair
Add a new pair style, ilp/graphene/hbn/opt
Updates to the OPT package
2022-04-23 14:26:13 +08:00
26ca371d93 Merge branch 'develop' into region-lookup-refactor 2022-04-22 23:47:49 -04:00
79a7d2abf6 remove error docs from header files 2022-04-22 23:31:15 -04:00
e49930df21 Merge branch 'develop' into safer-data-file-parsing 2022-04-22 23:13:39 -04:00
471c728ac4 Merge pull request #3224 from lammps/dynamic-groups
change update of dynamic groups to post_force location in timestep
2022-04-22 23:11:17 -04:00
cbefeeb677 Merge pull request #3220 from athomps/specify-verlet
Explcitly state that fix nve uses velocity-Verlet integrator
2022-04-22 23:10:48 -04:00
8115e8a5a4 Merge pull request #3226 from lammps/error-url
Add utility to print url with link to error message in online manual
2022-04-22 23:10:21 -04:00
9f9a5ca76f Merge branch 'develop' into region-lookup-refactor 2022-04-22 22:53:02 -04:00
9be8ef09a2 Merge pull request #3229 from lammps/fix-adapt-angle
Fix adapt angle
2022-04-22 22:44:18 -04:00
97bfc0bb77 avoid (unlikely) overflow 2022-04-22 22:38:46 -04:00
cf647347c9 Merge branch 'develop' into safer-data-file-parsing
# Conflicts:
#	src/atom.cpp
2022-04-22 22:25:41 -04:00
8e9cc0eb51 Merge branch 'develop' into compute_temp_profile_dof 2022-04-22 22:16:42 -04:00
47564ab6bc Merge branch 'develop' into region-lookup-refactor 2022-04-22 22:11:41 -04:00
1319cb2cf5 fix typo 2022-04-22 22:08:13 -04:00
aed7bafac0 Merge pull request #3217 from akohlmey/atomvec-strings
Refactor Atom and AtomVec classes to use std::string and std::vector for setting up per-atom data
2022-04-22 22:03:26 -04:00
3a5ab301b2 propagate changes from previous commit to other packages that were missing them 2022-04-22 21:46:24 -04:00
5aebd151b6 Update compute_temp_profile.rst 2022-04-22 18:47:13 -06:00
16dd89c641 Added qualifier to assertions + note about inhomogeneous rigid systems 2022-04-23 10:30:44 +10:00
78aec491ff Minor tweaks 2022-04-22 17:32:26 -06:00
a90c632ae2 fix bug when no other post_force fixes are defined 2022-04-22 17:10:56 -06:00
48d8094d95 Merge branch 'develop' into snap-inner-mod 2022-04-22 16:54:21 -06:00
2c71d0eea2 Ported to KOKKOS, untested 2022-04-22 16:43:19 -06:00
f7cdfdd884 remove debug in bitorsion 2022-04-22 16:03:48 -06:00
e43730bd74 add chkttor method to bitorsions 2022-04-22 15:30:16 -06:00
01e7530902 shorten URL message text 2022-04-22 17:00:55 -04:00
907bcd16a8 Update compute_temp_profile.rst 2022-04-22 14:21:57 -06:00
a88efcbbda sign flip in pitorsion 2022-04-22 13:50:48 -06:00
1d12069daf fix typo in index 2022-04-22 13:18:30 -06:00
b40e662b10 Merge pull request #3223 from akohlmey/less-fmtlib-warnings
Reduce excessive warnings from fmtlib and assorted small changes
2022-04-22 15:03:49 -04:00
fec5538d3c fix initialization bugs 2022-04-22 13:52:15 -04:00
1568974e8e whitespace 2022-04-22 13:39:05 -04:00
c054edda6b allow larger error margin for pressure computes 2022-04-22 13:22:01 -04:00
23d39c7d02 Merge branch 'develop' into create-overlap 2022-04-22 10:37:39 -06:00
c0d0c84f7d update unit test files to implementation changes 2022-04-22 12:16:28 -04:00
da520bf8b7 integrate better into manual and traditional build system 2022-04-22 11:38:55 -04:00
68d1c856b3 fix typo 2022-04-22 11:27:08 -04:00
77b563a024 disable unknown pragma warnings for the summit machine when using CUDA 2022-04-22 11:23:54 -04:00
b4e2e2ec34 add support for angle cosine 2022-04-22 09:12:12 -06:00
a6f2f04664 Removed forgotten neighbor->ago condition in compute_born_matrix. Rewritten compute_pair loop so that newton condition does not affect results. 2022-04-22 16:59:52 +02:00
644b3f6933 clarify and remove redundant text 2022-04-22 09:32:10 -04:00
23186da560 Merge branch 'snap-inner-bug-printf' of github.com:megmcca/lammps into less-fmtlib-warnings 2022-04-22 09:26:29 -04:00
3b1021abd1 cosmetic changes. improve programming style conformance 2022-04-22 08:36:20 -04:00
55a7c341af improve data file section parsing
- avoid segfaults when dereferencing a null pointer on short files
- allow skipping over empty and comment-only lines.
2022-04-22 08:35:09 -04:00
6d56629660 improve error messages 2022-04-22 08:31:53 -04:00
dc4752ef63 add convenience function for printing a missing arguments error message 2022-04-22 08:28:14 -04:00
079d3ea067 remove extraneous printf line 2022-04-22 06:16:45 -06:00
3e9f207062 Improve the performance of pair style, ilp/graphene/hbn/opt
Updates to the OPT package
2022-04-22 20:00:28 +08:00
e0049a07f3 Add a new pair style, ilp/graphene/hbn/opt
Updates to the OPT package
2022-04-22 17:55:05 +08:00
13664a0185 add utility to print url with pointer to error message 2022-04-22 05:25:50 -04:00
4de9ab85ce Completed inner cutoff, KOKKOS still in progress 2022-04-21 17:30:12 -06:00
3f3c481554 add support to fix adapt for angle coeffs 2022-04-21 17:00:11 -06:00
0b6a689f3c Removed the domain->minimum_image() calls from dihedral_nharmonic and angle_cosine. 2022-04-22 00:37:49 +02:00
6b3c868c6e Removed commented previous nb list request. 2022-04-22 00:26:00 +02:00
5fd2311951 Pulled develop. Solved false_positives.txt bond.cpp and bond.h files conflict. 2022-04-22 00:24:50 +02:00
0b0947c167 Solved the dihedral index problem. It was actually the indices used. 2022-04-22 00:20:25 +02:00
ea66d4e73f mostly doc page edits 2022-04-21 16:00:53 -06:00
0ece11c491 add a code comment 2022-04-21 15:19:04 -06:00
8cb47c8504 change update of dynamic groups to post_force location in timestep 2022-04-21 15:02:47 -06:00
c6abc9e682 need wheel module for modern install procedure 2022-04-21 16:15:42 -04:00
09187801c1 suppress nvcc unknown pragma warnings 2022-04-21 15:01:46 -04:00
247c61c93f make portable to ubuntu 2022-04-21 13:01:13 -04:00
04afec7771 fix minor doc issues 2022-04-21 13:00:26 -04:00
05a845fafd compute_dihedral finally agrees with numdiff! 2022-04-21 18:37:26 +02:00
6dcafd693f Update fix_nve.rst 2022-04-21 10:13:05 -06:00
501ef071c5 revert to original pitorsion code 2022-04-21 10:06:53 -06:00
1df430aef4 align with doc folder makefile 2022-04-21 12:02:05 -04:00
b7a3af7bd1 update plumed version in containers and install python3-venv 2022-04-21 12:01:49 -04:00
556ad777d1 update code to use safe fread() and thus silence compiler warnings on ubuntu 2022-04-21 11:53:59 -04:00
b7d329f9b3 remove unused field in class 2022-04-21 07:58:54 -04:00
1a8ba25444 silence some excessive warning by the new Intel compilers 2022-04-21 07:58:43 -04:00
e9eb74e13a add missing override 2022-04-21 07:50:48 -04:00
c07551072d must check if externally set C++ standard is at least c++11 2022-04-21 07:50:30 -04:00
e8cacc4380 Updated example syntax 2022-04-20 18:17:23 -06:00
b4b6ba91e0 Slight adjustment to definition of Sinner and Dinner 2022-04-20 18:01:24 -06:00
9cac62401d only set the C++ standard value if it is not set externally 2022-04-20 19:32:42 -04:00
04ac4c4695 debug info for bitorsions 2022-04-20 16:55:56 -06:00
96e22b1104 disable CUDA support with Eigen3 2022-04-20 18:50:55 -04:00
5242b5557f Merge branch 'develop' into less-fmtlib-warnings 2022-04-20 18:24:06 -04:00
4544664edc comment out assertion causing many warnings 2022-04-20 18:14:10 -04:00
38093ffe47 KOKKOS doesn't require nvcc_wrapper anymore when compiling with CMake 2022-04-20 18:13:42 -04:00
c62e2ad4d1 disable warnings with PGI/NVHPC compilers and import CMAKE_TUNE_FLAGS 2022-04-20 17:39:33 -04:00
aebbd04297 Merge pull request #3222 from akohlmey/fasthtml
Add fasthtml target for faster testing of .rst to .html translation
2022-04-20 17:16:23 -04:00
da0e0359b6 Merge pull request #3221 from akohlmey/ttm_mod_fix
Fix file reader bug in fix ttm/mod
2022-04-20 16:55:10 -04:00
f52e40772b bitorsion for ubi 2022-04-20 14:16:11 -06:00
a8e5e0e515 use python -m venv instead of virtualenv 2022-04-20 15:49:22 -04:00
42d875a411 add fasthtml target for faster testing of .rst to html translation 2022-04-20 15:02:00 -04:00
af1851a6bb sign flip on pitorsion forces 2022-04-20 11:45:55 -06:00
bc0236d869 Bugfix tagint type for tags 2022-04-20 18:49:55 +02:00
a3a3354d1b fix file reader bug and add ttm/mod example 2022-04-20 11:52:36 -04:00
240056f5a6 tweak to README 2022-04-20 09:43:14 -06:00
ee74d9761c reorder pitorsion atoms 2022-04-20 09:41:06 -06:00
f6523851b5 Explcitly state that fix nve uses velocity-Verlet integrator 2022-04-20 08:58:53 -06:00
c086664c2a Per-atom vector usage 2022-04-20 16:23:44 +02:00
9d1d552fde bugfix init_list for etypes 2022-04-20 16:23:44 +02:00
df5b1a228d tweak epsilon for macos/arm64 2022-04-19 21:57:43 -04:00
cfff30130f tagint change 2022-04-19 16:33:54 -06:00
a51749b3e9 force sign flip in improper amoeba 2022-04-19 16:30:32 -06:00
e20892fc89 one more tagint change 2022-04-19 15:35:26 -06:00
cc5bfd934d change tagint to double storage 2022-04-19 11:49:55 -06:00
4c57820188 Applied the Modine transpose to x,y,z 2022-04-19 11:48:16 -06:00
ab73faee09 Removed EPS trick that was causing some unexpected reordering 2022-04-19 11:33:59 -06:00
44a4f3cff8 merge with Axel changes 2022-04-19 09:14:56 -06:00
bae7fd74b0 doc page tweaks 2022-04-19 09:09:31 -06:00
c015851fbf fix 64-bit bug 2022-04-19 07:39:07 -04:00
f335b9afc0 add AMOEBA package to "most" preset in GNU build 2022-04-19 04:38:41 -04:00
a73fc87f90 add AMOEBA package to CMake build system 2022-04-19 04:35:25 -04:00
a9ac398d2b correct for updated forward/reverse comm API 2022-04-18 22:08:05 -04:00
df74043d03 correct homepage URL 2022-04-18 21:23:11 -04:00
89195363d6 whitespace 2022-04-18 21:20:13 -04:00
25b0454505 fix various issues for building the manual cleanly: latex, links, escapes, formatting 2022-04-18 21:19:30 -04:00
0a9106a81c final sync with current develop 2022-04-18 17:54:32 -06:00
d3b70c7d5d more changes to sync with new templated GridComm 2022-04-18 17:52:18 -06:00
409c38ece1 missed one change 2022-04-18 17:31:12 -06:00
f8f2b9542e sync with current develop 2022-04-18 17:29:23 -06:00
353ebb11f1 add README for tinker2lmp.py 2022-04-18 16:52:34 -06:00
8932d9ffaa doc pages for AMOEBA/HIPPO 2022-04-18 16:38:41 -06:00
71e96e8b7c Merge pull request #3212 from ndtrung81/dielectric-updates
Updates to the DIELECTRIC package
2022-04-18 09:33:28 -04:00
f40b8f5694 Merge branch 'develop' into dielectric-updates 2022-04-17 17:47:55 -04:00
9228855257 cosmetic 2022-04-17 17:47:38 -04:00
c820eeb118 re-apply clang-format 2022-04-17 17:47:31 -04:00
7c64ff6634 Improved the precision of the conversion factor epsilon0e2q, added more options for units, ensured that qqrd2e be included in efield in several pair styles, and updated the fix polarize doc page 2022-04-17 12:01:41 -05:00
44e4510251 replace vector for storing regions with unordered_set for simpler processing 2022-04-16 11:17:55 -04:00
aa4787f604 complete region handling refactor 2022-04-16 00:17:39 -04:00
cbb4abc55c improve formatting 2022-04-15 17:12:31 -04:00
69d9c5187e refactor group access, enable and apply clang-format 2022-04-15 15:29:43 -04:00
4b400fb4a6 overload count() function to pass in Region pointer directly 2022-04-14 22:00:50 -04:00
21f24ef572 Merge pull request #3218 from lammps/mdi-new-functions
MDI new functions
2022-04-14 20:48:51 -04:00
a0a82cad0b Merge pull request #3214 from stanmoore1/kk_tersoff_bugfix
Fix issues in Kokkos Tersoff and Stillinger-Weber pair styles
2022-04-14 17:28:59 -04:00
e66fb6a1c1 apply clang-format 2022-04-14 17:28:05 -04:00
64b1c45a49 update MDI library and checksum 2022-04-14 17:27:20 -04:00
56bfa90a69 adapt bpm/sphere atom style 2022-04-14 17:23:11 -04:00
20827b4105 sync with new version of MDI library 2022-04-14 15:00:09 -06:00
111111b38b Merge branch 'develop' into atomvec-strings 2022-04-14 16:52:04 -04:00
26f6976568 move errorfunction complement approximation factor into shared namespace 2022-04-14 16:47:38 -04:00
8b31edb102 programming style updates and clang-format applied 2022-04-14 16:47:10 -04:00
81e203b5fa only allow "lj" and "real" units for now 2022-04-14 16:43:59 -04:00
4380ed23d1 documentation and LAMMPS homepage URL updates 2022-04-14 15:55:22 -04:00
0cfb26799c Fix copy/paste error 2022-04-14 13:47:57 -06:00
5bd86a05b2 Merge pull request #2906 from jtclemm/BPM
Adding package for bonded particle models
2022-04-14 15:43:14 -04:00
fccca3405a fixed bug in improper amoeba 2022-04-14 13:20:14 -06:00
c5565a4e02 Small tweaks 2022-04-14 13:16:44 -06:00
5c70f45feb updates to use new funcs from Python as well 2022-04-14 10:49:12 -06:00
29582f09a1 add missing update to property_atom function API 2022-04-14 12:34:58 -04:00
ac8d97d358 capture by reference 2022-04-14 12:27:45 -04:00
31178661c9 switch to C++11 compatible lambda function capture 2022-04-14 12:27:03 -04:00
095c610a3f no more need to explicitly initialize empty fields 2022-04-14 12:00:56 -04:00
b5eb5ac686 update docs for adding atom styles to refactored process 2022-04-14 11:48:18 -04:00
500a3426ed "stringify" and "vectorize" per-atom data handling in Atom class 2022-04-14 11:31:20 -04:00
198d07e905 print warning when fix property/atom is issues before reading a restart 2022-04-14 11:06:35 -04:00
b16d48aa41 "stringify" and "vectorize" processing of per-atom attributs in AtomVec classes 2022-04-14 11:06:10 -04:00
9424c2558e enable and apply clang-format. minor cosmetic changes 2022-04-13 21:05:19 -04:00
1755d06870 Merge pull request #3216 from lammps/update-citation
update a citation
2022-04-13 19:16:57 -04:00
2c7badfa43 debug for improper amoeba 2022-04-13 17:05:44 -06:00
bc2b600f09 changes to use new MDI library functions 2022-04-13 16:26:48 -06:00
578a9ab161 bug fix for bondangle term 2022-04-13 14:52:01 -06:00
0946d41c3f Merge pull request #3215 from megmcca/snap-inner-bug
fix crash with multielement inner cutoff
2022-04-13 16:17:10 -04:00
30914a73fb Update error messages 2022-04-13 14:10:52 -06:00
44f67330e2 Port changes to other flavors of Tersoff 2022-04-13 13:50:49 -06:00
21c61a5c77 Merge pull request #3213 from akohlmey/gpu-remove-legacy
Remove support for CUDA toolkits before version 8 and GPUs older than Kepler
2022-04-13 15:10:17 -04:00
abb9880dc6 degugging on angle term 2022-04-13 12:31:23 -06:00
bd6d7b9136 clarify CUDA versus OpenCL build and runtime restrictions 2022-04-13 14:24:43 -04:00
c9ab5ebbf5 cosmetic 2022-04-13 12:59:54 -04:00
2804de8c26 fix refactoring bug 2022-04-13 12:59:41 -04:00
fb37c86632 remove duplicate 2022-04-13 12:59:30 -04:00
0f1097d7e6 recover read_restart and read_data capability for fix property/atom 2022-04-13 12:41:40 -04:00
2d5fadd88f Switch to const ref to help compiler 2022-04-13 10:27:41 -06:00
230bed0bc4 fix crash with multielement inner cutoff 2022-04-13 09:49:13 -06:00
9e94722987 Remove full neigh option in Kokkos Tersoff and SW pair styles 2022-04-13 08:14:02 -06:00
ef4e41d2a2 programming style and format updates 2022-04-12 22:52:07 -04:00
467cae9436 permissions 2022-04-12 18:43:47 -04:00
09b08ecd85 whitespace 2022-04-12 18:36:51 -04:00
8c153adceb spelling 2022-04-12 18:36:16 -04:00
e89303c202 Fix compile error with Kokkos CUDA 2022-04-12 16:31:21 -06:00
622a4a6d51 Overallocate slightly to reduce memory reallocs 2022-04-12 16:20:21 -06:00
2998462743 Add const 2022-04-12 16:07:37 -06:00
f64d405ad8 Fixing remaining errors/warnings in doc build 2022-04-12 15:59:38 -06:00
90a6a3c125 Fix typo 2022-04-12 15:57:49 -06:00
2fa99703bf Fix issues in Kokkos Tersoff and SW pair styles 2022-04-12 15:49:28 -06:00
616349c27b Merge branch 'develop' into dielectric-updates 2022-04-12 16:33:02 -05:00
f3363070e7 remove support for CUDA toolkits before version 8 and GPUs older than Kepler 2022-04-12 15:48:16 -04:00
ca37c01476 Fixing broken links/references in documentation 2022-04-12 13:36:39 -06:00
e1a7ea38a9 update a citation 2022-04-12 12:59:25 -06:00
01864189c7 dynamics testing 2022-04-12 12:54:23 -06:00
8aa4c5a0e2 debugging on angle term forces 2022-04-12 12:53:51 -06:00
929e46b5c7 remove dead code 2022-04-12 11:06:28 -04:00
e1a2423f2e modernize, initialize pointers, apply clang-format 2022-04-12 11:06:18 -04:00
2ff8ac0cb2 Merge pull request #3210 from arghdos/fix_volatile
Add non-volatile version of join function to DomainKokkos
2022-04-11 19:48:43 -04:00
d9b34d5018 more sign flipping 2022-04-11 17:03:49 -06:00
12d7ef541b Need both versions of join 2022-04-11 15:13:44 -06:00
804c43b33c Merge branch 'develop' of github.com:lammps/lammps into fix_volatile 2022-04-11 15:11:37 -06:00
c939316b99 Added check for grid points outside subdomain 2022-04-11 14:52:35 -06:00
bae9ef7e56 Added check for grid points outside subdomain 2022-04-11 14:51:15 -06:00
429163d2b2 Added check for grid points outside subdomain 2022-04-11 14:47:14 -06:00
ef53298f7c Added the omp version of pair lj/cut/coul/debye/dielectric 2022-04-11 15:45:12 -05:00
2a595713f3 Updated doc page of the set command for the local dielectric constant,
which could be used as a measure of polarizability in the future
2022-04-11 15:01:19 -05:00
73d4d243f4 revert force flip on couple of files 2022-04-11 13:53:47 -06:00
82e5b46361 fix bug with xyz multipole axes 2022-04-11 13:46:29 -06:00
b666f7324c Updated the example input script with the set command for per-atom dielectric constant 2022-04-11 14:44:02 -05:00
b05aadf877 Allowed to set the atom local dielectric values (epsilon) 2022-04-11 14:18:43 -05:00
49aebf64b9 include BPM package in multiple presets 2022-04-11 12:41:28 -04:00
9d907e31b3 recover compilation 2022-04-11 12:40:59 -04:00
36723853c9 Merge branch 'develop' into BPM 2022-04-11 12:18:34 -04:00
8161dff58a Added pair style lj/cut/coul/debye/dielectric, added conversion factor epsilon02eq for real units 2022-04-11 10:54:41 -05:00
ebc74d7428 Indice correction in EXTRA-COMPUTE/compute_born_matrix.cpp, some PBC check in EXTRA-MOLECULE/dihedral_nharmonic.cpp and MOLECULA/angle_cosine.cpp. Also added born_matrix to angle_cosine.cpp 2022-04-11 17:53:48 +02:00
236d275b2f Merge pull request #3211 from akohlmey/collected-small-changes
Collected clang-tidy updates
2022-04-11 11:07:00 -04:00
b36262cd11 cosmetic 2022-04-10 20:47:42 -04:00
d6f7570d57 avoid redundant use of boolean literals 2022-04-10 20:47:31 -04:00
74f2b67b1a no if statement required before delete[] 2022-04-10 19:55:24 -04:00
3eec2eec9a make buffer size a compile time constant and use strncpy() instead of strcpy() 2022-04-10 18:33:17 -04:00
200b4f13c7 use dynamic cast instead of c-style cast when casting from base type to derived class 2022-04-10 18:18:06 -04:00
39b316729b use auto type when assigning from cast or using new 2022-04-10 18:16:36 -04:00
6071376d42 derive ATC_Error exception class from std::exception 2022-04-10 15:25:37 -04:00
413a01ade5 apply clang-tidy updates 2022-04-10 12:07:54 -04:00
1a2d83ab01 HDF5 library may be parallel which is an error with serial LAMMPS 2022-04-10 12:07:54 -04:00
591498ab31 Updated and fixed typos in doc pages 2022-04-10 10:24:31 -05:00
a9f5a1af51 initialize class member pointers in initializer to null 2022-04-10 11:13:33 -04:00
c54fe7d97d small update 2022-04-10 08:00:47 -04:00
85b69000cd revert to use NULL instead of nullptr, so that it compiles without having to enable c++11 compatibility 2022-04-09 20:54:59 -04:00
ddf67ec42d properly use nullptr on pointers (with a little help from clang-tidy) 2022-04-09 20:27:40 -04:00
2d346638fb correctly declare and override virtual functions for desired polymorphism 2022-04-09 20:17:36 -04:00
a620f5bd7d fix pointer type bug 2022-04-09 19:59:43 -04:00
07bc76871c avoid unsafe strcpy() 2022-04-09 19:01:42 -04:00
4adeb29491 clang-tidy fixes 2022-04-09 19:00:59 -04:00
177f9cabc1 add ELECTRODE package to suitable presets 2022-04-09 18:19:55 -04:00
4e81adaf8c make buffer size for text file reader adjustable 2022-04-09 17:46:47 -04:00
fcd3e76767 skip unsupported unit tests 2022-04-09 17:45:38 -04:00
c07b06c8d1 skip unsupported unit tests 2022-04-09 17:44:40 -04:00
420dc969d3 need to set buffer size based on generated output format 2022-04-09 17:26:41 -04:00
eb9af11d64 make buffer size for text file reader adjustable 2022-04-09 17:26:03 -04:00
b20c98753f style changes 2022-04-09 10:10:33 -04:00
44ccbd2184 use internal reader/parser classes for file reading and writing 2022-04-09 10:10:19 -04:00
06fc53ac69 make timer output configurable and off by default 2022-04-09 10:08:58 -04:00
75d87383e2 one more OpenMP fix 2022-04-09 09:10:45 -04:00
a04c0077b9 silence some more compiler warnings and try to resolve issues with old compilers 2022-04-09 09:04:17 -04:00
8625a6d946 apply clang-format 2022-04-09 08:00:11 -04:00
ce62da1cca compatibility with legacy OpenMP implementations 2022-04-09 07:53:17 -04:00
71f8e11d70 join multi-line strings 2022-04-09 07:45:01 -04:00
a94fa0a840 formatting 2022-04-09 07:44:33 -04:00
23598fa658 spelling 2022-04-09 07:44:15 -04:00
7673eda947 apply clang-format 2022-04-09 07:16:22 -04:00
6dea9fa10c add missing dependency handling in GNU make build for ELECTRODE package 2022-04-09 07:10:31 -04:00
c04db4b545 modernize 2022-04-09 07:01:42 -04:00
e0c4f6164e silence compiler warnings 2022-04-09 07:01:35 -04:00
cab6fca22e update to latest upstream and modernize neighbor list request handling 2022-04-09 07:00:39 -04:00
19b42bc726 Merge branch 'develop' into electrode 2022-04-09 06:31:22 -04:00
8ce2ce8fd4 remove unused import 2022-04-09 04:02:01 -04:00
a71bf4cae5 Merge pull request #3207 from lammps/remove-message-package
remove MESSAGE package
2022-04-09 03:20:26 -04:00
8dce9f7a60 install pyyaml 2022-04-09 00:39:50 -04:00
6c87962551 fix remaining doc build issues 2022-04-09 00:39:27 -04:00
674d2a6788 Merge branch 'develop' into remove-message-package 2022-04-09 00:25:11 -04:00
8b53ff9383 Merge pull request #2921 from lammps/mdi-expand
Enhance MDI support in LAMMPS in its MDI package
2022-04-09 00:18:50 -04:00
22122092e4 Merge pull request #3206 from akohlmey/add-kimplugin
Add kimplugin source and CMake based build support
2022-04-08 23:09:13 -04:00
d0d4bbf5ae Merge pull request #3196 from akohlmey/avoid-bigint-format-scanf
Refactor code to avoid XXXINT_FORMAT defines and  xxscanf() function calls
2022-04-08 21:24:57 -04:00
5ff42d8993 simplify 2022-04-08 21:21:36 -04:00
81933b7972 silence compiler warnings 2022-04-08 21:19:32 -04:00
f3685fa8de fix bugs 2022-04-08 21:18:55 -04:00
375062d02c restore modern API usage 2022-04-08 21:18:28 -04:00
093667799d Merge branch 'develop' into mdi-expand 2022-04-08 20:58:53 -04:00
1cc913d006 Merge pull request #3205 from akohlmey/dump-style-yaml
Add dump style yaml
2022-04-08 20:55:01 -04:00
0e49bbe710 recreate data files with different angle ordering method 2022-04-08 17:16:12 -06:00
d0af0fa456 turn off terms for both amoeba and hippo 2022-04-08 16:51:08 -06:00
8cdce34b27 Merge branch 'develop' into dump-style-yaml 2022-04-08 18:42:28 -04:00
6849356d63 fix spelling, formatting, and cross-link/indexing issues 2022-04-08 18:35:51 -04:00
530d8c007d minor tweak 2022-04-08 18:09:10 -04:00
521d45dcc6 remove MESSAGE package from CMake 2022-04-08 18:00:36 -04:00
fbc55937fe Merge pull request #3198 from bathmatt/pair-dpd
DPD-BASIC kokkosification
2022-04-08 17:48:28 -04:00
da6fb4c544 Added epsilon shift to eliminate uneven tiebreaks 2022-04-08 15:47:12 -06:00
2111797ed8 more force flips in torque2force 2022-04-08 15:41:08 -06:00
dff3bc5656 Merge branch 'develop' into avoid-bigint-format-scanf 2022-04-08 17:39:25 -04:00
fc24cf15ce Merge pull request #3197 from akohlmey/custom-thermo-headers
add support for custom header keywords with thermo output and dump styles
2022-04-08 17:29:35 -04:00
b24d01fae6 remove broken links in the manual from removing packages 2022-04-08 17:27:01 -04:00
d0edc48a65 update purge list with removed source files from MESSAGE package 2022-04-08 17:26:16 -04:00
f405c7acc9 add deprecation handling removed commands and styles 2022-04-08 17:25:56 -04:00
2d2660487d flip signs for forces instead of gradients 2022-04-08 15:23:17 -06:00
6ef7d19fc0 Added a test for bgrid/local 2022-04-08 15:05:17 -06:00
3039d10742 new key files for water box example 2022-04-08 15:00:54 -06:00
ef7c6a580e simplify 2022-04-08 16:51:52 -04:00
2c509d96a6 we are not compatible with those old versions for the MDI library 2022-04-08 16:43:41 -04:00
07aecb3678 whitespace fixes and apply clang-format 2022-04-08 16:36:21 -04:00
bfaa1e9ed0 whitespace 2022-04-08 16:28:57 -04:00
a7ccb16aa8 Merge pull request #3192 from davidfir3/fep_ta
New feature compute fep/ta
2022-04-08 16:27:12 -04:00
33798b99a4 remove debug print statement 2022-04-08 14:08:51 -06:00
caa977e869 Remove redundant calls 2022-04-08 13:28:14 -06:00
f8ec0365c6 Fix a few more issues 2022-04-08 12:52:26 -06:00
d99b1258e3 remove volatile to fix build error from Kokkos commit (5574130fb333ac1745a52d4a6383ac95c64bdc0f) 2022-04-08 11:13:31 -05:00
b73437aa63 Merge pull request #3208 from arghdos/develop
Fix for building GPU backend on ROCm 5.1+
2022-04-08 07:19:27 -04:00
4efdfaa8f3 simplify and make consistent, fix time based dump bug 2022-04-08 07:05:30 -04:00
bd4d92c76d entry for mdi sub-dir in Examples.rst 2022-04-07 16:02:45 -06:00
77565add6e Add C++14 to Makefile build system
Change-Id: I24f72b4aaca93a49877775c3d181507c83cd7f82
2022-04-07 17:54:20 -04:00
ab0e5d5568 Fix for building GPU backend on ROCm 5.0+
Change-Id: I32ad9be86d6a0467ccae555a1d0272813c905e97
2022-04-07 17:48:03 -04:00
792ae5dae5 remove src/MESSAGE package and supporting dirs and doc pages 2022-04-07 15:44:48 -06:00
f40180f7fb lib README edit 2022-04-07 15:15:50 -06:00
adef9b7747 add log files to examples/mdi 2022-04-07 15:13:29 -06:00
40aa146624 Prune unused code and fix virial issue 2022-04-07 15:05:07 -06:00
0b6aa59621 updated doc pages 2022-04-07 14:42:58 -06:00
e2f25a96e1 spelling 2022-04-07 14:50:33 -04:00
ddb6350fe8 Remove unused var 2022-04-07 10:53:38 -06:00
9b969648d5 add kimplugin source and CMake based build support 2022-04-07 12:51:06 -04:00
2956aee8dc Small tweaks 2022-04-07 10:45:50 -06:00
4f67f586d0 Fix memory issue and leftover debugging 2022-04-07 10:02:58 -06:00
fdf59e6a03 more debugging for plugin library mode 2022-04-07 09:26:43 -06:00
f5add95083 fix syntax error 2022-04-07 06:08:54 -04:00
8a6e6fe523 make dump style yaml test dependent on it being available 2022-04-07 05:59:31 -04:00
3970942028 add test for yaml dump style 2022-04-07 02:44:17 -04:00
0e8e1171c6 add unit test for yaml style thermo output and updated logfile class 2022-04-07 02:07:05 -04:00
59fa0be35f update for recent changes in thermo output 2022-04-07 02:06:55 -04:00
98b908387f add unit test for yaml style thermo output and updated logfile class 2022-04-07 02:05:47 -04:00
601bdadf44 update for recent changes in thermo output 2022-04-07 02:05:05 -04:00
082254455b improve confusing error messages 2022-04-07 00:37:30 -04:00
58ecf03e5d correct yaml import 2022-04-07 00:37:18 -04:00
348ee5299e implement a dump style yaml 2022-04-06 19:11:55 -04:00
e944ecd1c2 correct docs 2022-04-06 19:10:16 -04:00
207b34ae12 allow for pre-timestepping comm with engine, e.g. for force eval 2022-04-06 16:38:58 -06:00
b1e92c9ec6 update YAML reading python example to read faster using libyaml. 2022-04-06 17:38:25 -04:00
4bd28cf920 altering how plugin mode works 2022-04-06 15:24:02 -06:00
2b8b916cba delete unused enums 2022-04-06 10:08:53 -04:00
cd7f08a8e7 support dump_modify for column headers in ADIOS dump styles 2022-04-06 09:31:01 -04:00
387b0df554 Remove gitlab pipeline 2022-04-06 08:21:12 +02:00
b4cc158981 Merge pull request #3182 from charlessievers/mliap
ML-IAP updates
2022-04-05 22:07:27 -04:00
e4f62cae9a integrated added styles into manual 2022-04-05 22:01:21 -04:00
4ad8af629d whitespace 2022-04-05 21:53:29 -04:00
f89a08985e update DPD-BASIC package examples 2022-04-05 21:50:36 -04:00
607ecf595b Add ScatterView 2022-04-05 17:04:23 -06:00
8744627059 Tiny tweaks 2022-04-05 16:04:43 -06:00
efa7116b58 Merge branch 'develop' of https://github.com/lammps/lammps into pair-dpd 2022-04-05 15:48:36 -06:00
cd0b921ed2 Merge pull request #3203 from stanmoore1/acks2_bug
Fix issues in ReaxFF QEq and ACKS2
2022-04-05 16:29:30 -04:00
65be564cd6 Review akohlmey 2022-04-05 15:35:04 +00:00
22392d226a silence compiler warnings 2022-04-04 21:11:09 -04:00
a5139d7100 make sure "NN" is initialized before it is used 2022-04-04 21:03:15 -04:00
46f88011bd input syntax include/exclude bug 2022-04-04 17:01:10 -06:00
288c154290 Merge pull request #3186 from Ruyk/kokkos-sycl-cmake
Add kokkos-sycl.cmake preset
2022-04-04 16:12:24 -04:00
c274146358 whitespace 2022-04-04 15:40:19 -04:00
3eb7194619 Merge branch 'develop' into acks2_bug 2022-04-04 15:39:44 -04:00
3e01bc48d4 Need s ghosts 2022-04-04 13:05:10 -06:00
134c77a5c6 reference kokkos-sycl.cmake in the docs 2022-04-04 14:47:53 -04:00
fd80b1bd9b Merge pull request #3201 from samueljmcameron/bugfix_dumpvtk
Bug fix in vtk dump.
2022-04-04 14:40:56 -04:00
776dc34411 Add missing vars 2022-04-04 12:28:03 -06:00
f42635a40d Should be nall not nghost 2022-04-04 12:08:38 -06:00
4fadf4c830 more debugging on plugin mode 2022-04-04 10:30:12 -06:00
b4fc86e467 Fix issues in ReaxFF QEq and ACKS2 2022-04-04 10:24:54 -06:00
02f972292c spelling 2022-04-04 12:16:28 -04:00
5d4ec45534 Merge branch 'develop' into custom-thermo-headers 2022-04-04 12:08:23 -04:00
d89ff310c1 Merge pull request #3202 from lammps/fix-deform-doc-page-edit
Fix deform doc page edit
2022-04-04 12:07:10 -04:00
a0b15c2d04 Merge pull request #3199 from lammps/misc
Misc changes
2022-04-04 11:51:59 -04:00
63a841e300 doc page edit 2022-04-04 08:59:40 -06:00
3ed011dcfb whitespace 2022-04-03 10:55:56 -04:00
028beb8da4 Merge branch 'develop' into misc 2022-04-03 10:55:24 -04:00
db00b49a50 Merge pull request #3195 from weinbe2/feature/kk-reax-ang-tors-optim
kk/reax: Preprocessing optimizations to ComputeAngular,Torsion; Modularity/Memory improvements in BuildLists
2022-04-03 09:52:08 -04:00
e5a01026a7 add unit tests for fix move 2022-04-03 03:19:47 -04:00
c9d0889f25 add "transrot" style to fix move that allows to do translation and rotation at the same time 2022-04-02 18:34:17 -04:00
584b166823 enable and apply clang-format 2022-04-02 17:20:34 -04:00
93c67a3c07 make compute msd (and msd/nongauss) error out immediately when used with a dynamic group 2022-04-02 17:13:30 -04:00
8e838c1424 Bug fix in vtk dump. 2022-04-02 12:55:51 +01:00
49abd0d269 update docs 2022-04-01 15:17:10 -04:00
fb9316701b port colname changes to MPIIO package 2022-04-01 14:57:41 -04:00
dab640220c Fix name to match code 2022-04-01 12:48:58 -06:00
ea9e3c0860 Update fix ACKS2 docs 2022-04-01 12:45:38 -06:00
2f895d63a6 Add missing variable assignment 2022-04-01 12:32:24 -06:00
fb76cb9a5c updated virtual 2022-04-01 17:54:12 +02:00
294dcc5f93 more debugging for plugin mode 2022-04-01 09:27:48 -06:00
68f27bb4cd addressing comments from Evan's review 2022-04-01 17:02:57 +02:00
ce67cb0ca1 first stab at implementing dump_modify colname 2022-04-01 07:41:13 -04:00
9c0934e82c Have ext-tstat working 2022-04-01 10:37:53 +02:00
c470c204d4 remved unused var 2022-04-01 10:35:05 +02:00
4042a52db1 rename header keyword to colname 2022-03-31 21:58:35 -04:00
4437f16e08 remove references to non-existing folders 2022-03-31 17:49:24 -04:00
335b78b4f2 Add contributing author to list 2022-03-31 15:27:05 -06:00
e3611c5d73 add support for custom keywords with thermo output 2022-03-31 17:26:46 -04:00
7ec3017b85 recreate data files for water examples 2022-03-31 15:17:08 -06:00
19a6eecfbb more debugging for plugin engine mode 2022-03-31 14:41:38 -06:00
4dc4d74056 Add back in accidentally deleted call 2022-03-31 13:10:22 -06:00
ad4701f4f7 Small tweaks 2022-03-31 12:52:36 -06:00
72874376f0 Remove #ifdef 2022-03-31 12:27:43 -06:00
79fcf18013 Remove #ifdef 2022-03-31 12:25:58 -06:00
229f0af537 enable LAMMPS as driver to use plugin engine 2022-03-31 12:09:05 -06:00
df05bbb72b moved dpd_tstat to kokkos 2022-03-31 17:20:56 +02:00
28976b8c92 recover compilation on windows with old MPICH version 2022-03-31 08:44:43 -04:00
12ddc4ad12 final set of XXXINT_FORMAT changes 2022-03-31 07:51:14 -04:00
52b563a83e modernize parsing in fix tmd, add support for comments and empty lines 2022-03-31 07:36:50 -04:00
33b6466611 add minimal fix tmd example 2022-03-31 07:31:43 -04:00
b97c30e6e7 more refactoring, modernizing, removing of debug code 2022-03-31 06:24:44 -04:00
acd9c7950e update doc and example 2022-03-31 12:25:10 +08:00
b64e90dfe0 simplify. avoid XXXINT_FORMAT macros 2022-03-30 23:43:28 -04:00
1c9dc9c0d9 correct formatting 2022-03-30 22:11:46 -04:00
d104070066 add option for dynamics to in.ubiquitin 2022-03-30 17:15:18 -06:00
65a083c83d add support for </>VELOCITIES command at nodes 2022-03-30 15:52:55 -06:00
993441b25a avoid XXXINT_FORMAT macros in fix reaxff/bonds 2022-03-30 17:52:21 -04:00
c7a9a3e2f6 simplify and replace use of XXXINT_FORMAT macros 2022-03-30 16:13:38 -04:00
d28b9818bb working changes to fix bitorsion 2022-03-30 13:02:15 -06:00
f3fa04ae0a bugfix 2022-03-30 15:01:03 -04:00
c4729b39b4 replace more uses of XXXINT_FORMAT with fmtlib 2022-03-30 13:53:25 -04:00
9162d8842d debugging 2022-03-30 11:20:33 -06:00
14f54aae40 Reax: Preprocessing optimizations to ComputeAngular,Torsion. Modularity boosts + memory reductions for BuildLists 2022-03-30 08:23:41 -07:00
5003c35963 have first cut of just pair-dpd 2022-03-30 16:22:26 +02:00
ddf93eb7ba removed unused var 2022-03-30 15:42:09 +02:00
69d32f286b Stan's patch 2022-03-30 15:10:54 +02:00
2517d1fb55 Converted DPD-BASIC-EXT to use Kokkos 2022-03-30 15:10:54 +02:00
9aad583c7d more parsing updates 2022-03-30 07:38:33 -04:00
999c880dfd simplify parsing numbers and reduce usage of BIGINT_FORMAT 2022-03-30 07:12:25 -04:00
ff3ac64b7e spelling 2022-03-30 03:32:26 -04:00
faacf575b5 add support for >+FORCES command 2022-03-29 14:20:44 -06:00
841931b92b fleshing out bitorsion fix 2022-03-29 14:09:17 -06:00
b92d117524 Merge pull request #3191 from akohlmey/collected-small-changes
Collected small changes and fixes
2022-03-29 14:45:18 -04:00
385b7a77e6 Merge pull request #3193 from samueljmcameron/stable_fix_brownian_update
BROWNIAN package update
2022-03-29 13:03:11 -04:00
2a35ec2d85 Merge pull request #3187 from stanmoore1/kk_opt_neighlist
Optimize Kokkos neigh list for GPUs
2022-03-29 12:05:34 -04:00
d9880273e3 fix typo 2022-03-29 11:54:34 -04:00
9b53bd0fbf bitorsion fix 2022-03-29 09:45:24 -06:00
b8c7a6153d whitespace 2022-03-29 09:49:48 -04:00
bfe361c576 fix doc building issues 2022-03-29 09:47:44 -04:00
5ea526728e Merge branch 'develop' into stable_fix_brownian_update 2022-03-29 08:26:11 -04:00
88ff2db715 cosmetic updates, print warnings only on MPI rank 0 2022-03-29 08:23:18 -04:00
6f1fac1c59 Updated docs. 2022-03-29 12:21:09 +01:00
c28504961d remove references to the mailing list in the manual and replace with forum link, if needed 2022-03-29 07:01:00 -04:00
dcd6bea172 one final fix in constructor of asphere. 2022-03-29 11:22:21 +01:00
27d2fab951 simplify processing for "*" in filenames for embedding timestep by using utility function 2022-03-29 06:06:48 -04:00
da61b6871a Added in check for ellipsoid in brownian_asphere 2022-03-29 10:46:05 +01:00
db5e4e05a8 fix bug that happens when fix ave/time Nfreq < thermo freq 2022-03-29 15:35:23 +08:00
0bebe6c428 First commit, things not working though. 2022-03-29 07:50:19 +01:00
015257889d flag compatibility with VTK version 9 2022-03-29 01:03:04 -04:00
b211f97efa update and improve ADIOS support
- modernize code
- remove dead code and unused definitions, enums, and includes
- create default adios2_config.xml file if it doesn't exist
- enable and apply clang-format
- update documentation
2022-03-29 01:01:57 -04:00
333e3b0491 apply clangformat 2022-03-28 22:48:00 -04:00
3ba7b8c24c add star_subst() utility function that replaces a '*' in a string with a number 2022-03-28 22:47:20 -04:00
82d0a55862 remove merge conflict message 2022-03-28 15:26:20 -06:00
365f5f7ad7 tweaks 2022-03-28 15:24:19 -06:00
6407745781 update programming style and enable/apply clang-format 2022-03-28 16:49:11 -04:00
a60e1546b2 properly integrate into build system and docs 2022-03-28 16:48:44 -04:00
60e2b84e09 Fuse loops 2022-03-28 14:43:16 -06:00
1a3c6d3dbc tweak to one MDI doc file 2022-03-28 14:33:17 -06:00
d80fe166d1 Merge branch 'develop' into collected-small-changes 2022-03-28 16:30:01 -04:00
438cba3604 update programming style to latest conventions, enable and apply clang-format 2022-03-28 16:26:55 -04:00
88c075ba90 Tune for HIP 2022-03-28 14:19:50 -06:00
48332c3b18 Rename variable 2022-03-28 14:17:44 -06:00
94645ae720 update of doc pages to match new version of MDI support 2022-03-28 13:56:16 -06:00
63caa8bb44 reorder so that kspace follows improper and comes before compute 2022-03-28 15:12:25 -04:00
120c080fc2 avoid converting a null pointer to a std::string and correct error check 2022-03-28 15:07:23 -04:00
9920b22509 programming style updates 2022-03-28 15:06:55 -04:00
cd8cdc711c Merge pull request #3189 from CDenniston/develop
remove defunct LBtype argument from lb/fluid doc
2022-03-28 14:12:00 -04:00
540cf9b6d7 Merge pull request #3188 from njzjz/kspace_plugin
support kspace style plugin
2022-03-28 11:58:40 -04:00
51c41f09bf recover unit tests for variables 2022-03-28 09:21:25 -04:00
af4afb7e03 modify error/warning message 2022-03-28 21:14:13 +08:00
ebf2b1e706 add doc for compute fep/ta 2022-03-28 20:01:59 +08:00
d7f95da8f3 add extract_setting special function to variable command 2022-03-28 08:00:29 -04:00
4545954385 reformat for wider lines 2022-03-28 07:24:51 -04:00
13228ca29a add dimension check 2022-03-28 13:34:36 +08:00
c52bffda9c remove defunct LBtype argument from lb/fluid doc 2022-03-27 11:26:23 -04:00
cf17fd2306 remap ghost atoms, no need to forward_comm() 2022-03-27 21:49:51 +08:00
603136a93b rename some function & variable, output delta area 2022-03-27 20:52:00 +08:00
7c333b8e07 include bonded eng, cancel neigh build & fix bugs 2022-03-27 20:22:16 +08:00
ff107315cb need to always extract the path to MPI include directory 2022-03-26 23:20:57 -04:00
980b6cada7 update formatting 2022-03-26 10:55:10 -04:00
36444a1db1 add DOI for 29 September 2021 version 2022-03-26 10:48:45 -04:00
356091e1e0 support kspace plugin
I need such feature in the development of deepmd-kit.
2022-03-26 03:39:07 -04:00
2e84700224 delete unused variable "pairflag" 2022-03-26 13:55:22 +08:00
dc668ed0df update to README instructions 2022-03-25 16:11:17 -06:00
55d3edef2f doc info in sequence_driver.py 2022-03-25 16:10:43 -06:00
d710d19aef Enforce pre_exchange() order for (currently) unused update option 2022-03-25 15:56:59 -06:00
4d037376af include GHub whitespace changes 2022-03-25 15:19:13 -06:00
0c1516b34d Add another missing change 2022-03-25 14:14:42 -07:00
055fefc542 finished MDI engine and test script debugging 2022-03-25 15:07:38 -06:00
d648247b80 whitespace 2022-03-25 13:03:56 -07:00
d131223161 Restore changes lost in Git shuffle 2022-03-25 12:59:45 -07:00
9f0eb2ea1a Add note about memory 2022-03-25 12:17:33 -07:00
b14086f3f9 Update docs 2022-03-25 12:12:04 -07:00
a5e22c07c7 Merge branch 'kk_npair_ghost_gpu' of github.com:stanmoore1/lammps into neigh_transpose 2022-03-25 11:49:17 -07:00
01abeda9ef Merge branch 'develop' of https://github.com/lammps/lammps into kk_npair_ghost_gpu 2022-03-25 12:08:32 -06:00
e2e046c452 add missing host overload to make Clang happy
Change-Id: Ib0bd9dec3ecc6bf13b9894b07024172a9810cd77
2022-03-25 12:05:25 -06:00
17b35878ea Add version of Kokkos Ghost neigh list optimized for GPUs 2022-03-25 12:03:20 -06:00
c3f4dac7dc Small tweak to comments 2022-03-25 09:45:05 -07:00
6dae6198a2 Add neigh transpose as Kokkos package option 2022-03-25 09:17:39 -07:00
2279b28df2 Update from upstream 2022-03-25 09:00:56 -07:00
8e9b508c88 Merge branch 'develop' of github.com:lammps/lammps into Elastic_stress 2022-03-25 16:01:35 +01:00
274db39aa5 demo of new compute style fep/ta 2022-03-25 22:41:39 +08:00
29ada4e263 Update description header 2022-03-25 11:19:59 +00:00
2ae448d9d0 Add kokkos-sycl.cmake & relevant compiler flags 2022-03-25 11:05:09 +00:00
58f59197ff silence warnings from coverity scan 2022-03-25 05:30:01 -04:00
5663a9c38b print current LAMMPS version number in configuration summary 2022-03-24 17:07:45 -04:00
4e180bc237 update URL for downloading old LAMMPS versions 2022-03-24 17:02:07 -04:00
08bdaf8ca7 Merge pull request #3184 from akohlmey/next_patch_release
Update version strings for next patch release
2022-03-24 14:27:29 -04:00
dad8fb8b06 Removing residual files 2022-03-24 11:44:44 -06:00
82f4487d4d Merge pull request #3185 from akohlmey/collected-small-changes
Final small changes for patch release
2022-03-24 13:25:01 -04:00
82c5c622b8 fix temperature initialization bug in KOKKOS nose-hoover code 2022-03-24 11:44:02 -04:00
81d0165c5c Merge pull request #3181 from jibril-b-coulibaly/new_damp
Damping fixes for finite-size particles simulations
2022-03-24 11:08:02 -04:00
0b2eda5f1d doc page edits 2022-03-24 08:43:27 -06:00
4278ff8205 update threebody example 2022-03-24 07:32:30 -04:00
383f0adc94 update version strings for patch release 2022-03-23 19:44:14 -04:00
d8d12ccf1c Merge pull request #3180 from akohlmey/strtok-parsing-refactor
Refactor files to replace parsing with strtok() to use tokenizer classes
2022-03-23 19:40:39 -04:00
6e959b6f43 more robust response to >COORDS command 2022-03-23 17:21:00 -06:00
a3beb063a3 update and simplify parsing of STL mesh using LAMMPS utilities 2022-03-23 18:41:17 -04:00
66f97ef6bc whitespace 2022-03-23 17:22:46 -04:00
a4018dbb4b update MDI library to version 1.3.0 2022-03-23 17:18:19 -04:00
92a968a8a9 Resolving merge conflicts 2022-03-23 14:28:27 -06:00
07cec37786 add Note to damping/cundall documentation about fix order. Remove fix order warning from fix viscous/sphere 2022-03-23 14:59:43 -05:00
42dd772455 more work on plugin mode 2022-03-23 13:45:20 -06:00
f95aaf5898 update settings 2022-03-23 15:15:51 -04:00
d785483c4c update potential file parsing in pair style meam/spline and meam/sw/spline 2022-03-23 15:09:31 -04:00
61f28aea36 add "rewind()" member function to Text and Potential file reader classes 2022-03-23 14:44:50 -04:00
67329b6fff fix KOKKOS bug 2022-03-23 14:40:17 -04:00
9417e41676 Rename sphere/bpm, remove bond instance, add smooth option 2022-03-23 11:41:27 -06:00
c4425a1b0e debugging plugin mode 2022-03-23 11:17:51 -06:00
2ab9aa3cdc dummy commit to trigger resolving github inconsistency 2022-03-23 11:16:54 -04:00
59eca42127 synchronize format handling and fix/compute/variable checking with dump custom 2022-03-23 10:57:52 -04:00
a208f1fc39 minor tweak to one style thermo output for keeping columns straight 2022-03-23 10:48:15 -04:00
ae41996967 add support for determining damping scale factor from atom-style variable 2022-03-23 10:43:26 -04:00
ace6c67697 Copy .h & .cpp from compute_fep for comparison 2022-03-23 22:26:44 +08:00
1fd699d279 enable and apply clang-format 2022-03-23 05:06:15 -04:00
b6e37c828e move fix viscous/sphere to EXTRA-FIX package 2022-03-23 05:02:32 -04:00
e247c1a4d0 update related commands 2022-03-23 04:57:49 -04:00
4a5f5b9980 Merge remote-tracking branch 'github/develop' into new_damp 2022-03-23 04:47:52 -04:00
23461d4ba8 spelling 2022-03-23 04:47:48 -04:00
9d500280c9 more tweaks for extep potential file 2022-03-22 22:21:23 -04:00
c18236216b add MPI_Group_free() support to STUBS 2022-03-22 21:54:36 -04:00
0bd8500da3 whitespace 2022-03-22 21:47:26 -04:00
31f0d5c056 Merge remote-tracking branch 'github/develop' into strtok-parsing-refactor 2022-03-22 21:44:15 -04:00
8ef9eae60a update potential file parser in pair style extep 2022-03-22 21:43:26 -04:00
080662683d use tokenizer to read neb initial replica files 2022-03-22 20:54:42 -04:00
3e7de83e6e Merge pull request #3179 from akohlmey/thermo-refactor-plus-yaml
Refactoring of Thermo class and new thermo style yaml
2022-03-22 20:17:25 -04:00
4c13f99b04 convert to use LAMMPS' tokenizer and potential file reader classes 2022-03-22 17:59:53 -04:00
1ee40f8f8f change to tests 2022-03-22 11:11:43 -06:00
194751e800 add support for full minimizations 2022-03-22 09:32:31 -06:00
eb44b6b1fa Merge branch 'develop' into mdi-expand 2022-03-22 08:39:24 -06:00
6555c7302d debugging for series of calcs 2022-03-22 08:38:39 -06:00
d3ba1af89c rename cundamp to damping/cundall 2022-03-22 09:01:53 -05:00
2e539918c1 slight change in __init__.py to fix *.a bug 2022-03-21 22:55:28 -07:00
862e4ba67a Added different pytorch modules that allow different handling of element types and proposal for __init__.py bug fix 2022-03-21 22:45:28 -07:00
8954ac4f20 correct/simplify for GPU device specialization 2022-03-21 17:12:43 -04:00
643511294e create fix for rotational viscous damping on spheres. create fix for Cundall type damping for granular simulations 2022-03-21 15:34:04 -05:00
4c1a6d7ecf tweak settings for thermo style "one" 2022-03-21 14:44:07 -04:00
6c30bdf082 add missing reaxff files to purge list 2022-03-21 14:35:09 -04:00
6f2c09c187 Merge branch 'develop' of github.com:lammps/lammps into Elastic_stress 2022-03-21 10:46:53 +01:00
bc86bdf984 use tokenizer in fix phonon 2022-03-20 21:54:58 -04:00
4c95314ea6 must set boxflag *after* checking for rigid fix because we might change the box ourselves 2022-03-20 21:25:26 -04:00
550ae15dff proper handle partial initialization from infile 2022-03-20 21:12:35 -04:00
89c7d8f707 replace strtok based file reader with ValueTokernizer 2022-03-20 16:34:41 -04:00
adf4a23f58 refactor and apply clang-format
- replace file reader code using TextFileReader and ValueTokenizer
- replace traversing list of fixes with accessor functions
- enable and apply clang-format
- add examples for reading rigid bodies from file
2022-03-20 15:28:31 -04:00
356555418d remove dead code 2022-03-20 00:41:26 -04:00
45d246b9c5 Merge branch 'develop' into thermo-refactor-plus-yaml 2022-03-19 21:55:18 -04:00
d539dcd8d4 repair collateral damage to NETCDF package from Thermo class refactor 2022-03-19 20:54:50 -04:00
1b7da77a4a update some more version change timestamps 2022-03-19 20:20:30 -04:00
294dd2778a update thermo style yaml docs and examples for reading and parsing 2022-03-19 20:19:52 -04:00
c70b0b39ac update documentation for modifying LAMMPS to reflect changes to Thermo class 2022-03-19 18:06:56 -04:00
74103b141a enable and apply clang-format 2022-03-19 18:03:29 -04:00
a4d2062865 reduce redundant code with helper functions and simplify by using std::string 2022-03-19 18:01:12 -04:00
f5ebfbf90b refactor thermo output processing and add new yaml thermo style 2022-03-19 16:39:09 -04:00
649e8a27b3 Merge pull request #3159 from akohlmey/neigh-request-refactor
Refactor neighbor list request code
2022-03-19 00:47:09 -04:00
4399559259 adjust epsilon for unit test on MacOS 2022-03-18 23:37:54 -04:00
ad5235a764 update yaml file for force style unit tests with higher precision numbers 2022-03-18 22:44:50 -04:00
c80a182150 relax epsilon for MSVC++ test 2022-03-18 21:20:44 -04:00
88ac22cd62 silence compiler warnings. avoid uninitialized access. 2022-03-18 20:02:49 -04:00
4f3a9f9b63 Merge branch 'develop' into neigh-request-refactor 2022-03-18 19:23:51 -04:00
3f28768b5e Merge pull request #3177 from akohlmey/collected-small-changes
Collected small changes and fixes
2022-03-18 19:22:40 -04:00
a96aef73d1 Merge remote-tracking branch 'github/develop' into neigh-request-refactor 2022-03-18 18:28:35 -04:00
3828518e5e implement suggestions from @athomps 2022-03-18 18:28:20 -04:00
2b2bc64ad9 Merge pull request #3178 from akohlmey/sphinx-theme-update
Update LAMMPS theme for HTML pages of the manual
2022-03-18 18:09:56 -04:00
68673633f0 silence compiler warnings about unused variables 2022-03-18 18:09:24 -04:00
a7fce6dc39 add harmonic/cut to python example folder. small tweaks to docs and examples 2022-03-18 17:58:30 -04:00
6c6a6b7c64 provide more complex example for using pair style python 2022-03-18 17:07:01 -04:00
30966dfed0 Bugfix from @weinbe2 2022-03-18 14:14:34 -06:00
364ac40724 Merge pull request #3169 from stanmoore1/kk_reduce_mem
Reduce memory use in Kokkos package
2022-03-18 14:21:30 -04:00
8fe7b928a7 use newer APIs to get access to fixes and computes 2022-03-18 13:16:18 -04:00
cc2ba3c350 make sure parameters are stored symmetrically 2022-03-18 13:02:34 -04:00
f928cc2335 update github managers. 2022-03-18 11:37:49 -04:00
008c000bfe update LAMMPS theme for HTML pages from readthedocs theme to version 1.0.0 2022-03-18 07:44:47 -04:00
815718f33a follow conventions 2022-03-18 06:06:48 -04:00
bc8998c997 correct toycar input example 2022-03-18 06:02:38 -04:00
477d53bcdb check for sufficient number of arguments in command line 2022-03-18 06:02:38 -04:00
734d867a91 use preprocessor for conditional compilation 2022-03-18 06:02:28 -04:00
626b2c4bab use utility functions 2022-03-18 05:52:34 -04:00
43b4240503 use sizeof(double) not sizeof(MPI_DOUBLE), bigint instead of long int
also use fmt::print() for typesafe output
2022-03-18 05:51:35 -04:00
32612d3f5b enable and apply clang-format 2022-03-18 00:06:28 -04:00
6d38ce5284 enable and apply clang-format 2022-03-17 23:40:37 -04:00
e12e06198c enable long md and min runs 2022-03-17 17:58:26 -06:00
85e581eb2a enable and apply clang-format 2022-03-17 19:44:53 -04:00
58030009da new math constants: DEG2RAD and RAD2DEG 2022-03-17 19:44:34 -04:00
6e7eedf148 enable and apply clang-format 2022-03-17 18:41:17 -04:00
fb8074d294 renormalize line endings. add .gitattributes to configure them explicitly 2022-03-17 18:21:31 -04:00
fc532ae1a0 list submodules to be updated explicitly for compatibility with CMake 3.16 and later 2022-03-17 16:53:44 -04:00
1e21b8fac1 enable and apply clang-format 2022-03-17 15:37:50 -04:00
57cf2a735a add support for '-f' option to shell rm built-in command 2022-03-17 15:17:44 -04:00
8ffacb55ca enable and apply clang-format 2022-03-17 12:20:17 -04:00
982a5719c4 correct mixed up force and energy in pair style harmonic/cut 2022-03-17 12:18:36 -04:00
9dfb099197 change platform::mkdir() to create entire path like "mkdir -p"
update the documentation of the shell command to current state
and specifically explain the difference between built-in and
external commands and correct where built in commands were described
as calling external commands.
2022-03-17 11:34:50 -04:00
b7ea33332f spelling 2022-03-17 11:32:48 -04:00
1fbeba8fa7 remove dead code and silence compiler warnings 2022-03-17 10:12:00 -04:00
cf06f71514 more refactoring of MDI engine 2022-03-16 17:46:01 -06:00
9e91708e27 Merge pull request #3174 from akohlmey/collected-small-changes
Collected small changes
2022-03-16 16:20:28 -04:00
6d070c7043 more use of modernized APIs 2022-03-16 15:24:42 -04:00
396a95f7af Merge pull request #12 from weinbe2/neigh_transpose
Addition of a  "smart" transpose routine with scratch memory staging
2022-03-16 12:29:21 -06:00
7e2fef096f use accessor function to get and process list of fixes 2022-03-16 14:18:09 -04:00
d49c27e362 Added a "smart" transpose routine with scratch memory staging for neighbor table transposes between LR and LL 2022-03-16 14:12:20 -04:00
31bc7b2864 Merge pull request #3170 from akohlmey/auto-load-plugins
Automatically load LAMMPS plugins if they are in folders listed in LAMMPS_PLUGIN_PATH environment variable
2022-03-16 13:53:14 -04:00
4be3da727a include tools/python in whitespace check 2022-03-16 13:22:39 -04:00
bb4268518b make python 2 compatible 2022-03-16 12:56:19 -04:00
72425f1874 add '#' to make the list of headers a comment 2022-03-16 12:55:53 -04:00
b774464156 whitespace 2022-03-16 12:55:25 -04:00
ba19090631 Merge pull request #3173 from athomps/snap-inner
Inner cutoff switching function for SNAP descriptors and potentials
2022-03-16 12:43:23 -04:00
4894263215 Merge pull request #3167 from CDenniston/develop
Update LATBOLTZ package to new version
2022-03-16 12:22:48 -04:00
e3d4e80407 Merge branch 'develop' into collected-small-changes 2022-03-16 11:55:07 -04:00
0fd02ffd10 Merge pull request #3153 from aliehlen/log-pizza-updates
Log pizza updates
2022-03-16 11:50:31 -04:00
afc634eef2 Merge branch 'develop' of https://github.com/lammps/lammps into neigh_transpose 2022-03-16 08:44:09 -06:00
49b87f9929 enable/apply clang-format, remove redundant code, style fixes 2022-03-16 09:07:38 -04:00
edf7c274b9 Merge branch 'lj_cubic_error' of github.com:olavgal/lammps into collected-small-changes 2022-03-16 09:03:02 -04:00
92bfaeda10 fix bug where it was not possible to use an absolute path for write_coeff 2022-03-16 09:00:56 -04:00
0ac5d8223d Whitespace 2022-03-16 13:06:32 +01:00
8ac1d5bbc5 Error fixed. Epsilon and sigma must also be symmetric 2022-03-16 13:04:36 +01:00
7215939a89 Streamline documentation 2022-03-16 10:47:56 +00:00
8d341e0714 remove EVAL command 2022-03-15 17:13:15 -06:00
99fa769800 more syncing 2022-03-15 16:15:57 -06:00
2a171cf2a2 sync new and old versions with current LAMMPS 2022-03-15 16:10:54 -06:00
636f00276e sync with current Modify methods for fix lookup 2022-03-15 14:12:23 -06:00
ab82590437 change name of 2 new fixes to include amoeba 2022-03-15 13:40:29 -06:00
25d8950f94 Merge branch 'develop' into neigh-request-refactor 2022-03-15 11:39:45 -04:00
7a32832b88 bug fixes 2022-03-15 09:35:42 -06:00
1d86b3e270 reading of bitorsion data file 2022-03-14 18:08:14 -06:00
8e585620c3 enable and apply clang-format 2022-03-14 17:14:40 -04:00
ec97d859b9 use tokenizer class for parsing 2022-03-14 17:14:01 -04:00
1d1dea56d8 whitespace and programming style fixes 2022-03-14 16:52:58 -04:00
1dda3055c2 enable tinker2lmp.py to generate bitorsions 2022-03-14 14:31:03 -06:00
43e486973f cosmetic changes. remove debug comments and commented out code. 2022-03-14 14:40:38 -04:00
b48d35d3db initial version of fix bitorsion 2022-03-14 12:23:01 -06:00
87429366f8 update plugin developer guide 2022-03-14 09:54:31 -04:00
46564c1ee8 recover compilation on windows 2022-03-12 18:43:53 -05:00
0778c12f04 plug memory leaks by freeing MPI data types 2022-03-12 18:06:01 -05:00
ddb35ee455 use utils::logmesg and fmtlib. remove use of sprintf() to temporary buffers 2022-03-12 18:05:05 -05:00
484b7e6d33 must remove and respecify fix lb/fluid around reset_timestep command 2022-03-12 16:16:15 -05:00
fe9b426c7e cosmetic changes 2022-03-12 16:14:55 -05:00
9931323463 attempt to transparently download the missing data file with curl 2022-03-12 14:03:08 -05:00
293ad3fc03 move lb/fluid pointer initialization to initializer list 2022-03-12 12:03:18 -05:00
4948438265 fix small typesetting issues 2022-03-12 09:53:50 -05:00
a66228b4d2 make sure pointer is null on first use 2022-03-12 09:42:03 -05:00
aca7126cfe use newer APIs to access list of fixes in Modify class 2022-03-12 09:23:36 -05:00
7e2bb9a065 reformat and spellcheck the documentation 2022-03-12 08:43:17 -05:00
0341599390 fixes were removed from package, remove from the documentation as well 2022-03-12 08:31:00 -05:00
335e7c7bbc replace use of iostreams and stringstreams with stdio and fmtlib 2022-03-12 08:25:56 -05:00
4c090c5d8e remove debug comments 2022-03-12 08:24:51 -05:00
84a7596b7c more closely follow LAMMPS programming style conventions 2022-03-12 08:23:40 -05:00
25b4d8ade1 move static constants to its own header that is only pulled in by files that use them. 2022-03-12 08:21:52 -05:00
b27cbbd1a1 Merge branch 'develop' into CDenniston/develop 2022-03-12 07:28:30 -05:00
aaeb9fe933 Merge branch 'dielectric-updates' of github.com:ndtrung81/lammps into collected-small-changes 2022-03-12 07:26:00 -05:00
b1119d81a9 Minor tweaks 2022-03-11 21:25:44 -07:00
014345a512 Updated a citation 2022-03-11 20:55:59 -07:00
51034c00c0 Completed documentation 2022-03-11 20:40:18 -07:00
b9fd86e7ca switchinnerflag working for single-element two types SNAP potential 2022-03-11 17:23:38 -07:00
f691805062 More 2022-03-11 16:41:22 -07:00
5216a543ae More 2022-03-11 15:43:48 -07:00
4d13282120 More 2022-03-11 15:07:18 -07:00
877b764a36 More 2022-03-11 14:38:51 -07:00
8323c4fe45 More progress 2022-03-11 14:14:45 -07:00
a7a66100c6 Updated the doc page of the polarize fixes 2022-03-11 14:13:34 -06:00
3f9cc03fc0 Minor tweaks 2022-03-11 11:39:06 -07:00
9e78818637 Minor tweaks 2022-03-11 11:26:06 -07:00
fd980e8fe0 support for writing data files to fix pitorsion 2022-03-11 11:12:59 -07:00
1a04eabb5e merge in current develop 2022-03-11 10:01:25 -07:00
8ba4e7e897 tweaks to src files, added examples dir 2022-03-11 09:33:34 -07:00
62c59a5339 document LAMMPS_PLUGIN_PATH environment variable 2022-03-11 10:34:04 -05:00
56658e9c2c make automatic plugin loads/unloads mostly silent, count/report number of plugins loaded 2022-03-11 10:31:53 -05:00
f7f8deb70b amoeba vs hippo settings 2022-03-11 07:24:18 -07:00
01bd3d1da0 add functionality to auto-load plugins 2022-03-11 05:52:26 -05:00
45b1213795 silence warnings from coverity scan 2022-03-11 04:29:01 -05:00
e8a550aa22 Reduce memory use in Kokkos package 2022-03-11 00:07:47 -05:00
9b989b1860 Merge pull request #3164 from akohlmey/collected-small-changes
Collected small changes
2022-03-10 23:42:04 -05:00
3a1921b3ed correct SHAKE bond stats output and avoid division by zero 2022-03-10 23:01:23 -05:00
ca76ff360f augment cmake library search path to include the CUDA stubs library folder
this will help configuring and compiling LAMMPS with CUDA support on
machines where there is no CUDA driver installed
2022-03-10 21:17:58 -05:00
11d3b13e31 Added a lot of boilerplate for inner data, not working yet 2022-03-10 18:40:59 -07:00
90b33a1a3a changed bookkeeping of forces 2022-03-10 16:41:58 -07:00
0658844e04 first working version of fix pitorsion 2022-03-10 16:00:05 -07:00
ali
7343f6e5b8 writing column names is optional 2022-03-10 15:23:21 -06:00
079f7559ea Merge branch 'develop' of github.com:fujiisoup/lammps into collected-small-changes 2022-03-10 16:01:02 -05:00
fa9683e6d2 Merge remote-tracking branch 'github/develop' into collected-small-changes 2022-03-10 16:00:55 -05:00
adef6bd10c Added first draft of inner switching functions 2022-03-10 13:58:14 -07:00
0828ae66a0 Fix a typo in the doc 2022-03-11 05:48:34 +09:00
0fcf40c48e use MathConst::MY_PI more consistently and benefit from it being a constexpr 2022-03-10 14:14:32 -05:00
8e85481afa use MathConst::MY_PI instead of inferring it from acos(-1). 2022-03-10 14:00:34 -05:00
12b144fd0e change math const from M_ to MY_ using math_const.h 2022-03-10 12:36:41 -05:00
5bf1ab0e2d try moving _USE_MATH_DEFINES to cpp file from header for windows compilation 2022-03-10 11:15:25 -05:00
1e4a6dcb41 fix missing #endif in lb/fluid header 2022-03-10 10:37:08 -05:00
c6fe7ed4f4 add _USE_MATH_DEFINES for windows compilation 2022-03-10 10:18:50 -05:00
0a1fa5e040 lb/fluid code cleanup for whitespace, unused vars, windows cmath 2022-03-10 09:53:44 -05:00
c9007501a2 remove cerr iostream reference from lb/fluid 2022-03-10 08:43:54 -05:00
43319120d0 fix qeq/dynamic and qeq/fire need half neighbor list not full 2022-03-10 06:30:10 -05:00
1bba1ca2ae fix logic bug 2022-03-10 05:44:31 -05:00
61f5bbd633 update logic to avoid stall with neighbor list statistic during final summary 2022-03-10 05:21:53 -05:00
06e7bd8144 follow KOKKOS' advice about CPU binding of threads 2022-03-10 01:18:15 -05:00
abd8a6ee15 remove incorrect comment 2022-03-10 01:17:44 -05:00
10f8a597c7 use proper header for access to Kokkos class. 2022-03-10 01:11:33 -05:00
837b8fb753 bugfix 2022-03-10 01:00:34 -05:00
86b686f159 correct handling of neighflag member variable in KOKKOS styles 2022-03-10 00:52:16 -05:00
799ab965d9 make neighbor list request flags protected and add selected friends 2022-03-09 23:25:26 -05:00
26c0b9cf87 move calculation of number of neighbors to Neighbor class
this allows reusing the code in the ImbalanceNeigh class
2022-03-09 23:18:28 -05:00
3ef02edb48 adapt KOKKOS package styles to use new neighbor list request API 2022-03-09 22:43:38 -05:00
9f44221ee3 update neighborlist requests for new API in KSPACE package 2022-03-09 21:20:18 -05:00
2e2bd37883 automatically enable intel neighbor list request property for intel pair styles 2022-03-09 21:19:19 -05:00
9b26726f51 change to clang-format for LATBOLTZ routines 2022-03-09 20:41:28 -05:00
9bbd1df57b another chunk of neighbor list request updates 2022-03-09 19:49:08 -05:00
d5bc69f28b support for writing data files 2022-03-09 17:41:42 -07:00
c4b23bd7e5 programming style updates use newer/simpler APIs 2022-03-09 19:21:03 -05:00
888db4b0ef update examples to standard lammps conventions 2022-03-09 18:13:45 -05:00
bbe065e649 initial version of fix pitorsion 2022-03-09 15:37:19 -07:00
e8547af049 update neighbor list requests and compute style lookups in machine learning packages 2022-03-09 06:49:07 -05:00
3bb7a247ac convert some more files to use the new neighbor list request API 2022-03-08 21:29:33 -05:00
cef5076c9a no need to have a multi-threaded neighbor list in fix peri/neigh
I builds just a single neighbor list during setup.
2022-03-08 18:23:46 -05:00
1db981c784 convert a few more styles to the new neighbor request API 2022-03-08 18:20:28 -05:00
844ea0ab8e UB testing 2022-03-08 15:37:16 -07:00
3c3912aff2 add deprecated lb/fluid integrator fixes to fix_deprecated 2022-03-08 17:10:22 -05:00
16449c3d11 fix merge conflicts for new version of lb/fluid and minor updates from develop branch on virtual functions and removed fix styles 2022-03-08 16:38:32 -05:00
1249c713f0 Add transpose to neigh list 2022-03-08 14:28:06 -07:00
095ddbd370 debugging 2022-03-08 13:49:47 -07:00
30f62cae09 energy/virial tallying for UB bonds 2022-03-08 13:41:16 -07:00
c62f6a3ad0 remove a data file with UB bonds 2022-03-08 13:28:54 -07:00
64becd5642 move UB bonds to angle amoeba 2022-03-08 13:28:11 -07:00
55f8bf9c51 adapt some more styles to use the new neighbor list request API 2022-03-08 15:27:37 -05:00
fd73d1376a Merge branch 'develop' into neigh-request-refactor 2022-03-08 13:04:32 -05:00
dfbeedfded convert more neighbor list requests to the new API 2022-03-08 12:39:05 -05:00
deb694745b update neighbor list requests with default settings 2022-03-08 06:34:27 -05:00
028c8b5d27 add default arguments for requests with default flags 2022-03-08 06:33:27 -05:00
1296d6d938 update neighbor list request developer notes 2022-03-08 06:32:48 -05:00
3b0a6ac840 add support for requesting SSA neighbor lists and update a few more styles 2022-03-08 06:17:13 -05:00
decdcd0b55 Revert "programming style updates"
This reverts commit 5242409ebd.
2022-03-08 06:15:11 -05:00
5242409ebd programming style updates 2022-03-08 05:17:18 -05:00
795f24c3ff honor NEWTON_ON/OFF request flags 2022-03-08 05:17:18 -05:00
369b8365bf update QEQ, ASPHERE, and KIM packages to use new neighbor list request API 2022-03-08 05:16:55 -05:00
1aa8b64283 convert GPU package styles to use new neighbor list request API 2022-03-08 04:37:46 -05:00
9742817ba3 Dihedrals analytical results of compute_born_matrix are still wrong but, in some low deformations cases, they are ok. This is a progress... 2022-03-08 10:16:30 +01:00
374917fb6f tweak platform tests for CPU time to avoid bogus failures on windows 2022-03-07 21:42:02 -05:00
c6b4c418e7 Merge pull request #3161 from athomps/gcmc-relax-mol-mpi-error
Relaxed the error check on molecule moves in parallel. Molecule excha…
2022-03-07 20:24:36 -05:00
02f6b4c6e8 whitespace 2022-03-07 19:36:07 -05:00
87613bb106 rename doc file to be more generic and match the examples folder 2022-03-07 15:34:00 -05:00
07059c1362 Merge branch 'develop' into collected-small-changes 2022-03-07 15:29:47 -05:00
b0dae52e2d Merge pull request #3165 from olavgal/compute_pressure_cartesian_and_spherical
Computes for local pressure tensor in Cartesian and spherical coordinates
2022-03-07 15:05:51 -05:00
6edfb49527 update .gitignore for recent additions 2022-03-07 14:37:01 -05:00
bfb9638e6c correct issue introduced by global pattern replacement 2022-03-07 14:19:29 -05:00
5206d81742 make class name consistent with file name and add backward compatibility 2022-03-07 14:09:43 -05:00
1f3a3bb80b missing updates 2022-03-07 13:51:16 -05:00
bbcffd4b5a Merge pull request #3163 from akohlmey/test-compute
Add unit tests for computes
2022-03-07 13:49:07 -05:00
8d5a59c0fa Switched all command and class names from pressure to stress 2022-03-07 11:27:37 -07:00
7087dfc019 bug fix for enumerating Urey-Bradley bonds 2022-03-07 11:02:44 -07:00
5c10b621b3 add pitorion logic to new fix 2022-03-07 10:31:09 -07:00
6c4bc8258c Merge pull request #3162 from phankl/mesocnt_memory
Optimized memory usage for pair style mesocnt
2022-03-07 12:03:58 -05:00
c2b0347b30 Added notes on similarity between these computes 2022-03-07 09:09:29 -07:00
8f10953e92 Small comma error in citation 2022-03-07 10:27:23 +01:00
c8b7fc2144 Added cross-reference to compute pressure/cartesian 2022-03-06 20:19:38 -07:00
6da4db4d7e Merge branch 'compute_pressure_cartesian_and_spherical' of github.com:olavgal/lammps into compute_pressure_cartesian_and_spherical 2022-03-06 20:11:20 -07:00
e857b923bc Added representative output to log files 2022-03-06 20:11:10 -07:00
793db836d9 update .gitignore 2022-03-06 19:55:11 -05:00
a2bf40df0a correct mini-ToC links and add missing entry 2022-03-06 11:45:26 -05:00
aaa51d6fc6 optimizations and avoiding floating point exceptions 2022-03-06 11:04:51 -05:00
2f5f36cff8 move examples to a more appropriate folder. add logfiles 2022-03-06 11:03:57 -05:00
44e3874541 Changed citations 2022-03-06 12:50:25 +01:00
fac3ce4507 example files for pressure/cartesian/cylinder/spherical 2022-03-06 12:43:37 +01:00
005f76a9e6 clang-format 2022-03-06 05:24:29 -05:00
72cbffee7d fix bug looking up neighbor lists 2022-03-06 05:24:15 -05:00
4781a4c8c6 style update 2022-03-06 04:49:08 -05:00
440e01d243 no longer needed. done by Neighbor class directly. 2022-03-06 04:48:54 -05:00
e9bcde4b58 more openmp neighbor list function to Neighbor class 2022-03-06 04:48:37 -05:00
cc618264a0 allow only one accelerator type enabled for neighbor lists 2022-03-06 04:47:22 -05:00
3f80894857 Merge branch 'develop' into neigh-request-refactor 2022-03-06 04:23:52 -05:00
54e667e491 convert more styles to use new neighbor list request API, apply clang-format 2022-03-05 21:44:45 -05:00
ffb367663d add more accessor functions 2022-03-05 21:08:25 -05:00
f1d695299e simplify checking for intel neighbor list requests 2022-03-05 20:31:56 -05:00
8fe78e5fc4 enable and apply clang-format 2022-03-05 20:21:32 -05:00
de4b9a1d20 use new neighbor list request API 2022-03-05 20:20:55 -05:00
21fc072396 enable and apply clang-format 2022-03-05 20:19:24 -05:00
5dbad2354a use new neighbor list request API 2022-03-05 20:18:40 -05:00
c5c3c335c9 enable clang-format 2022-03-05 20:16:10 -05:00
875560b827 use new neighbor list request API 2022-03-05 20:15:48 -05:00
67a7764086 Initalizing nullptrs, fixing labels, small errors in doc, and sign errors in rot sliding damp 2022-03-05 17:07:02 -07:00
095c9ab9d1 whitespace 2022-03-05 17:08:49 -05:00
83f08ff8ef small update and correct broken link 2022-03-05 17:07:00 -05:00
8945050423 cosmetic 2022-03-05 16:47:31 -05:00
be4f5288d3 modernize potential file reader in pair style mesocnt 2022-03-05 16:47:06 -05:00
f329711384 Merge branch 'develop' into mesocnt_memory 2022-03-05 15:06:23 -05:00
a9eae51d27 print name of non-existent compute/fix/variable in error message 2022-03-05 14:31:24 -05:00
ece25a95ad stability improvements: recompute bin width for perfect match, don't test for floating point identity 2022-03-05 13:46:56 -05:00
15fa6049f2 update comments 2022-03-05 12:33:54 -05:00
43ac557a9b remove unused headers and dead code. reformat a few small items 2022-03-05 12:31:36 -05:00
c24e46c547 don't apply modulus to doubles but integers 2022-03-05 12:30:40 -05:00
9a98817567 reformat doc page and address spelling issues 2022-03-05 11:35:37 -05:00
99d29ea86a Added kinetic contribution to pressure/cylinder and clang-format on all 2022-03-05 16:30:47 +01:00
089e46a540 Fixed some gramma 2022-03-05 16:29:42 +01:00
4e125ccfc6 Combined pressure profile documentation into one page 2022-03-05 16:22:11 +01:00
f9c02b9735 clarify. improve typesetting 2022-03-05 10:18:00 -05:00
87c96aeeb1 add tests for more compute styles 2022-03-05 10:07:54 -05:00
b3bef9cd34 Merged 2022-03-05 10:30:38 +01:00
9ea0c581ac Adding kinetic contribution to prssure/cylinder 2022-03-05 10:25:28 +01:00
1ab85f5941 update citation references 2022-03-04 18:16:02 -05:00
8709e26923 Merge pull request #3166 from stanmoore1/reax_tabulate
Make it easier to enable tabulation in ReaxFF
2022-03-04 17:37:26 -05:00
c9563d0814 Fixed style changes 2022-03-04 22:30:25 +01:00
f8089bd007 fix cut-n-paste error 2022-03-04 16:08:14 -05:00
789571c4b4 Merge pull request #3158 from arghdos/split_buildlists_half_rebased
Split buildlists half kernel into "preview" and "finalize" kernels
2022-03-04 16:06:05 -05:00
5c8f506edf add unit test input 2022-03-04 16:04:04 -05:00
577eac201b add sanity check 2022-03-04 16:03:50 -05:00
60b7da84db add comment of something to check 2022-03-04 13:56:55 -07:00
85d4312703 add pitorsions to tinker2lmp.py 2022-03-04 13:52:04 -07:00
401180699d Update docs 2022-03-04 13:10:25 -07:00
1e530dbd19 Changed ref name to avoid duplicate 2022-03-04 20:55:29 +01:00
23580d8ca5 Integrated pressure/cartesian and pressure/spherical 2022-03-04 20:54:33 +01:00
cdeaa83f6d Make it easier to enable tabulation in ReaxFF 2022-03-04 12:34:51 -07:00
4deeb15043 new pitorsion class 2022-03-04 09:36:58 -07:00
7d8c217657 Anothr tweak of movemode logic 2022-03-04 09:23:51 -07:00
06e9c096ac Remove unused code 2022-03-04 09:13:43 -07:00
98d2dca83f Trailing whitespace 2022-03-04 16:58:31 +01:00
6d48ba1577 Trailing whitespace 2022-03-04 16:57:59 +01:00
a7112f173a Trailing whitespace 2022-03-04 16:56:39 +01:00
9f0607876a LAMMPS Homepage 2022-03-04 16:49:42 +01:00
47de1234c0 LAMMPS homepage and ø->{\o} in reference 2022-03-04 16:49:03 +01:00
2687228f09 Fixed LAMMPS homepage and changed ø to {\o} it reference 2022-03-04 16:47:16 +01:00
a396ed2b36 Fixed LAMMPS homepage 2022-03-04 16:45:31 +01:00
939171094b Whitespace 2022-03-04 08:40:22 -07:00
df9a772020 More EVFLAG cleanup 2022-03-04 08:36:27 -07:00
760d85b9c4 Two computes that computes the local mechanical pressure tensor in Cartesian and spherical coordinates 2022-03-04 16:04:18 +01:00
7288828439 defined np1 = ntypes + 1 to shorten allocation commands 2022-03-04 13:48:44 +00:00
8b9be5bf0a applied clang-format 2022-03-04 12:47:36 +00:00
98f83f9b3a fix typos and make output section more readable 2022-03-04 06:25:16 -05:00
b94995cf5b add some TALLY package compute. simplify some code with convenience functions 2022-03-04 06:24:37 -05:00
a70e895e06 updated documentation 2022-03-04 10:37:45 +00:00
550d523c9e add gyration 2022-03-04 04:41:43 -05:00
73e38014f2 Added explanation of parallel molecule support 2022-03-03 18:21:30 -07:00
91f6805821 Tweaked logic for MC move flags and addedreference output for H2O and CO2 on 4 procs 2022-03-03 18:12:43 -07:00
eaa6fb17af Relaxed the error check on molecule moves in parallel. Molecule exchange is okay. 2022-03-03 16:47:33 -07:00
f97a2d341c Clean up evflags 2022-03-03 16:44:53 -07:00
5888ba0514 QEq does not require ghosts in the neighbor list 2022-03-03 16:16:13 -07:00
3bfb03bcb8 test compute com and compute dipole 2022-03-03 17:27:11 -05:00
e4d920d582 add minimal test for testing compute styles that compute global scalars 2022-03-03 17:11:01 -05:00
e5d2555cf2 small tweaks 2022-03-03 10:01:16 -07:00
569147bf11 Revert change of default value for list/blocking 2022-03-03 09:30:16 -07:00
1f456a447c add support for Urey-Bradley H-H bonds 2022-03-03 09:23:33 -07:00
0fbacd4c5d Add missing optimization to CPU version 2022-03-03 09:02:47 -07:00
9083ff867e whitespace 2022-03-03 08:48:54 -07:00
ee2b9f28cb Switch to vector parallelism for half list in QEq 2022-03-03 08:09:25 -07:00
b6b7846c50 Optimization to reduce atomics on CPU 2022-03-03 07:46:35 -07:00
beee3126e0 Recover CPU performance by bifurcating code 2022-03-03 07:21:40 -07:00
22d43d8e05 Change default for list/blocking option 2022-03-03 07:20:53 -07:00
9f8362399d convert granular pair style and augment docs accordingly 2022-03-03 06:58:54 -05:00
04dbf307d0 remove obsolete TODO item 2022-03-03 06:43:52 -05:00
7120e6354d add a mini-TOC for faster access to contents as the page is getting longer 2022-03-03 06:43:20 -05:00
13bf72e61c describe new neighbor list request APIs 2022-03-03 06:42:42 -05:00
b4da01c23a reduce compiler warnings and need for private variables in OpenMP pragmas 2022-03-02 22:19:28 -05:00
a0996da644 apply new APIs to a few representative cases 2022-03-02 21:31:35 -05:00
d4272815a3 add new APIs for creating and manipulating neighbor list requests
also add a few new (delegating) constructors to simplify code
2022-03-02 21:30:16 -05:00
f7514ce358 make friends for access to instance_me member 2022-03-02 19:06:08 -05:00
0a2a252f08 cleanup 2022-03-02 10:42:41 -07:00
30517fad68 Remove unnecessary atomics/duplication 2022-03-02 10:34:49 -07:00
bac85c4c83 cleanup 2022-03-02 10:04:35 -07:00
083d166885 More cleanup 2022-03-02 09:46:25 -07:00
adefb287c5 whitespace 2022-03-02 09:29:07 -07:00
4ad27034f2 Small tweaks, cleanup 2022-03-02 09:04:13 -07:00
7fb684b802 for 2d systems, rigid bodies always have a moment of inertia and no DOFs need to be subtracted 2022-03-01 21:18:51 -05:00
2a0e66164e enable and apply clang-format 2022-03-01 21:06:19 -05:00
092720b69a correctly compute bond count for shake statistics 2022-03-01 20:52:07 -05:00
e79e4c0134 Seperate buildlists half into 'cheap' blocking-based preprocessor, and 'dense' finalizer
Change-Id: Ic205c1e6f3578c033ec4d8c3c45070fd5b3d7a18
2022-03-01 14:51:40 -05:00
4c57b8f1db Remove duplicate etypes setting 2022-03-01 19:44:17 +00:00
7cca49b14b hide pow behind conditional
Change-Id: I8bb3f7a069207dd0e5a5b980d2a7e3e1a7e22ccb
2022-03-01 12:52:55 -05:00
0edda42eee Bugfix macro inversion 2022-03-01 17:58:56 +01:00
09e544cb8c Changed label of compute_angles/dihedrals for better reading. compute_dihedrals is not working ATM. Also implemented some changes from AThompson. 2022-03-01 16:58:14 +01:00
cd9d3ae5d3 Merge branch 'Elastic_stress' of github.com:Bibobu/lammps into Elastic_stress 2022-03-01 11:04:39 +01:00
798975b809 Merge pull request #3155 from akohlmey/collected-small-changes
Collected small changes
2022-02-28 15:18:27 -05:00
9f315fc2e2 small rewording 2022-02-28 12:17:20 -05:00
763f8f432f Merge pull request #3156 from stanmoore1/kk_verlet_uvm
Fix rare bug in Kokkos with CUDA UVM
2022-02-28 12:16:28 -05:00
bd4d1b52f9 Merge branch 'develop' into collected-small-changes 2022-02-27 19:33:04 -05:00
b76a7764fd use new API to get access to intel fix 2022-02-27 15:19:34 -05:00
0ddefb3754 trigger building an intel style neighbor list so that buffers are allocated 2022-02-27 14:51:17 -05:00
bc9e45ca5a use consistent names, avoid memory leaks, fix off-by-1 error in fourier dihedral 2022-02-27 12:24:37 -05:00
7824e43339 Change Update::reset_timestep() API so that rerun can bypass the time depended fix check 2022-02-27 11:35:34 -05:00
e287ef6ff9 Merge pull request #3154 from akohlmey/use-setuptools
Refactor python/install.py and 'make install-python' to use setuptools and build a binary wheel
2022-02-27 11:32:05 -05:00
750e0435a8 add link to code design page and update/clarify a couple of things 2022-02-27 11:29:20 -05:00
94f97be6e9 link Modify overview paragraph to Code design page 2022-02-27 11:29:19 -05:00
06f4ae0f1f ignore wheel files 2022-02-27 07:03:02 -05:00
0be14d4ed8 move basename operation from setup.py to install.py 2022-02-27 07:02:39 -05:00
7c11d1675d fix bug with make install 2022-02-27 06:33:22 -05:00
7fd41bea6a add some comments to the refactored scripts to explain technical details 2022-02-25 20:10:13 -05:00
27c1ed86fa Added some self-citations for key contributors 2022-02-25 17:03:45 -07:00
014ad94479 Fix rare bug in Kokkos with CUDA UVM 2022-02-25 16:45:58 -07:00
96fbbc2b1b Merge branch 'log-pizza-updates' of github.com:aliehlen/lammps into log-pizza-updates 2022-02-25 18:35:08 -05:00
3e01fa49dd emulate using '-i' command line flag 2022-02-25 18:34:45 -05:00
d26f953a0a Made the example match the benchmark of Kluge et al. 2022-02-25 15:25:47 -07:00
11ba2adbe7 add support for plumed 2.6.6, 2.7.4, and 2.8.0 (default 2.7.4) 2022-02-25 16:34:37 -05:00
1dbff92eeb spelling 2022-02-25 16:23:48 -05:00
578a7cc54c document and handle the case of a previous distutils installation.
in this case 'make install-python' should not continue but instead
it now aborts and asks the user to do a manual uninstall
2022-02-25 16:10:46 -05:00
bb3a5b4057 update docs 2022-02-25 14:13:03 -05:00
511678017e update inline docs and add -n/--noinstall flag to skipp installation 2022-02-25 13:44:47 -05:00
033045a534 need to check if virtualenv creation failed and exit with a suitable error message 2022-02-25 13:20:34 -05:00
5ba6eb474c try to appease coverity scan 2022-02-25 12:20:08 -05:00
f0260c3395 restore exception handling with enforce --user install for older pip versions that don't do that automatically 2022-02-25 09:33:26 -05:00
257805d325 make prompt name consistent 2022-02-25 09:32:41 -05:00
6ab247e7f8 no need to create a virtualenv inside a temporal virtualenv 2022-02-25 09:12:01 -05:00
59e2b819e0 need python3-venv package for updated make install-python 2022-02-25 08:44:15 -05:00
ff4cd2a5e9 python2.7 compatibility 2022-02-25 08:43:51 -05:00
4630a5ffb8 must create virtualenv with same python we selected to run install.py 2022-02-25 08:43:38 -05:00
6e74d0a09a LAMMPS GridComm patch 2022-02-25 08:13:16 +00:00
e2092a5788 first attempt at supporting multi-config builders 2022-02-25 00:52:13 -05:00
4b7731e831 update install.py script to build a wheel and install that 2022-02-25 00:24:16 -05:00
a14a616dc2 make cythonize detection compatible with /bin/dash on ubuntu 2022-02-24 21:26:20 -05:00
0680cdcc3c spelling 2022-02-24 20:43:04 -05:00
44f884316b when updating ML-IAP due to adding/removing PYTHON we need to delete and re-add cythonize support 2022-02-24 20:42:26 -05:00
891d3c8296 update setup.py to be compatible with building "pure" and "binary" wheels 2022-02-24 17:04:16 -05:00
4dc5b93c6c spelling 2022-02-23 16:37:28 -05:00
37ce6cf5f7 Merge branch 'develop' into log-pizza-updates 2022-02-23 16:37:08 -05:00
2d7375798f more python 3 compatibility 2022-02-23 13:27:33 -05:00
18ced360d3 more python 3 compatibility 2022-02-23 12:30:03 -05:00
5594868ef2 retain compatibility with python2 2022-02-23 10:18:02 -05:00
d848e50d0d Merge pull request #3146 from lammps/programmer-comm-doc
New developer page for comm functions
2022-02-22 20:13:32 -05:00
b4e42f68b1 Merge pull request #3148 from akohlmey/rename_comm_forw_rev
Rename forward and reverse communication commands for data in classes
2022-02-22 19:19:56 -05:00
9a1c994a8e Merge branch 'develop' into rename_comm_forw_rev
# Conflicts:
#	src/KOKKOS/comm_kokkos.cpp
#	src/KOKKOS/fix_qeq_reaxff_kokkos.cpp
2022-02-22 16:45:06 -05:00
04ec741f16 Merge pull request #3142 from charlessievers/chem_snap
SNAP bik flag
2022-02-22 16:29:39 -05:00
07d456c8b2 Merge pull request #3147 from stanmoore1/amd_hip_opt
Improvements from AMD to KOKKOS Package
2022-02-22 16:06:28 -05:00
95c414e32e Merge pull request #3139 from akohlmey/collected-small-changes
Collected small changes
2022-02-22 15:30:31 -05:00
ali
035a16d6d8 remove interactive mode for log plotting
this doesn't work in linux
2022-02-22 10:51:58 -06:00
ali
7d8f7855d5 add writing column names in logfile 2022-02-22 10:51:58 -06:00
ali
5c297fa4d1 update log pizza.py files to python 3 2022-02-22 10:51:58 -06:00
7ac1bd1180 final tweaks 2022-02-22 09:20:19 -07:00
687a09b8a1 fix errors in pair style harmonic/cut docs 2022-02-22 04:27:12 -05:00
15acfde91e more updates and corrections 2022-02-21 22:26:01 -05:00
b91788bf71 no need to use default argument 2022-02-21 22:12:26 -05:00
66d7f55a20 apply clang-format 2022-02-21 22:12:13 -05:00
36ecfded81 update according to PR #3148 2022-02-21 21:57:12 -05:00
313d850dd2 Created a Born matrix example for silicon 2022-02-21 19:38:28 -07:00
a3524fc7a1 update atc lib 2022-02-21 21:33:27 -05:00
de4a9f268e rename reverse communication calls 2022-02-21 21:18:28 -05:00
4c0192cae1 rename forward communication functions for pair, fix, compute, and dump 2022-02-21 21:15:10 -05:00
0988d957f5 Update preset configurations to include release and debug versions of MSVC and Clang only. 2022-02-21 19:09:59 -05:00
7ea26161f7 Merge pull request #3145 from lammps/pair-style-doc-page
clarify how new pair style command works
2022-02-21 18:22:47 -05:00
ba2a2ddd9f integrate into manual. fix multiple formal issues. add a few select details. 2022-02-21 18:09:31 -05:00
4d9409dda9 Whitespace 2022-02-21 15:45:03 -07:00
70c149805c Fix bugs in Kokkos tersoff 2022-02-21 15:29:01 -07:00
0d68aa0c46 rework documentation section on compiling on windows 2022-02-21 17:04:31 -05:00
d1decfe15a More cleanup 2022-02-21 14:31:50 -07:00
d6664a8e9e tweak 2022-02-21 14:21:35 -07:00
afbcf5e694 Remove early exit from blocking BuildLists 2022-02-21 14:00:31 -07:00
c2cec53701 Merge branch 'develop' of github.com:lammps/lammps into amd_hip_opt 2022-02-21 13:23:51 -07:00
4a2dc4f14a Cleanup 2022-02-21 13:11:37 -07:00
e10ebf5236 Fix typos 2022-02-21 12:56:58 -07:00
1268c8c6ad Update doc page and author contributions 2022-02-21 12:44:53 -07:00
348309582a new developer page for comm functions 2022-02-21 12:43:35 -07:00
78775a82f4 Merge branch 'develop' into collected-small-changes 2022-02-21 14:26:50 -05:00
850f1a690c Tweak default 2022-02-21 11:45:07 -07:00
6d790e41fa Added bik lastcol behavior to documentation 2022-02-21 10:19:37 -08:00
c725550fff Added in explicit reference column behaviour for bik rows 2022-02-21 10:08:58 -08:00
2a94d7a9a8 Remove HIP_OPT defines in pair_reaxff_kokkos 2022-02-21 11:07:35 -07:00
ed575ee664 clarify how new pair style command works 2022-02-21 10:21:28 -07:00
a9c7d47072 Found parenthesis error in compute_angles(). Now perfect fit with numdiff. 2022-02-21 10:59:37 +01:00
1dae118419 Merged A. Thompson symmetric sheared. Added a bit more explicit comment on virial_addon computation. 2022-02-21 09:40:22 +01:00
67ffef094d Switch shear strain fields to symmetric 2022-02-20 13:51:14 -07:00
f205567fa6 add born/matrix support to hybrid pair styles 2022-02-20 07:15:11 -05:00
e4027ba98a update example input files 2022-02-20 06:35:35 -05:00
c1dfd944af turn some warnings into errors and produce better error messages 2022-02-20 06:07:39 -05:00
60a6747c0e must propagate and check born_matrix_enable flag 2022-02-20 05:51:51 -05:00
bd48c49c2b enable and apply clang-format 2022-02-20 05:51:16 -05:00
7d79a7822b Merge branch 'develop' into Elastic_stress 2022-02-20 05:28:42 -05:00
a3c6d19599 Merged comments modification in EXTRA-COMPUTE/compute_born_matrix from A. Thompson and G. Clavier. 2022-02-20 11:22:20 +01:00
6ee14bfb97 correct formatting of references 2022-02-20 04:26:18 -05:00
c04f4a913f Thomas-Fermi 2022-02-20 07:47:28 +00:00
bc8d1e0f84 Tweaked one comment 2022-02-19 20:55:37 -07:00
407df3127b Cleaned up source files 2022-02-19 20:21:02 -07:00
4ca5441cf1 Updated documentation 2022-02-19 19:25:02 -07:00
61377f41ad Replaced Si.sw with a simlink to potentials dir 2022-02-19 18:01:37 -07:00
f1f2cebf98 Rearranged the directory tree for ELASTIC_T and BORN_MATRIX 2022-02-19 17:59:27 -07:00
c8ae3c45ac Removed cij_nvt directory and updated RADME 2022-02-19 17:09:39 -07:00
335fa2e742 Addd born/matrix numdiff to example 2022-02-19 17:07:21 -07:00
63a4210391 Fix bug in history 2022-02-19 08:33:47 -07:00
6acf3c8d2a Merge pull request #3138 from wmbrownIntel/intel_skip_fix
Bug fix for Intel package skip lists with multiple runs.
2022-02-19 05:55:11 -05:00
3ddcd3308f Add documentation for bikflag 2022-02-19 00:46:56 -08:00
d619477195 Merge remote-tracking branch 'upstream/develop' into chem_snap 2022-02-19 00:23:30 -08:00
36edecd1e7 Added in ability to keep bispectrum descriptors per atom instead of summed. (Useful for non linear models) 2022-02-19 00:20:43 -08:00
7e876ada13 Merge branch 'develop' into collected-small-changes 2022-02-18 21:49:13 -05:00
86cb37f7ad Merge pull request #3141 from lammps/developer-doc-tweaks
tweaks to 2 sub-sections of Developer manual
2022-02-18 21:48:29 -05:00
d88ffcf880 correct file name 2022-02-18 21:24:02 -05:00
bfea3c4589 rename .rst file to match headline 2022-02-18 21:20:35 -05:00
4dad865aea small tweaks and spelling fixes 2022-02-18 21:19:27 -05:00
49c594be10 add factory function example 2022-02-18 21:19:06 -05:00
78f7e96a3f grammar tweaks to 2 sub-sections of Developer manual 2022-02-18 16:45:06 -07:00
39f8ccdb42 Fixing an overlooked merge conflict 2022-02-18 15:33:26 -07:00
642b1e25f6 Updating to develop 2022-02-18 13:58:38 -07:00
0ecb9addb2 Fix MPI issues 2022-02-18 10:58:03 -07:00
7087e78138 Cleanup 2022-02-18 10:23:34 -07:00
5a95b35fb3 Adding bondstyle restart and fixing a few labels 2022-02-18 10:22:08 -07:00
adbbad0c2d silence compiler warnings 2022-02-18 12:13:26 -05:00
c31d79c3a4 add missing override keywords 2022-02-18 12:06:06 -05:00
43f5de4dbf Give the compiler some help 2022-02-18 09:57:51 -07:00
8fa297e420 update comments about building LAMMPS with visual studio 2022-02-18 11:38:35 -05:00
68dc778d03 update the note based on the suggestion by @athomps 2022-02-18 11:38:05 -05:00
b9f5bb60e9 Fix layout 2022-02-18 08:08:48 -07:00
4e03589cee use symbolic constants and fix out of bound accesses 2022-02-18 05:07:18 -05:00
9151a2e820 address unititialized data warnings from coverity scan 2022-02-18 04:46:30 -05:00
2aff105124 nicer shake stats output 2022-02-18 04:24:27 -05:00
537e3f2539 silence compiler warnings 2022-02-17 23:13:13 -05:00
d14035eb6b Fix bug 2022-02-17 20:59:36 -07:00
da3c3723bd add code to print warning if qeq fix is appled to a non-neutral group. document. 2022-02-17 22:51:49 -05:00
0cb45ebd6b Kokkos QEq refactor 2022-02-17 16:25:02 -07:00
01bbb28418 Merge pull request #3135 from akohlmey/next_patch_release
Step version strings for the next patch release
2022-02-17 15:05:43 -05:00
7fe194e59e Merge pull request #3136 from rbberger/collected-small-changes
Collected small changes
2022-02-17 13:20:51 -05:00
f3e14e7b00 Mark MolPairStyle:soft unstable 2022-02-17 12:58:30 -05:00
7b948e7bb8 Bug fix for Intel package skip lists with multiple runs. 2022-02-17 09:37:01 -08:00
45b92e519d Merge pull request #3125 from oywg11/ilp-for-tmds
Anisotropic Interlayer potential for TMDs and Metal Surfaces
2022-02-17 11:42:15 -05:00
d95f0b3cd5 Adjust epsilon in force-style test 2022-02-16 17:43:16 -05:00
793d76c546 Adjust epsilon in force-style tests 2022-02-16 17:40:34 -05:00
12eeaee8a4 Correct bug in PairHybridScaled::single 2022-02-16 13:48:10 -05:00
8b627f92f0 address spelling and achor issues, and integrate into style overview tables 2022-02-16 08:10:29 -05:00
78b123fa4d apply new convention for virtual functions and disable single() functions (for now) 2022-02-16 06:50:26 -05:00
47bb5f5ccd use a local std::map with initializer to have variant specific strings 2022-02-16 06:36:17 -05:00
e541f006eb replace copies of files with symbolic links 2022-02-16 06:34:31 -05:00
08968cbdbf apply clang-format 2022-02-16 06:14:19 -05:00
32cde04000 Merge branch 'develop' into ilp-for-tmds 2022-02-16 06:04:34 -05:00
6d2f4343d9 Merge pull request #3133 from stanmoore1/kk_error
Add error if using multiple threads with Kokkos Serial backend
2022-02-15 22:25:04 -05:00
a7939b582a step version strings for the next patch release 2022-02-15 22:10:06 -05:00
2951eb32a4 Merge pull request #3134 from rbberger/collected-small-changes
Collected small changes
2022-02-15 22:05:48 -05:00
55703f9027 update class instantiation unit test for kokkos to adapt to thread availability 2022-02-15 21:54:21 -05:00
d4bbb31270 Improve error check 2022-02-15 16:04:23 -07:00
ae72356961 Removed unnecessary declarations in compute_born_matrix numdiff part. Commented virial_addon method. 2022-02-15 23:26:40 +01:00
f53fbf09a6 Fix memory leak in FixBondReact 2022-02-15 15:51:48 -05:00
f3c055e637 Undo change that forces BUILD_SHARED_LIBS=off 2022-02-15 14:53:18 -05:00
d9e06e326a Merge branch 'develop' of github.com:lammps/lammps into kk_error 2022-02-15 12:11:52 -07:00
3b359a0d81 Merge branch 'develop' of https://github.com/lammps/lammps into amd_hip_opt 2022-02-15 12:08:03 -07:00
c2d59d5d5e Add error if using multiple threads with Kokkos Serial backend 2022-02-15 11:52:59 -07:00
2f281b3184 Merge branch 'develop' of github.com:lammps/lammps into Elastic_stress 2022-02-15 16:19:03 +01:00
e3222a4bd0 Merge pull request #3126 from Bibobu/EAM_alloy_python_script
Added Python version of Zhou04_create_v2.f in eam_database
2022-02-14 19:48:51 -05:00
618b3ec94f Merge pull request #3131 from akohlmey/lammps-cxx-style
More general LAMMPS code design info for the Programmer guide section of the manual
2022-02-14 18:13:32 -05:00
9a200c9b79 small tweaks 2022-02-14 18:07:29 -05:00
c46dd3675a add Cr parameters to python database file 2022-02-14 18:06:48 -05:00
b0c0251154 delete unwanted files 2022-02-14 18:06:24 -05:00
c65dbd338b change create_eam.py so it can be called as a function from another script 2022-02-14 17:44:33 -05:00
702a2dd3f6 Merge pull request #3130 from akohlmey/iwyu-update
Update list of include statements based on the IWYU utility
2022-02-14 17:25:32 -05:00
5f47ff770c Merge pull request #3127 from akohlmey/gpu-opencl-updates
Update compiling OpenCL loader lib
2022-02-14 16:10:53 -05:00
baf443766a fix a few typos or mistyped words and explain some details better 2022-02-14 16:09:52 -05:00
f84790ba62 add a more specific example to explain how values are rejected and how atoi() fails 2022-02-14 15:52:33 -05:00
8431d72d75 Added a test directory to tools/eam_database 2022-02-14 21:29:51 +01:00
5366621947 Merge pull request #3129 from ndtrung81/sw-hybrid-gpu
Fixed a bug with sw/gpu neigh no when used with pair hybrid for systems with multiple atom types
2022-02-14 14:21:52 -05:00
f4ce0f0b1c Merge pull request #3101 from rbberger/python_use_setuptools
Use setuptools instead of distutils in setup.py
2022-02-14 13:47:46 -05:00
37cd4ba2ea spelling 2022-02-14 11:55:09 -05:00
1a436c5aa9 fix some broken links 2022-02-14 11:55:04 -05:00
fbf95c2cbc add notes about file parsing 2022-02-14 11:54:50 -05:00
1a6b627fa0 add section about memory allocations 2022-02-14 11:54:37 -05:00
12f746046f finalize {fmt} lib info 2022-02-14 08:45:55 -05:00
374a172246 Changed "exclude" keyword to "overlap"
+ added new error description to header file
+ minor fix in the doc file
2022-02-14 12:46:44 +01:00
3bc91386a0 apply include statement updates suggested by running IWYU 2022-02-13 19:39:15 -05:00
1307371942 update/correct iwyu additional mappings 2022-02-13 18:20:12 -05:00
b42aebc197 silence compiler warnings 2022-02-13 18:19:50 -05:00
83beffbb9f whitespace 2022-02-13 17:08:18 -05:00
810717bfe5 discuss stdio vs iostreams and fmtlib 2022-02-13 16:01:27 -05:00
1ab5b9d7fd re-sort list of false poisitives alphabetically with "sort" 2022-02-13 16:01:26 -05:00
1c7e1faeff add sections on inheritance, compositing, polymorphism 2022-02-13 16:01:14 -05:00
6887a16fa1 start add general code design doc. 2022-02-13 16:00:51 -05:00
193dea6327 Updated the comment to be precise on the case 2022-02-13 14:51:00 -06:00
159f107abd Corrected the added comment 2022-02-13 11:16:01 -06:00
bae4e45978 Added a comment to the added check while looping over the neighbors of ghost atoms 2022-02-13 09:17:05 -06:00
9d518ee1e2 must ensure that BUILD_SHARED_LIBS retains its original value 2022-02-13 10:00:19 -05:00
55a500cf8a Fixed bugs with in the kernel sw_three_end kernel 2022-02-13 00:42:26 -06:00
4eedfeb774 detect if LAMMPS library initialization failed and raise an exception 2022-02-12 22:43:18 -05:00
78d149f118 update to download improved loader sources that make installing optional 2022-02-12 13:21:10 -05:00
d85788305d update manual 2022-02-12 10:37:09 -05:00
4343e8194c update README file 2022-02-12 10:20:49 -05:00
096ea21dd9 correct potential file output header (must have 3 comment lines) 2022-02-12 10:14:09 -05:00
8808b11d26 must write out 3 lines of comment in fortran code. sync output style with python 2022-02-12 10:04:24 -05:00
2fdadcfeb6 include UNITS: metadata tag 2022-02-12 10:01:20 -05:00
0113346e54 apply some pylint recommendations 2022-02-12 10:01:01 -05:00
3cca41b72e print help without arguments. clarify help message and argument names text 2022-02-12 09:38:05 -05:00
69d3b1ebf3 output files are now named .eam.alloy 2022-02-12 09:37:23 -05:00
0f5fbf1c42 update citation info format 2022-02-12 09:36:53 -05:00
06d4bb3faf set date dynamically 2022-02-12 09:33:37 -05:00
e9b11e3673 Added Python version of Zhou04_create_v2.f: create_eam.py and eamDatabase.py in tools/eam_database 2022-02-12 12:42:54 +01:00
563f98b898 Some changes in examples directory, nothing important for now 2022-02-12 12:38:58 +01:00
a77680ac7b Merge branch 'develop' into python_use_setuptools
# Conflicts:
#	cmake/CMakeLists.txt
2022-02-12 00:37:03 -05:00
99c1b935b5 convert OpenCL loader build from ExternalProject_add to ExternalCMakeProject 2022-02-11 23:49:08 -05:00
eb2fe7d982 correct inconsistent prototypes 2022-02-11 23:37:40 -05:00
75dc7125e6 Update doc of pair sw/mod 2022-02-12 06:12:12 +02:00
e5dec93a1e Update doc of pair ilp/graphene/hbn 2022-02-12 06:09:29 +02:00
922b240678 Interlayer Potential for TMDs and Metal Surfaces 2022-02-12 06:05:11 +02:00
a5fe8b0581 update OpenCL loader to latest OpenCL spec sources 2022-02-11 22:01:04 -05:00
a17bdf5652 silence compiler warnings and avoid infinite recursion in aspherical pair styles 2022-02-11 21:06:16 -05:00
81587527fe Merge pull request #3120 from rbberger/collected_small_changes
Collected small changes
2022-02-11 20:26:10 -05:00
de08307aba Merge pull request #3124 from akohlmey/hide-factory-symbols
Reduce number of visible symbols in LAMMPS library by removing factory function templates from class definition
2022-02-11 20:23:52 -05:00
54f975ff52 Merge pull request #3123 from stanmoore1/reax_error
Remove incorrect error check in ReaxFF
2022-02-11 19:34:53 -05:00
df02598fc1 convert one more factory template 2022-02-11 18:38:36 -05:00
6a0e93a18a convert more style_creators to use local static functions 2022-02-11 18:29:52 -05:00
5ab9b46b67 enable and apply clang-format 2022-02-11 18:04:46 -05:00
a4244eb7ff apply simplification suggested by @rbberger 2022-02-11 17:57:30 -05:00
04cff0b47b remove make factory function templates from class and make them static functions 2022-02-11 16:00:12 -05:00
4df5686709 Merge branch 'amd_hip_opt' of github.com:stanmoore1/lammps into amd_hip_opt 2022-02-11 13:57:19 -07:00
5ba2fc7958 Merge branch 'reax_error' of github.com:stanmoore1/lammps into amd_hip_opt 2022-02-11 13:56:52 -07:00
fbd4d4b9c3 Merge branch 'develop' of github.com:lammps/lammps into amd_hip_opt 2022-02-11 13:56:38 -07:00
a8dbb3a172 Remove incorrect error check in ReaxFF 2022-02-11 13:39:24 -07:00
ea94095bf6 Change email in docs 2022-02-11 12:51:47 -05:00
ecd072a286 address spelling issues 2022-02-11 09:03:59 -05:00
1f6c4089bd remove some more dead code in CG-DNA package 2022-02-11 07:41:09 -05:00
397889e697 Modifications to virial addon contributions 2022-02-10 19:55:23 -07:00
d750ef4890 simplify 2022-02-10 20:39:36 -05:00
c32dca2009 avoid failures with "most" presets 2022-02-10 20:11:27 -05:00
4ea4bee30c apply virtual and override keywords consistently 2022-02-10 16:55:35 -05:00
61ff5250ee add extra communication of special neighbors when using angle constraints 2022-02-10 16:17:56 -05:00
e94854d54f always initialize arrays with extra grid points for non-periodic to support switching with change_box 2022-02-10 15:57:41 -05:00
9b1a267d85 fix another memory grid deallocation bug. delete before number of levels changes 2022-02-10 15:32:07 -05:00
ab1e68eb42 fix memory access bug with changing box volume/grid 2022-02-10 14:41:25 -05:00
4d5bb08ead make searching for python interpreter and development version futureproof and more consistent 2022-02-10 14:41:25 -05:00
60d03f34cc update create.f with changes from NIST database
also add parameters for Cr and document in README file and change
the code to create output files with .eam.alloy extension
2022-02-10 14:41:25 -05:00
6366972ef4 remove dead code and reduce compiler warnings
# Conflicts:
#	src/RIGID/fix_rigid_small.cpp
2022-02-10 14:41:09 -05:00
44ded1c1fe Reorder fields init in IntelBuffer ctor 2022-02-10 14:19:51 -05:00
df00d2225a Remove unused variable 2022-02-10 14:13:55 -05:00
75f32a60a5 Add missing curly braces 2022-02-10 14:13:43 -05:00
c2ef4425c6 Update doc/utils/check-styles.py 2022-02-10 12:02:23 -05:00
08b16f1f23 Prevent GTest and GMock from being installed 2022-02-10 11:27:32 -05:00
a17a45c761 Fix large number of sign-compare warnings 2022-02-10 11:19:13 -05:00
4f36dad942 Removed the bogus loop in numdiff and manually se the factors in numdiff. 2022-02-10 11:51:03 +01:00
efa5db4c58 ELECTRODE package 2022-02-10 11:33:38 +01:00
439aabc7b1 Merge branch 'develop' of https://github.com/lammps/lammps into amd_hip_opt 2022-02-09 14:26:33 -05:00
ce83ca1efd Merge pull request #3117 from akohlmey/collected-small-changes
Collected small changes
2022-02-08 20:21:46 -05:00
861195130c incorporate suggested changes to github action from @rbberger 2022-02-08 12:08:28 -05:00
4d6fcb3a8b Merge branch 'develop' of https://github.com/lammps/lammps into Elastic_stress before comiting to pull request 2022-02-08 16:46:23 +01:00
9ed13157eb Added examples/cij_nvt/in.lj* changes to make Git happy. 2022-02-08 16:42:33 +01:00
9833e5bc66 Hopefully got compute_born_matrix numdiff method working. Also added two BORN_MATRIX examples. 2022-02-08 16:40:52 +01:00
75727ed5af comment out minimal run test outside of CMake/CTest 2022-02-07 20:52:12 -05:00
8e2581042e remove unused local variables 2022-02-07 20:30:36 -05:00
78cf0365e6 bugfixes 2022-02-08 02:13:42 +01:00
b01716472b Merge branch 'develop' into collected-small-changes 2022-02-07 19:59:10 -05:00
b75c306543 Merge pull request #3035 from rbberger/kokkos_unittests
Add force style tests for Kokkos OpenMP
2022-02-07 19:57:09 -05:00
2445f85dde Merge branch 'develop' into collected-small-changes 2022-02-07 17:08:03 -05:00
044ada9f2b update googletest library to current snapshot 2022-02-07 16:46:32 -05:00
e4b5245f4d Merge pull request #3116 from akohlmey/build-kokkos-staticlib
Build KOKKOS package updates for Python module and Windows compatibility
2022-02-07 16:36:46 -05:00
35a4c0f501 skip tests that fail with Kokkos+OpenMP 2022-02-07 16:15:32 -05:00
2dfeb96fda Merge pull request #3115 from rbberger/pylammps_update
PyLammps update
2022-02-07 15:09:10 -05:00
093c54d8ed update to use settings from upstream 2022-02-07 14:42:07 -05:00
a7084c8fdb Merge remote-tracking branch 'origin/develop' into kokkos_unittests 2022-02-07 13:04:59 -05:00
ba89ad546a Tried to make the fusion with Aidan Thomps modification of compute_born + several headers issues (essentially adding override flag to virtual methods) 2022-02-07 00:12:27 +01:00
b6822a18f7 Merge branch 'Elastic_stress' of github.com:Bibobu/lammps into Elastic_stress 2022-02-06 20:04:51 +01:00
a110b1d475 1) Added born_matrix method to bond_harmonic, angle_cosine_squared and dihedral_nharmonic
2) Changed compute_born_matrix so it can takes arguments pair bond angle dihedral to output only selected elements. Also moved flags to creator method and added error/warning messages
2022-02-06 20:00:55 +01:00
2548c49876 use fmtlib for formatted output 2022-02-05 17:01:47 -05:00
8209ae9513 fix optional argument parsing bug 2022-02-05 17:01:13 -05:00
59def25eb6 tweak test epsilon for portability 2022-02-05 16:08:43 -05:00
d91c1ff1f0 Merge pull request #3110 from stanmoore1/dump_balance
Fix issue in new dump balance command
2022-02-05 15:56:17 -05:00
4de02c7f2f Tweaked input script 2022-02-04 16:28:29 -07:00
a2ff443838 Use utils::flush_buffers() in error.cpp and thermo.cpp 2022-02-04 18:00:47 -05:00
bae6526b5f Add missing doc entry 2022-02-04 17:55:37 -05:00
50a7d4e7fc Add utils::flush_buffers() 2022-02-04 17:53:36 -05:00
ea0f31c997 Update SWIG library interface 2022-02-04 17:43:17 -05:00
f45663bfc2 Simplify loop structure to fix issues 2022-02-04 11:45:28 -08:00
0ff3ee0227 Add and use lammps_flush_buffers() in Python interface 2022-02-04 10:42:22 -05:00
293d529ee9 Add lammps_flush_buffers() library function 2022-02-04 10:40:05 -05:00
c0bae49956 simplify with new API and address coverity scan warning 2022-02-04 07:28:59 -05:00
652ff43f64 Got a good match with some Born elements with P != 0 2022-02-03 21:58:25 -07:00
ea0b4f0f33 Got a good match with some Born elements with P != 0 2022-02-03 18:16:21 -07:00
c0ee491f18 protect unconditional "#pragma GCC" with if defined(__GNUC__) 2022-02-03 19:47:52 -05:00
7cd9975e29 Fixed one obvious error in numdiff version, matching analytic quite well for P~=0, need to fix addon term 2022-02-03 17:44:47 -07:00
6edb50b405 Force Python version in GH MSVC test 2022-02-03 18:08:17 -05:00
9bfd6375eb avoid triggering bogus make file target errors 2022-02-03 18:00:34 -05:00
7d0b4cc131 make portable to cross-compiler 2022-02-03 18:00:12 -05:00
330dd6a7a8 Documentation update for maxtries & exclude 2022-02-03 23:18:51 +01:00
8fbaaffd3e remove incorrect scope 2022-02-03 17:16:20 -05:00
2137ad04fd remove non-portable custom (and unused) profiling support code 2022-02-03 17:13:10 -05:00
a56922edc9 include PYTHON package in windows test build 2022-02-03 16:55:26 -05:00
75f389f70c Enable PyLammps unit test, require NumPy 2022-02-03 16:24:43 -05:00
22efbaf977 Output Capture has to replace FD 1 to work properly in Jupyter 2022-02-03 16:24:43 -05:00
050ce421e9 PyLammps: alternative OutputCapture using tempfiles 2022-02-03 16:24:43 -05:00
f804ea89b9 skip force test requiring cp command 2022-02-03 16:13:07 -05:00
2a7823686d use introspection to check for Kokkos::OpenMP only when it is enabled 2022-02-03 16:08:00 -05:00
6bfb7a5521 require OpenMP 4 or later for KOKKOS with OpenMP enabled 2022-02-03 16:07:33 -05:00
b06d4a3300 exclude_cutoff to exclude_radius 2022-02-03 21:58:14 +01:00
f550460ecd Update CMakeSettings.json 2022-02-03 15:44:55 -05:00
36c1db820f Add command styles to PyLammps auto-completion 2022-02-03 15:44:55 -05:00
41da32d7de Use modernized LAMMPS Python interface instead of output parsing for Atom properties 2022-02-03 15:44:55 -05:00
3ba85bc68d replace VLA with explicit new/delete 2022-02-03 15:23:09 -05:00
2627e404b0 Add csforce field to numpy_wrapper detection 2022-02-03 15:14:22 -05:00
c6a17b900e just call exit() on windows instead forwarding the SEGV signal 2022-02-03 13:31:24 -05:00
b7b7a74c52 when building KOKKOS as part of the LAMMPS build, always build static libs 2022-02-03 12:23:25 -05:00
82ac7c9e12 Merge remote-tracking branch 'origin/develop' into python_use_setuptools 2022-02-02 11:47:13 -05:00
efcb402fdc Merge pull request #3111 from stanmoore1/kk_compile
Changes needed to compile LAMMPS with Kokkos upstream
2022-02-02 11:45:55 -05:00
d9c51ca124 Make sure LAMMPS and unit tests use same Python version 2022-02-02 11:44:25 -05:00
172f88a0d5 Merge pull request #3104 from ohenrich/cg-dna
CG-DNA unit test and performance enhancement
2022-02-01 18:30:13 -05:00
8f07289ed7 Changes needed to compile LAMMPS with latest Kokkos develop 2022-02-01 15:00:40 -07:00
e15ca1eeef Fix bug in dump balance 2022-02-01 10:23:25 -08:00
fa200f606b Update from upstream 2022-01-31 20:01:10 -07:00
76c57d54c1 Merge pull request #3102 from akohlmey/mpi-stubs-simplify
Porting unit tests to run natively on Windows
2022-01-31 21:37:48 -05:00
705bfc10a1 Merge pull request #3100 from rbberger/kokkos_cleanup
Refactor some declarations in KOKKOS package
2022-01-31 19:35:55 -05:00
1da12feafc Prepared for implementation of exclude
- maxtries returned as separate option
- errors for incompatible options (var with single + new)
2022-02-01 00:46:15 +01:00
fad47312e6 Update from upstream 2022-01-31 16:31:46 -07:00
1b6f850d42 Prepared for implementation 2022-02-01 00:17:21 +01:00
91614b64d2 Update from upstream 2022-01-31 15:42:05 -07:00
a6a2492282 Merge pull request #3082 from stanmoore1/reax_count
Improve PairReaxFFKokkos neigh list algorithm
2022-01-31 17:26:25 -05:00
b2916339a4 Add NeedDup_v and AtomicDup_v helpers to KOKKOS 2022-01-31 13:42:03 -05:00
a124ee4f44 Merge pull request #2233 from charlessievers/OptimizedDynamicalMatrix
Dynamical_matrix and third_order features+update
2022-01-31 12:57:28 -05:00
dd416f61b5 Rename function to avoid warning 2022-01-31 10:47:56 -07:00
cfd720e1fc Remove another volatile return type to avoid warning 2022-01-31 09:58:44 -07:00
5d28d06a3c Fix compiler warning 2022-01-31 09:47:32 -07:00
f537a31c19 Unify comment style 2022-01-31 09:25:25 -07:00
5142d8e968 Merge remote-tracking branch 'origin/develop' into kokkos_cleanup 2022-01-31 11:04:41 -05:00
9a81dc58a1 Merge remote-tracking branch 'origin/develop' into kokkos_unittests 2022-01-31 11:04:18 -05:00
b7c8ab639c Dummy change 2022-01-30 16:44:35 -07:00
7a14cf765f Fixed silent error in albe[][] 2022-01-30 16:34:49 -07:00
c09e3c0890 Updated documentation 2022-01-30 16:27:33 -07:00
fb2f7f1b99 Merge branch 'Elastic_stress' of github.com:athomps/lammps into Elastic_stress 2022-01-30 16:19:20 -07:00
d79a96caae Updated documentation 2022-01-30 16:18:34 -07:00
cc9c578006 Got all the pieces in, now just need to get the right answer 2022-01-30 15:52:16 -07:00
d80ba0d57a Merge branch 'develop' into mpi-stubs-simplify 2022-01-30 17:19:26 -05:00
7ee7d0c570 apply clang-format 2022-01-30 17:18:40 -05:00
3707b327c0 improve portability of python result value string conversion 2022-01-30 16:52:38 -05:00
a8a76dbbe2 port python module and package tests to be windows compatible. refactor environment processing 2022-01-30 16:48:47 -05:00
2e39971cbc re-enable python module tests on windows 2022-01-30 16:48:11 -05:00
579ac61b5b refactor environment variable settings. make windows compatible 2022-01-30 16:47:52 -05:00
fea41d5458 make windows compatible 2022-01-30 16:47:17 -05:00
0f85809acf Created branch on athomps/lammps repo 2022-01-30 12:37:33 -07:00
af8d1bd768 fix typo 2022-01-30 09:00:39 -05:00
65b198f986 Revert "temporarily switch repo and branch to run on"
This reverts commit 213259b732.
2022-01-30 08:48:52 -05:00
4b22962ec1 roll back MPI target alias change one more time. must wait until CMake 3.11 or later is minimum 2022-01-30 08:47:46 -05:00
f8a4006da7 must promote imported target to global scope in order to be able to alias it 2022-01-30 08:32:21 -05:00
dc0e013297 create alias target MPI::ANY_CXX to be used instead of MPI::MPI_CXX
With this alias it is possible to transparently refer to either the
real imported MPI library or to the MPI stub library. this further
reduced the need for if statements related to MPI. Some uses of
MPI::MPI_CXX remain but they are all in branches of the script code
where BUILD_MPI is enabled and thus the imported target will be present.
2022-01-30 07:48:16 -05:00
99cb494594 remove automatic generated tag 2022-01-30 07:08:15 -05:00
b17d8b4494 add building and running unit tests 2022-01-30 05:54:35 -05:00
213259b732 temporarily switch repo and branch to run on 2022-01-30 05:54:21 -05:00
4bb7457d6e add option to allow skipping tests by setting a no${CMAKE_SYSTEM_NAME} tag 2022-01-30 05:14:57 -05:00
923b0cfc46 allow to override the LAMMPS dll location on windows
this is to work around the situation that windows
has no equivalent to LD_LIBRARY_PATH (short of augmenting %PATH%,
which is tricky for CMake before 3.20)
2022-01-30 05:13:17 -05:00
a8632d5cb6 always have the lib prefix on the LAMMPS library (windows may drop it on the .dll file) 2022-01-30 05:11:32 -05:00
ebeb29adf6 skip python folder tests for now on windows 2022-01-29 21:34:51 -05:00
6ff157a099 use quoting to avoid issues with blanks and special characters 2022-01-29 21:05:19 -05:00
33be5ff0b4 allow that the include command may have quoted arguments with variables 2022-01-29 21:04:59 -05:00
cc0d91b222 re-add copies of linked files 2022-01-29 21:01:49 -05:00
571821694e remove links broken on windows 2022-01-29 21:01:35 -05:00
02cadf1b71 port to windows where text file reading may gobble up carriage returns 2022-01-29 20:53:17 -05:00
6c98915a9c port to windows 2022-01-29 20:52:37 -05:00
0bfc5269dd fix mismatches causing failures on windows 2022-01-29 20:52:25 -05:00
9014664c13 really fix unit test regexes for windows 2022-01-29 19:07:35 -05:00
c420f804d9 make multi-line regex checks compatible with googletests Windows regex syntax 2022-01-29 18:52:49 -05:00
a1d186b5fa Merge pull request #3105 from athomps/numdiff-stress
Add new numdiff/virial fix style
2022-01-29 18:37:57 -05:00
cd5d1f8a30 reformat 2022-01-29 18:13:01 -05:00
9323a09b39 reduce number of reported memory leaks with google test death tests 2022-01-29 18:12:53 -05:00
c464c40d67 avoid accessing uninitialized data and triggering bogus memcheck output 2022-01-29 18:12:15 -05:00
7b3adb3f1a must always initialize jtag 2022-01-29 17:09:40 -05:00
c9de8fca1d silence compiler warnings 2022-01-29 17:07:00 -05:00
75d0a5098f use -Og for Debug config for better warnings and debug experience 2022-01-29 17:06:30 -05:00
bd4814a51e don't cache OUTPUT_DIRECTORY variable settings but set them every time 2022-01-29 16:37:40 -05:00
845ab2dd71 On Windows the Regex matcher for '.' does not match '\n'
Thus we have to use ContainsRegex instead of MatchesRegex
2022-01-29 16:35:30 -05:00
d62e25decc don't specify default working directory for tests explicitly 2022-01-29 11:10:23 -05:00
dad72a612a correct statement (PPPM **does** support triclinic for a while already) 2022-01-29 08:18:08 -05:00
481bcfcd14 spelling 2022-01-29 08:12:28 -05:00
ee98f023b6 enable and apply clang-format 2022-01-29 08:02:59 -05:00
17960c8183 use constexpr instead of const 2022-01-29 07:56:11 -05:00
9427eb800f add missing "override" 2022-01-29 07:55:58 -05:00
c1185acad7 enable and apply clang-format 2022-01-29 07:52:06 -05:00
d6fa3a08cd roll back library aliasing changes as that negatively interferes with unit tests 2022-01-28 21:54:32 -05:00
8423ecb211 small tweaks to make things work with the new settings 2022-01-28 21:28:37 -05:00
7978bf671d use canonical syntax for adding tests 2022-01-28 21:12:13 -05:00
5c0c3df035 make use of CMAKE_(RUNTIME|LIBRARY)_OUTPUT_DIRECTORY 2022-01-28 21:10:30 -05:00
fbecf0051e Merge remote-tracking branch 'upstream/develop' into numdiff-stress 2022-01-28 18:36:27 -07:00
a9481733a0 Finished debugging, testing, documenting 2022-01-28 18:34:30 -07:00
c28b7c586a Residual Merge Conflict 2022-01-28 14:59:07 -08:00
6258cf1b9d Fixed merge conflict 2022-01-28 14:49:13 -08:00
e8ce01079d whitespace 2022-01-28 17:20:32 -05:00
f6d0be1257 avoid integer overflow due to precedence 2022-01-28 17:08:16 -05:00
96502ae49d whitespace 2022-01-28 17:07:03 -05:00
1d51f2d151 must not access invalid/uninitialized data 2022-01-28 16:57:58 -05:00
2a3a7c387b Merge pull request #3103 from tc387/CR-update
fixed ewald self-energy update and updated documentation
2022-01-28 16:37:11 -05:00
e5b129fe8d Grow exponentially to resize less 2022-01-28 13:35:09 -07:00
41c1c64be9 Merged with deveop branch 2022-01-28 20:27:38 +00:00
e76c8bbaa3 spelling 2022-01-28 14:52:31 -05:00
4225c6c288 whitespace 2022-01-28 14:48:34 -05:00
9feec51590 Merge branch 'develop' of https://github.com/lammps/lammps into reax_count 2022-01-28 12:32:37 -07:00
d6a6f64576 Merge pull request #3090 from rbberger/modernize_use_override
Modernize to C++11: use override
2022-01-28 14:10:45 -05:00
17cb137f3e Merge branch 'master' into OptimizedDynamicalMatrix 2022-01-28 11:08:31 -08:00
bb89347bac Fixed kspace issue and added suggested runtime check for intel accelerator 2022-01-28 11:06:29 -08:00
7aa17fbdf7 Merge branch 'develop' of github.com:lammps/lammps into reax_count 2022-01-28 11:58:50 -07:00
d3c45d3389 Removed whitespace 2022-01-28 17:58:00 +00:00
ef96b51a25 Merge branch 'deform-rebuild-rigid' into mpi-stubs-simplify 2022-01-28 05:44:43 -05:00
db4e69bf38 further simplification by making STUBS an interface and alias to MPI::MPI_CXX 2022-01-28 01:00:37 -05:00
ac815fdfba use improved accessors for fixes 2022-01-27 22:16:43 -05:00
e4fe0a37a1 fixed ewald self-energy update and updated documentation 2022-01-27 16:48:22 -06:00
cd8b674f4b expand path to include LAMMPS shared lib 2022-01-27 17:46:18 -05:00
0bf941219f silence compiler warnings 2022-01-27 17:21:50 -05:00
d391ae845b convert static class members with git info to functions to simplify auto-export on Windows 2022-01-27 17:20:05 -05:00
265588d480 Reduce differences between original pair hybrid and kokkos variant 2022-01-27 16:14:46 -05:00
62ff23abe7 simplify building serial executables by incorporating the STUBS/mpi.o object in LAMMPS library 2022-01-27 15:59:48 -05:00
735d6926a1 Update to KK tersoff styles for consistent nofdotr
Inspired by f82096c46c
2022-01-27 14:36:45 -05:00
b3647d8e94 Add missing override keywords 2022-01-26 16:16:53 -05:00
a6ef114bfb Ensure both Python Interpreter and Development header version match 2022-01-26 15:27:36 -05:00
293f4eb0ed Add Python 3.10 to detection 2022-01-26 15:21:57 -05:00
2ed8e5cf02 Use setuptools instead of distutils in setup.py
distutils will be removed soon (Python 3.12)
2022-01-26 14:58:28 -05:00
415476983d Merge branch 'develop' into cg-dna 2022-01-26 19:31:48 +00:00
9b6bb00d07 Added unit test for atom_style oxdna 2022-01-26 19:20:34 +00:00
d51017ff50 Merge pull request #3095 from akohlmey/collect-small-changes
Collected small changes and fixes
2022-01-26 12:04:44 -05:00
d861dbe8e0 Remove unused variable 2022-01-26 11:37:53 -05:00
71a373cadb reshuffle Body struct members and add dummy for better alignment 2022-01-26 10:46:19 -05:00
8ca1004c03 cosmetic. align with clang-format 2022-01-26 10:45:46 -05:00
120662c438 correct citation info 2022-01-26 10:45:30 -05:00
cdd23ac9c2 Merge pull request #3097 from stanmoore1/dump_balance
Add option to balance dump file output
2022-01-25 15:53:38 -05:00
3297ed7c5f Refactor some declarations in KOKKOS package
Adds C++11 template helpers to shrink larger declarations.
2022-01-25 14:29:00 -05:00
75a00f4d11 minor cleanup 2022-01-25 08:52:53 -07:00
64dbce26dc Cannot shrink buf 2022-01-25 08:45:13 -07:00
35dbabd471 alternate fix for tag caching issue in INTEL package 2022-01-25 07:39:37 -05:00
0b693e729d Whitespace 2022-01-24 17:33:36 -07:00
c914fc6baf Small doc tweak 2022-01-24 16:33:11 -07:00
67af170929 Sorting is not required for balancing 2022-01-24 16:22:55 -07:00
cb9ba8c0a3 Simplify code 2022-01-24 16:05:27 -07:00
a80f7ed11f Add error message to header file 2022-01-24 15:32:20 -07:00
aeb25b5a37 Tweak docs 2022-01-24 15:28:40 -07:00
1d60e4c463 Add docs 2022-01-24 15:16:49 -07:00
16810b84eb Add option to balance dump file output 2022-01-24 14:35:27 -07:00
fc13c95c85 tweaks and bugs 2022-01-24 20:55:28 +01:00
86ee1f5a1f updated create_atoms.h/cpp with accumulated changes 2022-01-24 20:38:51 +01:00
f9a2006d73 reorder includes 2022-01-24 08:44:29 -05:00
88dadd0fff consistently refer to INTEL package in upper case 2022-01-23 21:12:22 -05:00
cd16556256 add missing break statements.
@GenieTim this bug may have tainted your results. you would always get the energy value for any of the dx, dy, dz keywords
2022-01-22 17:13:54 -05:00
81e7583a8d initialize pointers, use provided constant, reorder include statements 2022-01-22 17:07:12 -05:00
f814dc5ff9 add checks after reading data 2022-01-22 17:06:28 -05:00
458ae4e38a initialize pointers, remove unused class member 2022-01-22 17:06:13 -05:00
d854e58d00 add sanity check 2022-01-22 16:51:07 -05:00
c93fba5e2d make certain that offset is always initialized 2022-01-22 16:45:38 -05:00
5142934a26 update to modern matrix representation 2022-01-22 16:38:58 -05:00
900ff39403 make consistent 2022-01-22 16:33:44 -05:00
78ed631877 spelling 2022-01-22 16:30:03 -05:00
fa88dacd7b integrate into manual and build/source code system. apply conventions 2022-01-22 16:29:48 -05:00
5db5322902 move compute to its designated location 2022-01-22 16:24:07 -05:00
7aed8954a5 Add paragraphs in Modify_style.rst 2022-01-22 11:03:44 -05:00
ef2969dfbf use override keyword in plugin sources 2022-01-22 10:30:58 -05:00
79a9829e92 Apply override to remaining classes 2022-01-22 09:56:01 -05:00
3e3cd4c94d Added correct units for pressure, still getting wrong answer 2022-01-21 19:46:54 -07:00
3286fcb13a Added correct units for pressure, still getting wrong answer 2022-01-21 19:29:23 -07:00
c16caea13b Fixed bounds error 2022-01-21 19:17:12 -07:00
384b715d8c First pass at fix numdiff/stress 2022-01-21 18:53:06 -07:00
12d708b97c Apply override to more classes 2022-01-21 18:24:06 -05:00
44bc766060 Apply override to more classes 2022-01-21 16:58:32 -05:00
06beb28d7d Apply override to Pair classes 2022-01-21 16:13:49 -05:00
6506be9409 update programming style 2022-01-21 15:56:58 -05:00
ff3f762499 Apply override to Fix classes 2022-01-21 14:45:53 -05:00
f83271aa40 Apply override to Compute classes 2022-01-21 13:23:36 -05:00
0d4bbf60e6 Apply override to Dihedral classes 2022-01-21 12:48:11 -05:00
3ff1902b57 Renamed born method born_matrix in all classes. Changed compute_born to compute_born_matrix. Changed the compute coding to suit the LAMMPS style rules better. 2022-01-21 18:39:16 +01:00
57def1a2d5 output reformatting and refactoring 2022-01-21 11:26:55 -05:00
75d20c40ed remove threebody tag caching altogether since it is not reliable 2022-01-21 11:26:26 -05:00
3311b1344c consolidate pair-wise vs pairwise spelling 2022-01-21 10:48:35 -05:00
3a6bd2e698 update comment about pair_write restrictions 2022-01-21 10:47:49 -05:00
67dec40afa make certain pointers are initialized 2022-01-21 06:55:20 -05:00
9c8431bf87 correct calls to memset() 2022-01-21 06:55:06 -05:00
557e25d6fb Apply override to Bond classes 2022-01-20 18:00:16 -05:00
4e89488f27 Apply override to Angle classes 2022-01-20 17:53:38 -05:00
d4ec931991 Apply override to FileReader classes 2022-01-20 17:49:23 -05:00
7387643b87 Apply override to Improper classes 2022-01-20 17:36:43 -05:00
5e37f9d5a7 Apply override to KSpace classes 2022-01-20 17:14:33 -05:00
586cf6c3bf Apply override to Dump classes 2022-01-20 16:58:23 -05:00
e73158bd7e whitespace/formatting 2022-01-20 16:56:12 -05:00
4104353d7a plug memory leak 2022-01-20 16:55:59 -05:00
49dca516ea simplify API of Force::store_style() 2022-01-20 16:48:44 -05:00
7c9b0c1e8e Apply override to more core classes 2022-01-20 16:43:04 -05:00
5c62dc0986 Apply override to Comm classes 2022-01-20 16:39:36 -05:00
c9776dad6f Apply override to Command classes 2022-01-20 16:35:59 -05:00
dbe267cb88 join lines, whitespace 2022-01-20 16:04:26 -05:00
0b24c5b498 workaround for segfaults due to NULL pointer dereference with hybrid styles 2022-01-20 16:04:07 -05:00
06cb86dfb9 Apply override to NTopo classes 2022-01-20 15:53:01 -05:00
7aaa85c3a1 Apply override to NBin classes 2022-01-20 15:44:16 -05:00
32a19d982a Apply override to NStencil classes 2022-01-20 15:37:15 -05:00
222ea31d8d Remove override = default destructor lines 2022-01-20 15:28:47 -05:00
8531622966 Merge branch 'develop' of https://www.github.com/lammps/lammps into Elastic_stress 2022-01-20 09:53:07 +01:00
f420bce07e First commit of the Elastic constant computation compute modification 2022-01-20 09:52:24 +01:00
7ee3171d16 Apply override to NPair classes 2022-01-19 21:51:21 -05:00
b45a6d7720 Apply override to AtomVec classes 2022-01-19 17:31:41 -05:00
a0e2a617e0 Merge pull request #3092 from stanmoore1/kk_makefiles
Small tweaks to Kokkos Files
2022-01-19 16:06:42 -05:00
9d8394fe63 Apply override to text_file_reader.h 2022-01-19 14:45:32 -05:00
c166549c74 Apply override to KOKKOS classes up to this point 2022-01-19 14:26:25 -05:00
b8d4030983 Update more core class destructors 2022-01-19 13:27:08 -05:00
e283bfa1fa Apply override to Minimize classes 2022-01-19 13:23:28 -05:00
b7dc1d9dd6 Merge pull request #3091 from akohlmey/more-parsing-refactor
More file parsing refactoring
2022-01-19 12:41:13 -05:00
6e8d9cb532 Port bugfix in Kokkos 2022-01-19 10:27:02 -07:00
0a8cbcef2b Add -DNDEBUG to Kokkos Makefiles 2022-01-19 10:19:50 -07:00
0a89e5bd24 Remove non-ASCII chars 2022-01-19 10:18:25 -07:00
4f0cde40fd White no longer exists 2022-01-19 10:16:53 -07:00
4cd5c40374 Merge pull request #3089 from akohlmey/collected-small-changes
Collected small changes and fixes
2022-01-19 11:44:33 -05:00
7573e60a1e Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2022-01-19 10:21:12 -05:00
c85cdb2732 always fall back to using the .so extension if available in the LAMMPS module folder 2022-01-19 10:11:16 -05:00
7676f66674 modernize potential file parsing 2022-01-19 06:29:27 -05:00
f5ad91f9fe minor tweaks 2022-01-19 06:28:53 -05:00
0595e4d7cd refactor parsing of pair style list parameter file 2022-01-19 00:24:01 -05:00
c4c3b545b2 modernize fix gle matrix file reading 2022-01-18 19:55:50 -05:00
e22f62f6db add some metadata for fix gle matrix files 2022-01-18 19:55:30 -05:00
b890b564ca modernize electron stopping file reader 2022-01-18 16:48:26 -05:00
ef13455d6b add some metadata tags 2022-01-18 16:48:07 -05:00
0099d2584b Apply override to Integrator classes 2022-01-18 15:17:04 -05:00
778879a0eb Apply override to Body classes 2022-01-18 14:56:44 -05:00
1792b3b0cf Apply override to Reader classes 2022-01-18 14:39:31 -05:00
d19f799585 Apply override to Region classes 2022-01-18 14:31:29 -05:00
576f2266ae Mark virtual destructors in derived as override
Following C++ Core Guideline C.128
2022-01-18 14:28:25 -05:00
be7e6d0939 Avoid std::string copies 2022-01-18 13:22:55 -05:00
38bcc493b0 simplify and modernize CMAP file parser 2022-01-18 10:28:40 -05:00
389c35a2d3 use alternate method to create triclinic box for unit test 2022-01-18 09:09:37 -05:00
1c8f427e8a detect when MSM::setup() is called before proper initialization and error out 2022-01-18 09:09:19 -05:00
29b5c2659c source code formatting 2022-01-18 09:04:04 -05:00
c1f7685c98 Revert "before changing box settings, it must be initialized at least once"
Looking for alternate solution since this change has
too many unwanted side effects.

This reverts commit 2e85233b11.
2022-01-18 08:30:54 -05:00
2e85233b11 before changing box settings, it must be initialized at least once
otherwise change_box would not really be needed,
but commands like boundary can (still) be used
2022-01-18 07:20:28 -05:00
752552e0f8 remove duplicate code 2022-01-18 06:39:20 -05:00
a02e11040d whitespace 2022-01-18 06:34:57 -05:00
f0f4a8e6dc plug some memory leaks in MSM kspace style(s) 2022-01-18 06:01:32 -05:00
241a44f1af another workaround for rerun 2022-01-18 04:56:47 -05:00
e1d028ec88 Merge pull request #3087 from akohlmey/pair-harmonic
Add new pair styles harmonic/cut for repulsive-only harmonic interaction
2022-01-17 18:53:35 -05:00
5530927bd4 Merge pull request #3088 from stanmoore1/kk_hip_fixes
Fix Kokkos HIP compile issues
2022-01-17 18:07:29 -05:00
af231d5447 Fix comments in Makefiles 2022-01-17 08:54:17 -07:00
8b89be6061 Kokkos SNAP tuning for HIP 2022-01-17 08:49:00 -07:00
a93e5baa73 Add Kokkos HIP Makefiles 2022-01-17 08:44:49 -07:00
cb796e8b60 Fix HIP compile issues 2022-01-17 08:21:52 -07:00
dc6e558191 use Tokenizer class to parse bond colors 2022-01-16 20:20:07 -05:00
0eeb3b203c add tests for molecule command 2022-01-16 16:50:23 -05:00
943fe487b5 update whitespace and argument formats for longer source lines 2022-01-16 15:36:01 -05:00
1e7969c7b9 add new pair styles harmonic/cut and harmonic/cut/omp 2022-01-15 19:34:47 -05:00
aa71ea6c40 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2022-01-14 20:25:05 -05:00
e271a54802 re-enable using rerun after the changes from PR #3052 2022-01-14 20:25:00 -05:00
c17eb14739 Fixing memory leak and wrong label 2022-01-14 15:45:18 -07:00
11cc8a6a59 whitespace 2022-01-14 15:59:05 -05:00
ed702b9309 don't allow exceptions to "escape" a destructor 2022-01-14 15:58:57 -05:00
dcb1ddb282 remove redundant code 2022-01-14 14:55:13 -05:00
2213eb8d3f use enum with symbolic constants instead of numbers 2022-01-14 14:45:12 -05:00
7afa22f045 check return values for errors 2022-01-14 13:02:15 -05:00
0540b93123 fixed division by zero issue in geometry 2022-01-13 17:15:45 +00:00
524d86605a Fixing reference in documentation 2022-01-12 10:56:30 -07:00
19abc5d329 Merge branch 'develop' into BPM 2022-01-12 10:52:11 -07:00
b1ed5e5b27 memory optimised with ragged arrays, implemented 3D ragged arrays 2022-01-12 17:02:09 +00:00
698256f4fe update fedora singularity image to Fedora 35 2022-01-12 08:17:54 -05:00
e0cde6270e Merge branch 'develop' into kokkos_unittests 2022-01-11 12:59:36 -05:00
5f607fad56 optimised memory management in chain generation 2022-01-11 16:46:50 +00:00
240db21054 silence possible warnings about missing files on "make clean-all" 2022-01-11 11:46:08 -05:00
8aaae8e6ee Fix count issue 2022-01-07 15:22:53 -07:00
40c140e56e Improve PairReaxFFKokkos neigh list algorithm 2022-01-07 14:48:07 -07:00
878557dd48 Merge pull request #3079 from akohlmey/next_patch_release
Step version strings for the next patch release
2022-01-07 11:31:23 -05:00
1f81e2afad Added duplication of stdout into logfile 2022-01-07 13:45:54 +00:00
11d66f8f1d Merge branch 'lammps:develop' into cg-dna 2022-01-07 12:45:38 +00:00
e3dd2908d9 Step version strings for the next patch release 2022-01-06 19:42:45 -05:00
b300a93b67 Merge pull request #3073 from akohlmey/fmtlib-8.1-update
Update included fmtlib to version 8.1.1
2022-01-06 19:40:00 -05:00
1f924e9fc1 Merge pull request #3071 from akohlmey/collected-small-changes
Collected small changes and bug fixes
2022-01-06 19:22:30 -05:00
9c9bc4790b update to fmtlib-8.1.1 2022-01-06 18:31:15 -05:00
8e0622d523 Merge pull request #3046 from donatas-surblys/centroid-stress-constraint-rigid
Centroid atomic stress for shake, rattle and rigid/small
2022-01-05 12:36:27 -05:00
3ff2f53ead add citations to centroid/stress/atom 2022-01-05 18:45:35 +09:00
e5416a9fee update documentation for new centroid stress for shake and rigid/small 2022-01-05 19:02:25 +09:00
4aba9e9bb6 cosmetic and whitespace changes 2022-01-04 23:08:32 -05:00
40abc0886c adjust for double precision floating point 2022-01-04 23:02:17 -05:00
d0f203127d create missing de,df table elements from linear extrapolation 2022-01-04 23:01:38 -05:00
82b7b2f3ea Simplified access of force errors 2022-01-04 14:02:29 -07:00
12420181e1 Merge pull request #3072 from akohlmey/refactor-data-file-parsing
Modernize parsing of topology data sections of data files
2022-01-04 13:21:14 -05:00
8ae68d71dd Merge pull request #3062 from Luthaf/netcdf-standard
Follow Amber NetCDF standard more closely
2022-01-04 13:02:50 -05:00
ede7787741 Refactor Atom::data_bodies() 2022-01-04 11:56:56 -05:00
f557bf6e20 implement suggestion by @rbberger 2022-01-04 11:37:32 -05:00
fd3884d705 disable centroid stress for non-small rigid fixes 2022-01-04 18:09:49 +09:00
1225b609d8 disable centroid stress for fix rigid/small/omp 2022-01-04 17:43:32 +09:00
6a73fc0472 refactor reading last line of potential file code to be more efficient 2022-01-03 21:35:26 -05:00
8439f87b76 make consistent with other reference 2022-01-03 18:26:56 -05:00
de404d1ed8 Merge branch 'update_doc_file' of github.com:jddietz/lammps into collected-small-changes 2022-01-03 18:26:01 -05:00
49412ce0f7 implement workaround windows from https://github.com/fmtlib/fmt/issues/2691
this also reverts commit c5a7f4c3ac
and thus results in consistent crt behavior on windows
2022-01-03 18:01:33 -05:00
a9a568aefa Updated references for pair_nm.rst 2022-01-03 11:50:04 -10:00
7e92809288 Merge pull request #3069 from Vsevak/fix-hip-ffast-math
Fix HIP Makefile under lib/gpu
2022-01-03 11:37:55 -05:00
b8ed590bde Merge pull request #3068 from ndtrung81/gpu-lib-makefiles
Updates to Makefiles under lib/gpu
2022-01-03 10:48:45 -05:00
90726ca088 explain that the computed force in python pair is force/r same as in Pair:single() 2022-01-03 10:12:51 -05:00
8c95a8db23 Incorporate bugfixes from issue #3074, a few additional cleanups 2022-01-03 10:11:03 -05:00
c5a7f4c3ac fmtlib now uses UCRT instead of MSVCRT. add library to avoid linker failure 2022-01-02 15:24:04 -05:00
bb1c12d22b import fmtlib v8.1.0 2022-01-02 13:42:27 -05:00
f3c5593c50 correct code example 2022-01-01 16:40:54 -05:00
e5c517c8d8 silence compiler warnings 2022-01-01 00:21:14 -05:00
9efa2369dd join wrapped strings 2021-12-31 14:34:24 -05:00
c17a183816 do error checking already in read_data code 2021-12-31 14:34:09 -05:00
863de683ee do not shadow "natoms" class member 2021-12-31 13:43:56 -05:00
6d9764e140 add missing advance of buffer pointer 2021-12-31 00:14:52 -05:00
ca3be99e77 correct function prototypes 2021-12-30 23:48:42 -05:00
e6e9aed385 modernize/correct parsing for Bonus and Bodies sections 2021-12-30 22:58:14 -05:00
8d53cd1e5d modernize parsing of Velocities section of data files 2021-12-30 19:14:09 -05:00
def1072f0f port data_atom() changes to KOKKOS 2021-12-30 18:42:15 -05:00
499bae77bd Tweak 2021-12-30 12:02:53 -07:00
0e82877302 Tweak 2021-12-30 11:51:16 -07:00
ad307fb784 Added script for RMSE on numerical forces 2021-12-30 11:43:32 -07:00
7f2b505df3 apply utils overloads 2021-12-30 11:14:48 -05:00
cf9429dc68 implement overloads so that utils::*numeric() functions can be safely used with std::string() 2021-12-30 11:03:37 -05:00
64d6a2fd1f modernize parsing of the Atoms section 2021-12-29 20:24:27 -05:00
c97483c46f modernize parsing of the Masses section in data files 2021-12-29 19:36:18 -05:00
78df5c2258 modernize parsing of Bonds/Angles/Dihedrals/Impropers section of data files 2021-12-29 19:18:42 -05:00
27a6c63aeb correct format string for Error::one() 2021-12-29 16:18:48 -05:00
88b42503f9 address segfault issue with fix nve/gpu when group is not "all" 2021-12-29 14:06:22 -05:00
14e5474174 restore obsolete compilation settings similar to parallel makefile 2021-12-27 20:31:42 -05:00
053d915fc4 drop -ffast-math for HIP also when compiling with CMake 2021-12-27 20:14:30 -05:00
b781410f92 Delete fast-math flag from Makefile.hip for AMD platforms 2021-12-28 03:11:02 +03:00
47b0c8b33e whitespace 2021-12-27 11:31:01 -05:00
5594a38bb7 replace explicit Makefile.mpi with symbolic link 2021-12-27 10:47:23 -05:00
3262140b65 more detailed unit tests. do not fail if ncdump is missing. 2021-12-27 10:35:38 -05:00
6357f19260 Added back Makefile.mpi in lib/gpu/ to be consistent with documentation; updated Makefile.*; and removed the unnecessary Makefile.turing 2021-12-27 00:14:04 -06:00
091f6164c8 add minimal unit test for netcdf dumps 2021-12-26 23:22:53 -05:00
30af0cb325 define and use LMP_MAX_VAR_DIMS instead of NC_MAX_VAR_DIMS to avoid stack overflows 2021-12-26 17:15:13 -05:00
4a7f726395 Minor tweak 2021-12-23 17:40:59 -07:00
57aedc500e Added a numerical force test, not automated 2021-12-23 17:40:29 -07:00
567c5c7334 Fixed sign error that now gives wonderful energy conservation 2021-12-23 16:37:23 -07:00
6de9c09730 Tweaked econs.py 2021-12-23 16:35:30 -07:00
19d469222a Added test for energy conservation 2021-12-23 16:28:25 -07:00
addb8948f9 Able to run dynamics smoothly, does not conserve energy, but maybe that is a feature 2021-12-23 15:01:41 -07:00
84765f4b81 Merge branch 'develop' into netcdf-standard 2021-12-23 16:42:24 -05:00
b39d1993bb Merge pull request #3052 from lammps/time-dumps2
Time-dependent dumps for variable timestep (alternate implementation)
2021-12-23 16:34:12 -05:00
6af36075ba Merge pull request #3064 from rbberger/collected-small-changes
Collected small changes and fixes
2021-12-23 16:13:35 -05:00
a653ee6b2c recover failing unit tests and whitespace fixes 2021-12-23 15:22:58 -05:00
7018ba65be Merge branch 'time-dumps2' of github.com:lammps/lammps into time-dumps2
# Conflicts:
#	src/dump_xyz.cpp
2021-12-23 15:18:56 -05:00
d694b7cc1c recover compilation 2021-12-23 14:34:49 -05:00
b7dba37e2e Merge branch 'time-dumps2' of github.com:lammps/lammps into time-dumps2 2021-12-23 14:34:00 -05:00
23f1c9de60 Merge branch 'develop' into time-dumps2 2021-12-23 14:29:04 -05:00
1185591c76 add missing fclose() 2021-12-23 08:20:47 -05:00
b2adb4df47 have internal fix/compute ids include the fix id for fix reaxff/species
this allows using the fix multiple times
also remove code and warning that checks for multiple fix instances
2021-12-23 08:20:28 -05:00
3748a14582 warn about problems with the MPIIO package 2021-12-23 01:59:45 -05:00
93c7b6928f remove dead code, silence compiler warnings 2021-12-23 01:32:31 -05:00
3b183bafbb cosmetic changes (simplify, use constexpr, remove dead code, join wrapped lines) 2021-12-23 01:23:13 -05:00
b53cda778c Merge branch 'develop' into netcdf-standard 2021-12-22 22:54:30 -05:00
09944f5d7a Merge pull request #2996 from stanmoore1/compute_phase
Add compute ave/sphere/atom
2021-12-22 21:16:25 -05:00
3dcfc0dfc6 skip redundant KOKKOS host/device styles info/help lists 2021-12-22 20:13:30 -05:00
8f62cd79f4 add missing list entry 2021-12-22 19:55:06 -05:00
586824be1b Merge pull request #3021 from stanmoore1/big_dump_sort
Allow dump sort to work with more than 2 billion atoms
2021-12-22 19:23:39 -05:00
cde7dd34fd Doc update 2021-12-21 16:46:53 -07:00
2788bc666a Update .gitignore 2021-12-21 16:44:14 -07:00
9271323cc0 Add dependency 2021-12-21 16:33:14 -07:00
1bbf45784b Rename and relocate 2021-12-21 16:29:11 -07:00
6a442e1df4 use compute_time() func in xyz output 2021-12-21 14:05:16 -07:00
6f6b384c55 Merge branch 'time-dumps2' of github.com:lammps/lammps into time-dumps2
# Conflicts:
#	src/dump_xyz.cpp
2021-12-21 15:56:19 -05:00
cd6df24e37 Fix a couple issues 2021-12-21 13:45:29 -07:00
2fec3eee6b Add overflow check to dump_h5md 2021-12-21 13:28:36 -07:00
5932a3f6f9 Merge branch 'develop' of github.com:lammps/lammps into big_dump_sort 2021-12-21 12:58:24 -07:00
cc4d7215f1 simplify. only output absolute time during MD. 2021-12-21 14:37:34 -05:00
cad9f6bf6e Merge branch 'time-dumps2' of github.com:lammps/lammps into time-dumps2 2021-12-21 12:18:38 -07:00
576e787839 make xyz dumps print out current simulation time 2021-12-21 12:18:26 -07:00
8ed35832f4 Merge branch 'develop' into time-dumps2 2021-12-21 14:16:23 -05:00
e06222099a Small tweak to docs 2021-12-21 11:51:30 -07:00
192aa7fedb Merge pull request #3065 from lammps/angle-class2-update
Angle class2 update and bugfix
2021-12-21 13:46:37 -05:00
c98f7b3e50 Clean up error message text 2021-12-21 11:40:04 -07:00
0576d525ad simplify and avoid redundant output 2021-12-21 13:39:00 -05:00
364d0be28c apply clang-format 2021-12-21 13:21:23 -05:00
c780768e91 put contents of netcdf_units into NetCDFUnits namespace 2021-12-21 13:16:23 -05:00
a2ab59b162 Fix cutoff logic 2021-12-21 11:07:03 -07:00
ded48cc031 more optimizations and extend to other dump styles 2021-12-21 10:57:42 -07:00
2533abb266 Add doc page 2021-12-21 10:46:23 -07:00
65204e5df0 Add error checks, tweak input 2021-12-21 10:46:00 -07:00
ecc0205436 reset force test references for Class2 angle styles 2021-12-21 11:28:26 -05:00
6187431399 Fix compile error in angle_class2_kokkos 2021-12-21 08:34:02 -07:00
f72b448544 WIP: cleanup/reorganize 2021-12-21 08:32:51 -07:00
4d31e300c6 change to checking timestep for time dumps at start of each step 2021-12-20 16:39:17 -07:00
f271d2180f Remove unused variable 2021-12-20 16:05:44 -07:00
8d34fb8e1f Merge branch 'develop' of https://github.com/lammps/lammps into compute_phase 2021-12-20 14:19:39 -08:00
4bc85f07e3 same changes in OPENMP and KOKKOS versions of angle class2 2021-12-20 14:29:17 -07:00
06c45fbe68 fix compiler errors 2021-12-20 14:26:22 -07:00
6bafa11080 Fix host compile error 2021-12-20 14:08:00 -07:00
36f3c8c899 Merge branch 'develop' of github.com:lammps/lammps into amd_hip_opt 2021-12-20 13:23:51 -07:00
75f60fc30a document improper amoeba better 2021-12-20 13:16:36 -07:00
6c85c7f7da tweak input test script 2021-12-20 11:50:11 -07:00
08c5644d68 fixed bondangle cross term in angle amoeba potential 2021-12-20 11:35:32 -07:00
2ee88dab7e same change for angle class2/p6 2021-12-20 10:35:41 -07:00
97b5651633 minor correction to angle class2 2021-12-20 10:33:05 -07:00
79844a3f34 Tweaks to team_size/vector_length 2021-12-20 09:58:37 -07:00
8dd61144cb Merge branch 'develop' into kokkos_unittests 2021-12-20 10:54:27 -05:00
f1daa22cdf Merge branch 'lammps:develop' into cg-dna 2021-12-20 13:13:41 +00:00
461398bc0e join lines 2021-12-19 17:46:51 -05:00
88f8e41702 PHONON package is now only a soft dependency on KSPACE 2021-12-18 18:22:47 -05:00
3246fd62a7 size_t is unsigned, so can't be negative 2021-12-17 17:10:21 -05:00
a3a6077115 Use sfread and sfgets in reader_native.cpp 2021-12-17 17:03:58 -05:00
1c25c96aaa netcdf: deduplicate gettings units as strings 2021-12-17 17:13:29 +01:00
f8ee6dc680 netcf: define units for all variable where this is possible 2021-12-17 11:49:25 +01:00
dc9d539b6c netcdf: fix spatial, cell_spatial and cell_angular variable definitions
Dimension 0 refered to the frame dimension, but we need the spatial dimension instead
2021-12-17 11:49:25 +01:00
4bf065ed1c netcdf: use float values for scale factors instead of double 2021-12-17 10:55:54 +01:00
d04f428c1a netcdf: default to float variable for everything
The standard convention require all values to be stored as
float, users still have the ability to use double with
`dump_modify <id> double yes`
2021-12-17 10:54:43 +01:00
94aad92b44 Tweaks to optimized SPMV and fused CG solve 2021-12-16 13:55:57 -07:00
90f3b0675e Cleaned up/reorganized version of optimized Kokkos fix_qeq_reaxff 2021-12-16 13:01:58 -07:00
f7f32642ca Temporarily revert EAM changes until a more portable/general solution is available 2021-12-16 10:13:00 -07:00
7bfc2f2b8f angle amoeba with cross-term 2021-12-16 08:38:23 -07:00
1f1c778225 Remove redundant GPL license 2021-12-15 16:51:53 -07:00
f6f60660c0 Cleanup for EV_FLOAT 2021-12-15 16:42:29 -07:00
c479d78854 add stretch-bend cross term 2021-12-15 16:34:28 -07:00
2d4f030f11 Merge pull request #3060 from rbberger/binary_dump_reader_bugfix
Bugfix for binary dump reader heap corruption
2021-12-15 17:20:12 -05:00
b8053e466b Remove unused header, whitespace 2021-12-15 15:12:55 -07:00
0d238d554c Cleaned up version of optimized Kokkos Tersoff 2021-12-15 14:45:48 -07:00
884dcbe4fa Refactor reader_native.cpp
- Use std::string instead of error-prone char buffers
- Limit reading files to known magic strings DUMPATOM and DUMPCUSTOM
2021-12-15 16:09:50 -05:00
2663087861 Merge branch 'develop' of github.com:lammps/lammps into amd_hip_opt 2021-12-15 13:56:15 -07:00
dccd74d6c4 Merge pull request #11 from arghdos/patched_ff
Patched ff
2021-12-15 13:46:12 -07:00
902f9dd1fa Move allocation to correct location 2021-12-15 15:05:59 -05:00
9fbca5111d fix runtime error from lack of comm->setup() 2021-12-15 11:52:38 -08:00
67f7e44688 changes to angle and improper amoeba terms 2021-12-15 11:44:38 -07:00
3748ddb1ae Merge branch 'lammps:develop' into cg-dna 2021-12-15 09:02:57 +00:00
40c0925cb4 Updated and added third order kokkos 2021-12-14 14:25:49 -08:00
b3fcda3214 Merge pull request #3057 from akohlmey/next_patch_release
Step version strings for the next patch release
2021-12-14 17:08:29 -05:00
676c5a3666 Merge pull request #3059 from nw13slx/rerun_bin
[BUGFIX] Wrong block reading in ReaderNative::read_atoms when binary is True and natom > 1024
2021-12-14 16:09:35 -05:00
3efddc4fb6 whitespace 2021-12-14 14:50:38 -05:00
5051055c76 Remove dead code and move nchunk read to read_header 2021-12-14 14:33:17 -05:00
fd18403b0a Merge pull request #3056 from Ruyk/dpcpp-anon-struct-workaround
DPC++ Anonymous Struct Workaround
2021-12-14 11:32:52 -05:00
80819f3793 reverse skip_buf with chunk 2021-12-14 11:09:36 -05:00
4be0e0a4e5 Merge branch 'develop' of https://github.com/lammps/lammps into big_dump_sort 2021-12-14 08:00:14 -07:00
26ebf97630 Merge branch 'develop' of https://github.com/lammps/lammps into compute_phase 2021-12-14 07:56:41 -07:00
62cdf7ab2d update docs 2021-12-14 09:13:05 -05:00
1c38b7633f generalize and simplify support for accelerated commands with suffixes 2021-12-14 09:06:04 -05:00
dee995f918 consistent author attribution 2021-12-14 09:05:28 -05:00
d6048ba576 added copyright/license header and updated author attribution 2021-12-14 08:41:49 -05:00
5b57d662c3 Merge branch 'develop' into OptimizedDynamicalMatrix 2021-12-14 08:35:58 -05:00
813f756382 Merge branch 'develop' into dpcpp-anon-struct-workaround 2021-12-14 06:59:12 -05:00
91633a4460 make workaround easier to disable and to remove 2021-12-14 06:59:03 -05:00
7c3deaa04b limit the skip buf to MAXSMALLINT 2021-12-13 23:03:10 -05:00
b1d0dd65ea simply the while loop and add correct initial m value 2021-12-13 22:57:39 -05:00
d4cec8ebe7 handle block reading in ReaderNative::read_atoms when binary is True 2021-12-13 21:38:16 -05:00
5a39efff19 Merge pull request #3055 from akohlmey/collected-small-changes
Final changes for next patch release
2021-12-13 21:24:11 -05:00
744e615dbb Revamping public methods for history, adding support for bond react 2021-12-13 17:35:53 -07:00
ccdb939a40 Merge pull request #3054 from nw13slx/rerun_bin
Support binary native dump files with read_dump and rerun
2021-12-13 19:22:00 -05:00
a887d880c6 debugged kokkos support to dynamical_matrix command 2021-12-13 14:14:14 -08:00
72420bad3a Merge pull request #3058 from jtclemm/documentation_edits
Fixing some references to MISC package in documentation
2021-12-13 16:59:10 -05:00
ff41864cd9 remove redundant deletes 2021-12-13 15:28:27 -05:00
cdc831bb89 Update src/reader_native.cpp
Co-authored-by: Richard Berger <richard.berger@temple.edu>
2021-12-13 12:23:30 -08:00
f3543a839e Update src/reader_native.cpp
Co-authored-by: Richard Berger <richard.berger@temple.edu>
2021-12-13 12:23:21 -08:00
3eae7b4200 Update src/reader_native.cpp
Co-authored-by: Richard Berger <richard.berger@temple.edu>
2021-12-13 12:23:14 -08:00
af2e295ac2 Update src/reader_native.cpp
Co-authored-by: Richard Berger <richard.berger@temple.edu>
2021-12-13 12:22:57 -08:00
bb6d581ef8 Update src/reader_native.cpp
Co-authored-by: Richard Berger <richard.berger@temple.edu>
2021-12-13 12:22:39 -08:00
1e73beca37 Merge pull request #2809 from rbberger/fmt_upgrade
Upgrades fmtlib to v8.0.1
2021-12-13 15:14:58 -05:00
2b85799729 Updating MISC to EXTRA-X in doc files 2021-12-13 12:27:00 -07:00
94ac1ad4a0 update version strings for the next patch release 2021-12-13 11:56:44 -05:00
9159b37e47 Merge branch 'develop' into fmt_upgrade 2021-12-13 10:03:38 -05:00
d33019d8e4 llvm anonymous struct workaround 2021-12-13 11:08:06 +00:00
94d5c75fdf small updates for docs and comments 2021-12-12 18:11:33 -05:00
33aea05080 adjust example for changes in when reset_timestep may be used 2021-12-12 10:01:52 -05:00
7db29112d8 replace read_buf to skip_buf in skip function 2021-12-12 00:26:55 -05:00
913b1536d4 whitespace 2021-12-11 21:18:33 -05:00
274b14618f fold match_fields() back into read_header() function 2021-12-11 21:17:41 -05:00
e23a2bfb55 Merge branch 'rerun_bin' of github.com:nw13slx/lammps into rerun_bin
# Conflicts:
#	src/reader_native_bin.cpp
2021-12-11 21:05:01 -05:00
87501347ad add minimal unit tests for reading binary dumps 2021-12-11 21:03:32 -05:00
0603dc6323 whitespace 2021-12-11 20:46:24 -05:00
86b696c78c Merge branch 'develop' into rerun_bin 2021-12-11 20:31:48 -05:00
56fd07d88e fold native binary reader class in to native reader class 2021-12-11 20:31:44 -05:00
565c8d6589 use fseek to skip bufs 2021-12-11 20:02:32 -05:00
8884acef24 Revert "add to compress read"
This reverts commit b22c409079.

# Conflicts:
#	src/platform.cpp
2021-12-11 19:40:21 -05:00
d7bb9b5f30 reverse clang-format on irrelevant lines 2021-12-11 17:49:29 -05:00
b22c409079 add to compress read 2021-12-11 17:44:41 -05:00
626889f534 move the rb mode to the overloaded open_file function 2021-12-11 17:36:29 -05:00
d59458fa37 clean up commands and documentation 2021-12-11 17:24:27 -05:00
8f99d8d1d9 fix skip bugs 2021-12-11 16:41:13 -05:00
6e05aff3bf Update CMake utility function get_lammps_version()
With the introduction of LAMMPS_UPDATE, version.h is no longer a single line
file. With this change the CMake utility will only process the LAMMPS_VERSION
line. Fixes issue #3038
2021-12-11 15:08:40 -05:00
250a5921a3 move match_field to protected method and format the docstring 2021-12-11 14:25:29 -05:00
2cdafb49a2 remove variable names from func declaration 2021-12-11 14:14:06 -05:00
e9f0351b67 reverse formatting on irrelevant files 2021-12-11 14:10:47 -05:00
eff26ba0b3 add read_buf method and fix bugs in inheritance 2021-12-11 14:02:58 -05:00
b1e7333348 remove wrong compression mode 2021-12-11 12:32:17 -05:00
7ab5d4edd4 add new ReaderNativeBin class 2021-12-11 11:54:21 -05:00
4f34c4374b Merge pull request #3053 from stanmoore1/kk_desul
Enable Kokkos Desul atomics in Makefile to match CMake settings
2021-12-11 06:12:50 -05:00
62f5f4d126 Merge remote-tracking branch 'github/develop' into fmt_upgrade 2021-12-10 23:04:58 -05:00
c69edde55c Eliminated several undefined variables 2021-12-10 18:30:44 -07:00
abd3df0c5a Merge pull request #3040 from akohlmey/collected-small-changes
Collected small changes and bugfixes
2021-12-10 15:51:13 -05:00
fc64fca3d9 Whitespace 2021-12-10 13:34:38 -07:00
6bd3ddf908 Don't use fetch variant of atomic if not needed 2021-12-10 13:27:57 -07:00
e49b7d0514 Remove atomics for error/warning flags since they are not needed 2021-12-10 13:14:12 -07:00
161fdec540 add improper amoeba class 2021-12-10 12:52:11 -07:00
0ab0e2747c Update comment 2021-12-10 12:15:10 -07:00
7aeab56eb2 Enable Kokkos Desul atomics in Makefile to match CMake settings 2021-12-10 12:09:32 -07:00
fa8e2ccee8 Merge pull request #2958 from jddietz/nm_split_styles
nm split styles
2021-12-10 13:42:31 -05:00
668d7805d6 Fixes to doc 2021-12-10 11:34:12 -07:00
5ead32f886 more debugging and features 2021-12-10 11:13:06 -07:00
439853c4a8 Moving store/local to an internal fix 2021-12-10 10:33:52 -07:00
6140503158 update local/density examples to follow conventions more closely 2021-12-10 08:50:58 -05:00
14fc42833f modernize potential file reader for local/density 2021-12-10 08:45:01 -05:00
3fc0ea3e80 correct names of the pack/unpack routines for forward communication 2021-12-09 18:30:54 -05:00
a975d0506a update examples for pair style local/density 2021-12-09 18:21:32 -05:00
e1e46b5322 Merge pull request #3033 from rbberger/unittest_tags
Add tags to force-style unit tests
2021-12-09 18:11:08 -05:00
146c6fe5ff remove check that is no longer needed 2021-12-09 18:08:43 -05:00
0e4e830c79 document "slow" and "unstable" labels for unit tests 2021-12-09 17:02:20 -05:00
0d44c56ccc use comma consistently 2021-12-09 15:50:57 -05:00
7d48324f51 tweak force test settings 2021-12-09 15:48:24 -05:00
facb49fc27 disallow reset_timestep for time averaging fixes 2021-12-09 15:09:42 -05:00
878dd746db reduce warnings and improve portability 2021-12-09 13:55:53 -05:00
e2969d09e1 bug fix for fix dt/reset freq of 1 2021-12-09 11:53:47 -07:00
754610b9ee Merge pull request #3041 from oywg11/modified-sw-potential
A modified Stillinger-Weber potential for transition metal dichalcogenide
2021-12-09 09:43:49 -05:00
455cb09cf4 Adding compatability with MC fixes, set_array to property/atom, faster update/special/bonds, single methods, and misc small changes 2021-12-08 16:47:42 -07:00
d4149e9139 bug fixes to make a series of test inputs run correctly 2021-12-08 16:44:51 -07:00
8f0dea91c7 correct setting forward/reverse buffer size info 2021-12-08 13:54:47 -05:00
a5ee7ca73f make certain did_mix is initialized 2021-12-08 00:51:04 -05:00
bea273fc3a correct docs for pair style local/density 2021-12-08 00:22:37 -05:00
40c04a210b correct handling of data packing for forward and reverse communication 2021-12-08 00:22:36 -05:00
021f6832d5 adjust epsilon for -std=c++14 and add more unstable tags 2021-12-07 17:11:29 -05:00
26492b13d5 logic for dumps every steps and time delta 2021-12-07 13:46:36 -07:00
5cee58a9c8 Merge pull request #3049 from Ruyk/sycl-pinned-host
Use SYCL pinned host memory from Kokkos.
2021-12-07 14:07:58 -05:00
605d2b7ab2 Use SYCL pinned host memory from Kokkos.
Depends on this PR from Kokkos:
https://github.com/kokkos/kokkos/pull/4268/
2021-12-07 16:49:27 +00:00
1afdd3c011 new output vars for dumps 2021-12-07 09:16:19 -07:00
a323b00fef Merge branch 'develop' into unittest_tags 2021-12-07 10:24:46 -05:00
f3eac179e6 Expanding broken bonds documentation, adding support for more create/delete bond commands, misc small edits 2021-12-06 17:27:25 -07:00
ac57c44552 update unit test for renamed bond style 2021-12-06 16:35:20 -05:00
6314290558 clarify docs for bond style fene/nm/split and rename to fene/nm 2021-12-06 16:21:12 -05:00
021a59965e convert to ASCII 2021-12-06 15:54:34 -05:00
f88009c626 correct comments 2021-12-06 15:50:16 -05:00
fa913c3e5b clarify r_0 versus sigma 2021-12-06 15:50:09 -05:00
a84c0a43bd address spelling issues 2021-12-06 15:35:32 -05:00
c48810c545 whitespace 2021-12-06 15:29:23 -05:00
ef186d9628 Updated pair_nm.rst 2021-12-06 15:09:45 -05:00
1238f1b273 correct multiple math typesetting errors, typos, and inconsistencies 2021-12-06 14:10:41 -05:00
274ffe1f48 Consolidate "Jiang" citations 2021-12-06 14:07:36 -05:00
b0305a09e9 whitespace 2021-12-06 13:49:13 -05:00
3d3b153b35 add proper symlink 2021-12-06 13:45:04 -05:00
d7c8cb3e48 fix documentation issues 2021-12-06 05:57:52 +02:00
e36029293a update documentation and examples 2021-12-04 17:38:29 +02:00
40258f8b9a Adding Steve's edits in documenation + associated changes in files 2021-12-03 16:12:31 -07:00
8aee8cc427 tweak documentation 2021-12-03 17:20:07 -05:00
8bc1f8b9ea whitespace 2021-12-03 17:16:54 -05:00
085de6f857 update test and add test using maxdelcs keyword with non-default values 2021-12-03 17:16:46 -05:00
c72771ae1d align with non-OpenMP version 2021-12-03 17:16:08 -05:00
6b28816c11 must set defaults for (optional) maxdelcs keyword, add consistency check 2021-12-03 17:15:44 -05:00
71edaca36c update unit test reference 2021-12-03 14:20:23 -05:00
2d6e4d4d79 Merge branch 'develop' into nm_split_styles 2021-12-03 14:18:07 -05:00
405fea44da convert from CR-LF to consistent line endings 2021-12-03 14:17:31 -05:00
859e0348ea fixed some issues 2021-12-03 17:45:31 +02:00
1dd4a67771 add keyword for userdefined maxdelcs 2021-12-03 17:32:08 +02:00
262c103aaa replacing hard-coded values with named constants 2021-12-03 15:46:00 +02:00
9a90803b23 Merge pull request #2984 from lammps/delete-atoms-porosity-group
Add new group arg for delete_atoms porosity
2021-12-02 16:07:49 -05:00
9307a376aa Merge pull request #3044 from ellio167/kim-lib-install-py
Adjustments to lib/kim/Install.py and docs
2021-12-02 15:43:03 -05:00
ef90089d8d Merge pull request #2867 from ndtrung81/gpu-newton-pair-on
Enabled newton pair on for gpu pair styles
2021-12-02 15:42:34 -05:00
2ba5aeec31 whitespace 2021-12-02 15:30:53 -05:00
4ecb894d9d simplify by using new API 2021-12-02 15:27:06 -05:00
637c6bf28a Merge branch 'develop' into delete-atoms-porosity-group 2021-12-02 15:15:47 -05:00
fc0aa0e844 Merge pull request #3043 from rbberger/container_updates
Container updates
2021-12-02 14:43:20 -05:00
42df189abd update .gitignore 2021-12-02 13:49:26 -05:00
2527eb5914 reorganize integration of sw/mod into the sw pair style docs 2021-12-02 12:47:18 -05:00
3dff9cf2c1 update false positives 2021-12-02 12:27:54 -05:00
8847f359ba integrate sw/mod pair style into documentation 2021-12-02 12:23:01 -05:00
7651be3e02 add force style test 2021-12-02 12:20:33 -05:00
ecd51ba4fe remove obsolete/redundant files 2021-12-02 12:20:10 -05:00
718a9e2bae whitespace 2021-12-02 12:13:12 -05:00
c33e6538bb simplification by deriving pair style sw/mod/omp from sw/omp instead of sw/mod 2021-12-02 12:12:57 -05:00
3bf171d753 move pair sw/mod/omp to correct location 2021-12-02 12:01:05 -05:00
30d3b2c209 merge rst files and add omp style 2021-12-02 15:46:00 +02:00
47f578bcca Fixup typos 2021-12-01 21:15:28 -06:00
65d31dfeb1 Adjustments to lib/kim/Install.py and docs 2021-12-01 16:49:00 -06:00
ca8dddf002 upgrade of lb/fluid fix
This includes documentation files in the rst format in the doc/src directory, examples in the examples/PACKAGES/latboltz directory and source files in the src/LATBOLTZ directory.
2021-12-01 14:31:57 -05:00
c03cdfdf60 Add libyaml-cpp dev package 2021-12-01 14:00:08 -05:00
195455faa8 Update GPU and NVIDIA container definitions 2021-12-01 13:48:54 -05:00
01ddfe95f0 prepare fix plumed to be compatible with version 2.8 2021-12-01 13:44:56 -05:00
e75312ddf6 Update ROCm containers to v4.5.0 2021-12-01 13:24:07 -05:00
ff919af3ef Update container bundled PLUMED to v2.7.3 2021-12-01 11:39:05 -05:00
4d4c04dd7c include support for building with plumed 2.7.3 and 2.6.5 2021-12-01 10:56:23 -05:00
e0770a2ac0 Add Ubuntu 20.04 OneAPI container definition 2021-12-01 10:41:01 -05:00
3bc36070a9 fix the invoking issue 2021-12-01 04:56:46 +02:00
8589ecd6c1 Merge pull request #3019 from stanmoore1/kk_update_3.5.0
Update Kokkos library in LAMMPS to v3.5.0
2021-11-30 16:58:38 -05:00
b3d7904120 Update docs 2021-11-30 11:12:30 -07:00
420c1097a9 Update Kokkos CMake file 2021-11-30 11:02:11 -07:00
b2410ee70b Update Kokkos library in LAMMPS to v3.5.0 2021-11-30 10:57:43 -07:00
c0b827e006 Merge branch 'kk_update_3.5.0' of github.com:stanmoore1/lammps into kk_update_3.5.0 2021-11-30 10:52:51 -07:00
b61fc38711 Merge branch 'develop' of github.com:lammps/lammps into kk_update_3.5.0 2021-11-30 10:52:21 -07:00
4a05628938 bug fixes from Doug Spearot 2021-11-30 08:22:38 -07:00
8556b71949 derived class of sw 2021-11-30 10:14:20 +02:00
7113334f99 Fixing typos in documentation 2021-11-29 16:19:45 -07:00
5fa185bfda Fixing bug in failing to update values across runs 2021-11-29 14:04:07 -07:00
f1c52ddb5c make documentation of a few pair styles more consistent with the rest 2021-11-29 15:57:11 -05:00
597054edf3 A modification to SW potential 2021-11-29 16:08:32 +02:00
ddf97fa8fc tweak error messages 2021-11-24 15:34:43 -05:00
2a68c6edba add (global) restart support to fix charge/regulation 2021-11-24 15:34:30 -05:00
ae0f4dcfc1 generate atom tags for newly created atoms, if tags are enabled. triclinic support. 2021-11-24 15:33:32 -05:00
4d19895a88 Merge branch 'master' into delete-atoms-porosity-group 2021-11-23 16:05:02 -07:00
2c5441257e Disable tersoff with shift flag tests for kokkos_omp 2021-11-23 15:03:48 -05:00
9517467113 Add missing KOKKOS suffix in PairTersoffZBLKokkos 2021-11-23 14:56:35 -05:00
0b87039fbb Skip MolPairStyle:hybrid-scaled test for kokkos_omp 2021-11-23 14:28:59 -05:00
2f6bf29adf Fixup kokkos_omp test for dpd 2021-11-23 14:06:02 -05:00
d365cc7dfc Add missing destroy_kokkos() calls in pair_lj_gromacs_kokkos.cpp 2021-11-23 13:57:53 -05:00
b603346a0d Skip kspace-pppm_ad test for kokkos_omp 2021-11-23 13:56:19 -05:00
51c627df76 Add SCOPED_TRACE for better test error messages 2021-11-23 12:22:01 -05:00
073b586eee Add EXPECT_POSITIONS() and EXPECT_VELOCITIES() test utils 2021-11-23 12:21:27 -05:00
32a53a1ae3 Use EXPECT_FORCES() in more testers 2021-11-23 11:46:33 -05:00
615b7ceca2 Simplify EXPECT_FORCES() utility function 2021-11-23 10:59:40 -05:00
946fd6fb55 Update CMake utility function get_lammps_version()
With the introduction of LAMMPS_UPDATE, version.h is no longer a single line
file. With this change the CMake utility will only process the LAMMPS_VERSION
line. Fixes issue #3038
2021-11-23 10:46:22 -05:00
68360b9335 Add test utility method EXPECT_FORCES() 2021-11-22 16:27:18 -05:00
1a4511bb8d Merge pull request #3034 from akohlmey/mixing-info
Provide information about pair_coeff mixing and improve hybrid docs
2021-11-22 16:22:24 -05:00
62b236a7cd Use platform::path_join in unittest tree and remove redundant code 2021-11-22 15:34:23 -05:00
3d650a6bf7 Add test utility method EXPECT_STRESS() 2021-11-22 15:24:41 -05:00
ef2e51b344 whitespace fixes 2021-11-22 14:58:41 -05:00
6b605e932b Merge branch 'develop' into mixing-info 2021-11-22 14:58:19 -05:00
a83329a1a7 Merge pull request #3032 from GenieTim/compute-pair-distance-vector
Add dx, dy and dz computes to compute bond/local and property/local
2021-11-22 14:50:15 -05:00
bb127603ff Use platform::unlink in unittests 2021-11-22 14:40:51 -05:00
a6ccdd72ec Move platform::rmdir docstring to right location 2021-11-22 11:49:09 -05:00
0931da9cad Cleaned up comments in fix_gpu.cpp 2021-11-20 08:38:13 -06:00
a06c4767a0 Merge branch 'upstream' into gpu-newton-pair-on 2021-11-20 08:30:39 -06:00
f135d8bb4e Fix issue where direction correction in compute bond/local might not have been correct 2021-11-20 14:34:24 +01:00
a354a763bb Fix output capture mismatch 2021-11-19 17:14:52 -05:00
79feba1a25 try fix host fused
Change-Id: If54da165cf0488be39e9c4971bff3edf39d5b067
2021-11-19 17:09:26 -05:00
dcb32dc9f5 Fix no return warnings
Change-Id: I2ae537d5bfd5258b87bee372896e3ffd030772ab
2021-11-19 16:39:21 -05:00
9eea03aeb7 fix device fused QEQ
Change-Id: I7ed12d55ca838f9b60cc1292f127067050e8c88b
2021-11-19 16:39:17 -05:00
780cf82bb0 First version of kokkos_omp test variant 2021-11-19 16:23:05 -05:00
2c8c33fb9a add slow tag to about 60 tests that take about as much time as the 430 others 2021-11-19 15:59:19 -05:00
f8a94a4f10 Minor fixes to align w.r.t upstream
Change-Id: I4d8bbfe286c986f5bc603041b04f272b3f537476
2021-11-19 15:58:25 -05:00
00cbb633bf Implement host MPI for fused QEQ
Change-Id: I3278a72878fb7cdb64a059aaf025c039dc0d71e5
2021-11-19 15:41:37 -05:00
fb379dab15 Fused CG passes 1 & 2 for QEQ solver
Change-Id: I5fa396d8a2f2713712056a264d2bb05b7321dc1a
2021-11-19 15:41:37 -05:00
2a1823f59d add a missing CBRT
Change-Id: I5f70816a2b5ac07ba88511cf3bf14017043b5e76
2021-11-19 15:41:37 -05:00
8e140b4fcd Use tuned blocking sizes from experiment
Change-Id: I08a837d9632a45dabd3331108314d3ffc328338c
2021-11-19 15:41:37 -05:00
b2dae36eb9 discuss mixing informational message 2021-11-19 14:36:00 -05:00
3d4b0121cb improve pair hybrid documentation with respect to mixing 2021-11-19 14:18:55 -05:00
23d40a1d61 report how many pair_coeff settings parameters were generated from mixing 2021-11-19 13:43:32 -05:00
ff2751bf91 Merge pull request #10 from arghdos/fix_missing_hd
Minor fix for compilation bug
2021-11-19 10:41:26 -07:00
f5a03cb0c6 Minor fix for compilation bug
Change-Id: I79703cd20b12905855a2b8ec263665dd5be77604
2021-11-19 12:37:23 -05:00
b55ea05f3b Add some example tags for force style tests 2021-11-19 09:23:47 -05:00
4ac351eba6 Add tags to force-style tests
Adds an optional "tags" entry in the force style test YAML. This is a
comma-separated list of keywords, which are parsed by CMake and added as labels
for CTest.  This allows more fine-grained filtering of tests. Any
newly-generated YAML file automatically adds the "generated" tag.
2021-11-19 09:23:31 -05:00
74577fa584 Fix issue where direction correction in compute pair/local might not have been correct 2021-11-19 08:08:07 +01:00
7f17c55198 Merge branch 'develop' of https://github.com/lammps/lammps into compute_phase 2021-11-18 14:08:01 -08:00
4b6090a8cb Add direction consistency check to pair/local too 2021-11-18 19:28:51 +01:00
36e4e3e746 Add ddx, dy and dz computes to compute bond/local and property/local 2021-11-18 17:22:32 +01:00
15f1c2d960 Fix inaccurate error message 2021-11-18 08:50:09 -07:00
94b11964f8 Write dump header after sort to fix incorrect atom count for multiproc 2021-11-18 08:32:41 -07:00
5616336d5e Allow sorting with reorderflag for more than 2 billion atoms 2021-11-18 07:59:45 -07:00
47f3f9d44a Merge branch 'develop' of github.com:Iximiel/lammps into develop 2021-11-18 14:36:45 +01:00
c918b6fbcc removed example dump file 2021-11-18 14:36:38 +01:00
8faa750f21 Merge branch 'lammps:develop' into develop 2021-11-18 14:34:12 +01:00
4646671e70 added examples 2021-11-18 14:32:39 +01:00
a759987515 added examples 2021-11-18 14:31:21 +01:00
a5df494176 added examples 2021-11-18 14:30:26 +01:00
b06a70c33c corrected some errors in the manual 2021-11-18 12:40:10 +01:00
29471bd425 Merge branch 'develop' of github.com:lammps/lammps into big_dump_sort 2021-11-17 14:09:51 -07:00
7544f1bcf8 Fixed comm setup bug and external forces bug, still must look into if package omp needs to set external force flag to zero 2021-11-17 11:48:35 -08:00
229ce0a61b Merge pull request #3027 from yihengwuKP/fix-reorder-remd
Fix the indent and ot bugs in reorder_remd_traj.py
2021-11-17 14:11:12 -05:00
377b5b4ab3 Merge pull request #3020 from akohlmey/collected-small-changes
Collected small changes and fixes
2021-11-17 14:00:13 -05:00
d178a5ffa3 Extended test script 2021-11-17 13:12:44 +00:00
ef30e3bd35 clarifications and corrections for the discussion of the main git branches 2021-11-17 06:58:44 -05:00
2b480f87f1 fix segfault when using atom style smd as part of a hybrid style
also remove redundant for clearing
2021-11-16 21:48:33 -05:00
d576b69dbc plug memory leaks 2021-11-16 21:41:08 -05:00
d0a4c4467f replace replicated functionality with shared code in base class 2021-11-16 13:53:52 -05:00
ed8c86d248 correct uninitialized data access bug due to shadowing of a base class member 2021-11-16 10:46:09 -05:00
1c1cd60baf Fix the indent and ot bugs in reorder_remd_traj.py 2021-11-15 18:21:17 -06:00
766f975b74 Removed the newton checks in the gpu pair styles; reverted to mixed precision in Makefile.cuda 2021-11-13 07:00:12 -06:00
906e78c198 Merge branch 'gpu-newton-pair-on' of https://github.com/ndtrung81/lammps into gpu-newton-pair-on 2021-11-13 06:39:23 -06:00
65fb78b6d5 Finally updated the nm_split_styles, removed hard-coded r0=2^1/6 cutoff 2021-11-12 14:44:18 -05:00
7a914c84d7 again correction in the documentation 2021-11-12 16:25:48 +01:00
0eb227e7de working on the documentation 2021-11-12 14:55:48 +01:00
fe5f00bbea Updating the documentation, now 'make html' do not give errors 2021-11-12 14:37:16 +01:00
bfc34023b1 working on the documentation 2021-11-12 12:01:05 +01:00
cfe08ba55f working on the manual 2021-11-12 10:32:04 +01:00
c488e912e6 adding the pair_smatb to lammps documentation 2021-11-11 17:01:03 +01:00
80efc8839a fixed a grammar mistake 2021-11-11 16:36:48 +01:00
bdc4f7fb18 styled the headers 2021-11-11 16:27:09 +01:00
1c0e6578b6 changed some comments 2021-11-11 16:12:26 +01:00
4f4b18ab7e addig smatb pairs 2021-11-11 16:06:42 +01:00
feac637a2a Fix compile issues on CPU 2021-11-10 15:31:49 -07:00
7625b9707b Update to latest upstream develop 2021-11-10 15:14:24 -07:00
f733453f05 Intpos (#11)
* hbond comm added for rsq_hb

* lrefpos removed, extract scaled for oxDNA1

* Update pair_oxdna_hbond.cpp

* nxyz extract scaled across DNA2/RNA2

* oxDNA2/RNA2 updated to match oxDNA styling from upstream merge

* whitespace corrections

also removed unnecessary local unit vector from oxRNA2_xstk

* whitespace correction in oxdna_coaxstk
2021-11-10 09:25:13 +00:00
3b30fbb218 Merge branch 'lammps:develop' into intpos 2021-11-10 09:13:00 +00:00
367c9dff05 Compilable kokkos dynamical matrix command 2021-11-09 15:21:39 -08:00
acb1c8e7f2 Moving update/special/bonds into bond style to ensure correct fix ordering 2021-11-07 17:55:53 -07:00
25db8a21bc account for increased floating point errors when summing numbers to zero 2021-11-07 08:29:16 -05:00
ac6654cf0c skip MPI tests if they would be oversubscribing the available processors 2021-11-07 08:28:16 -05:00
16c50b3873 whitespace 2021-11-07 08:27:25 -05:00
7c5640c1c9 we may call ->set_molecule() only in MOLECULE mode 2021-11-05 16:27:58 -04:00
49258e9301 add missing assignment 2021-11-05 16:19:19 -04:00
03e3dfa94d Merge branch 'develop' of https://github.com/lammps/lammps into kk_update_3.5.0 2021-11-05 13:46:50 -04:00
d1403c62c8 update restrictions note for dump_modify 2021-11-05 10:56:54 -04:00
ebb3dcd9ff Remove error message 2021-11-04 20:20:07 -06:00
07a25144ee Remove error from dump.h 2021-11-04 20:06:30 -06:00
136c15a8ba Allow dump sort to work with more than 2 billion atoms 2021-11-04 19:59:48 -06:00
a4ceda9706 Merge pull request #2940 from akohlmey/multi-config-support
Support multi-config builds with CMake
2021-11-04 15:21:58 -07:00
5e7f2cf54f Changed tab spacing from 4 to 2, to be in line with lammps standards 2021-11-04 14:33:16 -07:00
18c78e1625 Merge branch 'master' into OptimizedDynamicalMatrix 2021-11-04 14:23:50 -07:00
b3c5f6a4fd whitespace 2021-11-04 16:48:29 -04:00
935c17f02e Document multi-configuration build support in CMake 2021-11-04 16:32:21 -04:00
1a940e052e add support for and apply clang-format to lammps-shell code 2021-11-04 15:55:28 -04:00
aab4f71019 Merge branch 'develop' into multi-config-support
# Conflicts:
#	unittest/force-styles/test_error_stats.cpp
2021-11-04 15:50:49 -04:00
2cd862e4a2 Update lebedeva potential file and docs based on email on mailing list
https://matsci.org/t/lammps-users-webpage-and-parameter-file-for-the-lebedeva-potential/39059
2021-11-04 15:24:41 -04:00
8e89c7c654 correct unit description of eta_n0 parameters. fixes #3016 2021-11-04 15:24:41 -04:00
825945f783 mention that dump sorting is limited to less than 2 billion atoms 2021-11-04 15:24:41 -04:00
461a7afc22 remove PYTHON from "most" cmake preset.
The PYTHON package cannot be compiled without the python development
support being installed, so it must not be in the "most" preset
2021-11-04 15:24:41 -04:00
3ec3085f39 Merge pull request #3017 from akohlmey/portability-improvements
Portability improvements
2021-11-04 12:21:11 -07:00
564098e629 Update Kokkos library in LAMMPS to v3.5.0 2021-11-04 12:45:59 -06:00
0909b4da92 Updated dynamical matrix command to work with intel potentials 2021-11-04 11:35:31 -07:00
7c80911f66 whitespace 2021-11-03 15:23:29 -04:00
439f997a10 skip test for file not readable due to permissions on windows 2021-11-03 14:54:38 -04:00
62fc7b6fa0 small tweaks to make replacing the CMakeLists.txt file work as expected 2021-11-03 14:44:16 -04:00
37dfc9e141 simplify by not trying to use fetchcontent but do all steps manually
as it turns out, fetchcontent is calling external_project internally at
some point which to avoid is why this function was started in the first place
2021-11-03 14:43:18 -04:00
b7bf60ea53 use the portable platform::unlink() instead of unlink() 2021-11-03 14:26:50 -04:00
b86a3a5d6b Added missing } 2021-11-03 10:24:22 -07:00
5241f93641 Update third order format 2021-11-03 10:12:17 -07:00
35ff47411b Merge branch 'multi-config-support' of github.com:akohlmey/lammps into multi-config-support 2021-11-03 12:35:40 -04:00
7f0b2334a5 update plugin loader test 2021-11-03 11:52:32 -04:00
b95e12bb6c add additional function argument where we can supply our own CMakeLists.txt file 2021-11-03 11:50:39 -04:00
eb3f928f31 tweak epsilon for portability with windows 2021-11-03 10:54:40 -04:00
1ad982aa85 improve portability of unit test code for windows compilers 2021-11-03 10:54:21 -04:00
50f39cd752 implement and use a platform neutral abstraction of unsetenv(3) 2021-11-03 10:53:45 -04:00
e8f6024eae Fixed more whitespace issues 2021-11-03 11:46:56 +00:00
fc4fdd09ef Fixed more whitespace issues 2021-11-03 11:44:29 +00:00
a37a113044 Merge branch 'lammps:develop' into intpos 2021-11-03 11:02:01 +00:00
b8970366e0 Fixed whitespace issues 2021-11-03 10:59:04 +00:00
7ba211a727 Update dynamical matrix format 2021-11-02 21:57:55 -07:00
a9c6f943e1 correct test comparisons 2021-11-02 23:07:44 -04:00
6479116419 Merge branch 'develop' into multi-config-support 2021-11-02 16:39:12 -04:00
515ef7bece Merge pull request #3015 from lammps/dump-image-doc
Move dump_modify options specific to image/movie to dump image doc page
2021-11-02 13:22:27 -07:00
80579593e0 Merge pull request #3014 from akohlmey/collected_small_changes
Collected small changes and bugfixes
2021-11-02 13:02:31 -07:00
b044a2f88b switch to https protocol for cloning MathJax
https://github.blog/2021-09-01-improving-git-protocol-security-github/
2021-11-02 15:26:45 -04:00
d3af16c1fd Merge branch 'develop' into collected_small_changes
# Conflicts:
#	src/fix_vector.cpp
2021-11-02 14:41:16 -04:00
71d48bc48a Merge branch 'cmake_fixes' of https://github.com/pzeiger/lammps into collected_small_changes 2021-11-02 14:36:59 -04:00
91e6586e05 reorder 2021-11-02 14:35:36 -04:00
817e38fe68 change references to git:// protocol for accessing github to https:// 2021-11-02 14:33:21 -04:00
278e531c14 fix typo 2021-11-02 14:33:00 -04:00
f5626a2b9d Few more merge conflicts 2021-11-02 12:29:49 -06:00
175f967051 change references to git:// protocol for accessing github to https:// 2021-11-02 14:25:57 -04:00
59c060cc0e switch to https protocol for cloning MathJax
https://github.blog/2021-09-01-improving-git-protocol-security-github/
2021-11-02 14:14:08 -04:00
679132b607 Replacing some needed header files 2021-11-02 12:10:20 -06:00
0439671e86 Merge pull request #3001 from akohlmey/modify-fix-compute-accessors
Add accessor functions to `Modify` and `Domain` that do not require using class internal data structures
2021-11-02 11:02:01 -07:00
628091c510 add reference instead of replicating headline 2021-11-02 13:33:08 -04:00
a58242f24b couple last tweaks to make the pages easier to navigate 2021-11-02 09:27:27 -06:00
dfc68e3c75 add header for dump_modify command summary 2021-11-02 08:49:34 -04:00
cf968ef286 Intpos (#10)
* hbond comm added for rsq_hb

* lrefpos removed, extract scaled for oxDNA1

* Update pair_oxdna_hbond.cpp
2021-11-02 09:52:56 +00:00
bb176318fe Merge branch 'lammps:develop' into intpos 2021-11-02 09:48:24 +00:00
d7f7835069 Fix merge conflicts, minor style fixes 2021-11-01 18:13:06 -06:00
e3c9d7936b Merge branch 'develop' of github.com:lammps/lammps into coo_opt 2021-11-01 17:00:13 -06:00
7a228eedd2 move dump_modify options specific to image/movie to dump image doc page 2021-11-01 15:16:39 -06:00
f05807f38e Revert 647380a 2021-11-01 14:34:50 -06:00
3d2a97b4a9 Fix bug in Kokkos neighborlist where stencil wasn't updated for occasional list 2021-11-01 14:07:04 -06:00
7e08525ce3 Merge branch 'master' of https://github.com/lammps/lammps into coo_opt 2021-11-01 12:57:26 -06:00
9caad2be4d update security statement 2021-11-01 09:59:38 -04:00
d5bfa09faa modernize argument parsing 2021-11-01 09:19:33 -04:00
0bc9f887ec fix index error 2021-10-31 19:46:37 -04:00
6b3ddb8a72 fix logic bug 2021-10-31 19:29:12 -04:00
2e72d6b5a5 Merge branch 'develop' into modify-fix-compute-accessors 2021-10-31 18:25:42 -04:00
bbbde3cc15 fix indexing bug 2021-10-31 18:10:32 -04:00
3887b08c1d update new LAMMPS paper citation info 2021-10-31 18:10:32 -04:00
64764cc7b0 clarify the difference between C++ and Fortran versions of MEAM 2021-10-31 18:10:31 -04:00
4f0f791417 use new API, join loops, modernize 2021-10-31 17:37:43 -04:00
591af3f560 Eliminated obvious but hard to find error in neighbor list request 2021-10-29 07:49:15 -06:00
dcf521be53 Fixed a few more problems, but still no joy 2021-10-29 06:34:32 -06:00
c5d6a310d8 Fixed cmake build script for QUIP in cases where MATH_LINKOPTS variable not set 2021-10-29 11:32:03 +02:00
4395530756 bugfix 2021-10-28 23:38:32 -04:00
ac4f2b2a32 use updated APIs 2021-10-28 23:25:04 -04:00
212d699078 implement Domain::get_region_by_id() 2021-10-28 23:24:38 -04:00
b15c02e3cd Merge pull request #3012 from akohlmey/reserved_data_section_keywords
Check for reserved data section keywords - update fix processing for data files
2021-10-28 19:52:27 -04:00
ed5c0e74d4 Merge pull request #3011 from stanmoore1/kk_bug
Revert some changes in 7960a2d
2021-10-28 19:50:27 -04:00
9ae05facb8 Updating file locations to master locations 2021-10-28 16:32:04 -07:00
440a517a5e update fix rigid + property/atom example to avoid runtime failure 2021-10-28 17:01:12 -04:00
7dbbb9a0e6 refactor fix cmap to use current style and modernized parsing 2021-10-28 16:54:53 -04:00
adf1beea74 add mechanism to check for known data file section names
using this mechanism we can reject custom section names that will
conflict with existing section names and thus avoid misleading errors.
apply this also to fix property atom, where the section name is
determined by the fix ID.
in addition, allow to specify NULL as section name, which will use
the fix ID.
2021-10-28 14:23:27 -04:00
e734eb837f Revert some changes in 7960a2d7d2 2021-10-28 08:39:17 -06:00
608ad0bca0 Merge branch 'lammps:develop' into intpos 2021-10-28 09:48:17 +01:00
c8512249b7 Merge branch 'develop' into modify-fix-compute-accessors
# Conflicts:
#	src/PLUGIN/plugin.cpp
2021-10-27 21:14:05 -04:00
4a048e3f57 Merge pull request #3008 from akohlmey/next_patch_release
Update version strings for next patch release
2021-10-27 20:19:33 -04:00
f72b532f0f Merge pull request #3009 from rbberger/collected_small_changes
Collected small changes
2021-10-27 19:31:22 -04:00
95d08c6667 update all makefiles to use DYN_LIB variable from master makefile 2021-10-27 17:41:16 -04:00
18a7c15441 forward DYN_LIB variable to Makefile.mpi 2021-10-27 17:21:38 -04:00
9424571ce2 Use correct sizeof in memset 2021-10-27 17:01:03 -04:00
153e77864d Use LAMMPS_THIRDPARTY_URL variable for EIGEN3_URL 2021-10-27 16:45:08 -04:00
4ea848b4e9 Merge pull request #3002 from akohlmey/more-clang-tidy-refactoring
Third chunk of semi-automatic refactoring with clang-tidy
2021-10-27 16:38:28 -04:00
2e9cdfa6dc Merge remote-tracking branch 'origin/develop' into collected_small_changes 2021-10-27 16:38:01 -04:00
51bd05bb77 Make update_downloads.sh detect new URLs and report error 2021-10-27 16:33:21 -04:00
addb087aac Merge branch 'lammps:develop' into intpos 2021-10-27 21:29:56 +01:00
c9da75ef85 Merge pull request #2968 from yury-lysogorskiy/feature/ml-pace-multispecies
Add multi-species support to ML-PACE package
2021-10-27 16:04:15 -04:00
a329de81bf Update source URLs for offline compilation tool 2021-10-27 15:56:28 -04:00
ae3e6e423a Fix loop level 2021-10-27 13:51:41 -06:00
2ca7dcb853 Use lighter construct than powint 2021-10-27 13:41:29 -06:00
28d86578a3 update version strings for next patch release 2021-10-27 15:26:58 -04:00
da3115be2c Merge branch 'develop' into more-clang-tidy-refactoring
# Conflicts:
#	src/MANIFOLD/manifold_thylakoid.cpp
2021-10-27 15:23:57 -04:00
2d52821cf5 Update from develop 2021-10-27 13:14:29 -06:00
bd053d6841 Merge pull request #3004 from akohlmey/collected_small_changes
Collected small changes and bugfixes for the next patch release
2021-10-27 14:24:37 -04:00
b5e3d69c82 change downloaded archive name to more closely follow the confvention 2021-10-27 14:23:53 -04:00
c0c45be357 bugfix Fedora CMake compilation 2021-10-27 17:19:18 +02:00
9895d8436a update/clean downloading the ML-PACE/v.2021.10.25.tar.gz 2021-10-27 16:03:44 +02:00
a063209b2b update URL and filename for offline scripts 2021-10-27 08:31:36 -04:00
c911cd52bb whitespace 2021-10-27 08:24:07 -04:00
11ee3759df use consistent formatting 2021-10-27 08:22:18 -04:00
4957c8e382 Merge branch 'develop' into collected_small_changes 2021-10-27 08:20:19 -04:00
cc3349728b Merge pull request #2997 from stanmoore1/kk_omp_target
Add preliminary support for Kokkos OpenMPTarget backend
2021-10-27 08:15:45 -04:00
45359847f2 Merge pull request #3007 from masterleinad/avoid_retrict_icpx
Don't use -restrict for icpx
2021-10-27 08:10:09 -04:00
1247f4d67b add function to print information about available compressions tools 2021-10-26 20:00:55 -04:00
f0318fb874 try to make changing LMP_INC settings less confusing to inexperienced people 2021-10-26 19:16:13 -04:00
3376f3daa8 Remove unused import 2021-10-26 16:48:57 -04:00
008013ddfb Explicitly check for None 2021-10-26 15:19:46 -04:00
fe9dfc6095 follow Python style guidelines 2021-10-26 14:17:31 -04:00
3d9e4638a7 Don't use -restrict for icpx 2021-10-26 13:08:03 -04:00
3044923cbf less ambiguous tests for arguments being not None 2021-10-26 12:12:21 -04:00
f783958e39 add test for create_atoms() 2021-10-26 12:11:28 -04:00
20fec49635 Intpos (#8)
* use the term 'website' consistently (and not also 'web site')

* update for clang-format

* clarify

* split off the programming/submission style guide to a separate file

* Updates to support ROCm 4.3 in GPU package

* update and reorder the description of the process for submitting contributions

* correct and clarify Python compatibility

* refactor style guide and integrate text from issue

* update contribution guidelines for github

* mention when testing may be added

* integrate file with description of include file conventions

* update github workflow doc

* adapt section about domain decomposition from paper

* use a more compact image

* add communication section

* update man page with missing flags and correct URLs

* improve the load imbalance viz

* add section about neighbor list construction

* break large file into multiple smaller files by section and add toctree

* fix typo

* add section about parallelization in the OPENMP package

* add -skipruin to help message

* add discussion of OpenMP parallelization

* spelling

* add section on PPPM

* use larger version of FFT grid comm image

* minor tweak

* Update compute angle doc page

* Update Singularity definitions to use ROCm 4.3

* Update CUDA container definitions to CUDA 11.4

* Update container definitions to include PLUMED 2.7.2

* Update more definition files

* RHEL8/CentOS8 PowerTools is now powertools

* Add Rocky Linux 8 container definition

* Add omega field to numpy_wrapper detection

* Return None in case of null pointer

* Add more atom fields in numpy_wrapper and correct csforce size

* must not clear force array. will segfault in hybrid atom styles

* update example for dynamically loading LAMMPS with current library API

* update example to use current library interface. No need to use the namespace.

* add note to README files about age of the example

* simplify building shared libs on windows

* detect a few more compilers

* Revert "simplify building shared libs on windows"

This reverts commit fa3429ab02.

* step version strings for next patch release

* fix mingw 32-bit vs 64-bit craziness

* detect C++20 standard

* build "fat" cuda binaries only with known toolkits

* spelling

* Try to improve the pair style hybrid docs

This specifically tries to avoid the ambiguous use of "mixing" and
clarify that similar is still different when pair styles are concerned.
See discussion here: https://matsci.org/t/confusion-about-mixing-and-pair-coeff-section/38317/3

* spelling

* use nullptr

* use symbolic constant

* small optimization

* use cmath header instead of math.h

* use explicit scoping when virtual dispatch is not available.

* cosmetic changes

* simplify/optimize code

* simplify

* Bugfix from Trung for crashes in pppm/gpu without local atoms

* fix typo

* refer to "XXX Coeffs" sections consistently

* small tweaks from static code analysis

* fix small bug

* small tweaks

* simplify and modernize code a little

* use correct data type for MPI calls

* simplify/modernize

* remove dead code

* about 1.5x speedup for pair style comb3 by using MathSpecial::powint()

* small performance optimization for pair style comb

* simplify

* modernize

* simplify

* removed dead code, reformat

* modernize

* use explicit scoping when virtual dispatch is not (yet) available

* reformat for increased readability

* move misplaced #endif and make code more readable

* make sure err_flag is initialized

* modernize

* remove redundant code: all struct members are initialized to defaults in the constructor

* enforce initialization and thus silence compiler warnings

* fix typo

* provide more comprehensive suggestions for GPU neighbor list errors

* add utils::logical() function to complement the *numeric() functions

* Add stable link in docs

* revert modernization change (for now)

* remove unused variable

* include EXTRA-DUMP in "most"

* small tweaks

* simplify

* Add log file printing of KIM search directories in 'kim init'

* use clang-format on kim_init.cpp

* Improve style in response to Axel's suggestions

* initialize all members

* format changes

* simplify. use utils::strdup() more.

* small corrections

* apply fix from balance command to fix balance

* dead code removal

* reformat strings

* implement utils::current_date() convenience function to reduce replicated code

* update list and order of include files from include-what-you-use analysis

* handle changes in GAP repo

* a few remaining updates to include statements

* expand mapping to handle "style_*.h" header files correctly.

* add support for compilation of OpenCL loader on FreeBSD

* more iwyu header updates

* small correction

* fix typo

* a few more (final?) IWYU updates

* expand tests for numeric values

* return int instead of bool to minimize code changes

* fix spelling issues

* some applications of the new function

* fix typo

* Change "offsite" to "external" to correct broken URLs to lammps.org

* improve error message

* insert missing atom-ID

* convert yes/no on/off flags in the package command(s)

* update version strings

* update death tests for change in error message

* correctly specify the destructor function name.

* apply utils::logical() to more commands

* apply utils::logical() in more places

* for consistency with utils::logical()

* only accept lower case to be consistent with the rest of the input

* a few more converted commands and updates for unit tests

* modernize and fix some memory leaks

* adjust for compatibility with C++20 compilers

* do not downgrade C++ standard when adding the KOKKOS package

* undo "risky" C++20 related changes

* mention how to set the path to the fftw3_omp library

* correct paths to downloaded PACE package sources in lib

* Update CMake variable descriptions

* possible workaround for some GPU package neighbor list issue

* final chunk of changes to apply utils::logical()

* update suffix command unit tests

* update citation info with new LAMMPS paper reference and acknowledge it

* update some formulations as suggested by @sjplimp

* add check and suitable error message when fp64 is required but not available

* do not call memset on a null pointer

* fix string formatting bugs in fix npt/cauchy

* must use a soft core potential to avoid a singularity

* in floating point math a*b may be zero even if both a>0 and b>0

* use proper integer type for atom IDs

* Building voro++ lib as part of LAMMPS requires the "patch" program

* silence output from hwloc when launching LAMMPS

* detect double precision support according to OpenCL specs (1.2 and later)

* Fix bug in Kokkos pair_eam_alloy

* calling fwrite() with a null pointer causes undefined behavior. avoid it.

* cosmetic

* apply current include file conventions

* include zstd libs in windows build

* update .gitignore for recent additions

* make check more obvious

* step version strings for stable release

* Adjust for kim-api bug

* cleaner variant of version check, add directory numbering

* hbond comm added for rsq_hb

* rsq_hb removed, exyz added (no MPI comm yet)

* Fix Colvars output files not written with "run 0"

See:
  https://github.com/Colvars/colvars/commit/ff2f0d39ee5
which fixes a bug introduced in:
  https://github.com/Colvars/colvars/commit/1e964a542b

The message applies to NAMD, but the logic used in LAMMPS when handling "run 0" is very similar.

The Colvars version string is also updated, however this commit does not
include other changes, such as the following:
  https://github.com/Colvars/colvars/pull/419
which were not fully completed before the LAMMPS Summer 2021 finalization.

* add -std=c++11 to a number of machine makefiles for traditional make build

* copy request to mention lammps.org form home page instructions for citing

* be more specific about what the name of the LAMMPS executable can be

also provide a few more examples without a machine suffix

* small tweak

* remove references to USER packages, have package lists alphabetically sorted

"make package-update" or "make pu" must be processed in the special order
because of inter-package dependencies

* make "make package-update" and "make package-overwrite" less verbose

* freeze versions of pip packages for processing the manual of the stable version

this way we avoid surprises in case one of the packages get updated
to an incompatible new version. these are know-to-work versions.

* make sure the one_coeff flag is applied to sub-styles

since the check for Pair::one_coeff was moved to the Input class (to
reduce redundant code), hybrid substyles could "escape" that requirement.
Thus checks have to be added to the hybrid coeff() methods.

* Prevent neigh list from copying "unique" stencil/bin

* compiling ML-HDNNP with downloaded n2p2 lib requires the sed command

* detect and error out if BLAS/LAPACK libraries variables are a list

This will cause external project compilation to fail since the semi-colons
are converted to blanks, but one cannot properly escape the variables.
So far the only viable solution seems to be to convert the scripts from
using ExternalProject_add() to FetchContent and add_subdirectory()

* portability improvement

* must have patch command available to compile ScaFaCoS

* only need Tcl not Tk to compile Tcl swig wrapper

* correctly handle Tcl stub library if available

* add missing keyword

* hbond_pos added, MPI and values ok, Pair time slow.

* make C library example work with strict C compilers

* silence compiler warnings

* make Nevery keyword per-reaction

* recover cross-compilation with mingw64

* reverted wrong approach from last commits

- now intpos flag
- hbond_pos added
- (a/b)xyz WiP

* lrefpos working in serial, MPI wrong

* attempt to merge doubles into n(xyz)[3]

* save

* Update pair_oxdna_hbond.cpp

* hbond now working for MPI, comming lrefpos

* extracting nxyz in excv/bond working

Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
Co-authored-by: Richard Berger <richard.berger@temple.edu>
Co-authored-by: Ryan S. Elliott <relliott@umn.edu>
Co-authored-by: Stan Gerald Moore <stamoor@sandia.gov>
Co-authored-by: Giacomo Fiorin <giacomo.fiorin@gmail.com>
Co-authored-by: Jacob Gissinger <jrgiss05@gmail.com>
Co-authored-by: Oliver Henrich <ohenrich@users.noreply.github.com>
2021-10-26 16:45:44 +01:00
2a9a8adfc0 apply clang-format 2021-10-26 06:41:00 -04:00
886d6702c4 remove dead code 2021-10-26 06:38:47 -04:00
5141a80142 remove useless logical 2021-10-26 06:38:35 -04:00
30001f2698 use preprocessor 2021-10-26 06:37:59 -04:00
4551bf4bc0 yaml-cpp-pace: bugfix in CMakeLists.txt 2021-10-26 10:19:11 +02:00
8bf016eaef use references when looping over fixes from list 2021-10-25 21:41:57 -04:00
52d99700ec Download and compile modified YAML-cpp 0.6.3 in namespace YAML_PACE 2021-10-25 17:34:08 +02:00
d0416757b7 simplify using new APIs 2021-10-24 18:00:15 -04:00
a782f8f8e0 more specific warning about atoms inability to move 2021-10-24 17:59:30 -04:00
6d5506353b Eliminated a few mistakes,s till not working 2021-10-24 15:45:24 -06:00
29a44e7065 remove parser_error exception class ambiguity completely 2021-10-23 04:25:20 -04:00
71a24580b8 remove parser_error exception class ambiguity completely 2021-10-23 04:24:54 -04:00
1450af8ba1 Latest version of PairGrid 2021-10-22 17:01:20 -06:00
8a9117d511 add configurations for intel compilers 2021-10-22 16:32:16 -04:00
6f14cbf167 Small adjustments for compiling within VS 2021-10-22 16:32:02 -04:00
7abcdc8c4c use anonymous namespace to manage visibility of multiple copies of parse_error class 2021-10-22 16:16:08 -04:00
47eab736bb use anonymous namespace to manage visibility of multiple copies of parse_error class 2021-10-22 16:14:06 -04:00
c08093f768 modernize, avoid static buffers, use utility functions, remove debug code 2021-10-22 16:00:01 -04:00
7960a2d7d2 Fix link error with fix_acks2_reaxff_kokkos 2021-10-22 19:13:31 +00:00
b6c610ada2 tweak epsilon for portability to MSVC compilers 2021-10-22 14:12:19 -04:00
89808266dd remove obsolete file 2021-10-22 13:46:13 -04:00
4edd5238b1 improve putenv() and unsetenv() implementation on windows by using _putenv_s() 2021-10-22 13:21:45 -04:00
0901540fda Remove deprecated Kokkos code 2021-10-22 16:41:26 +00:00
3cce6b46e2 Fix thread divergence issue when not using CUDA/HIP 2021-10-22 16:20:37 +00:00
7318aa49d8 set define for static linkage to avoid issues linking libyaml on windows 2021-10-22 12:12:20 -04:00
614b751f5f Add missing brace 2021-10-22 16:09:46 +00:00
228187978d Merge branch 'develop' of https://github.com/lammps/lammps into kk_omp_target 2021-10-22 16:08:00 +00:00
5c9a4f4be0 implement platform abstraction of unsetenv() 2021-10-22 11:05:32 -04:00
69f5e1feac Enable testing for Debug configurations in VS 2021-10-22 09:25:44 -05:00
bd9ad288b9 recover compilation of test on windows 2021-10-22 09:13:07 -05:00
d7d1c84b35 only build a custom YAML lib, if not installed 2021-10-22 08:56:00 -04:00
ced96441ef update hash after change in repo 2021-10-22 08:44:30 -04:00
ad81dd3960 recover original new style library target names through ALIAS library definitions 2021-10-22 08:23:49 -04:00
b57c8bda51 build yaml library using custom CMakeLists.txt file 2021-10-21 23:39:56 -04:00
8d6461ffcd whitespace 2021-10-21 23:39:14 -04:00
a796d6b824 fix logic bug 2021-10-21 21:04:15 -04:00
7cc5092547 make portable to MSVC++ 2021-10-21 21:01:59 -04:00
7d16078cf4 always use .so suffix for plugins 2021-10-21 19:35:48 -04:00
3869e3fce8 adjust for compiling on windows 2021-10-21 19:27:59 -04:00
6ad03498c3 make finding plugins for testing multi-config compatible 2021-10-21 19:22:01 -04:00
e75757007e always compile position independent code 2021-10-21 19:21:34 -04:00
6e3fcce9e1 move download and extract code into function 2021-10-21 17:35:49 -04:00
d8db9dd3ac Merge branch 'develop' into multi-config-support
# Conflicts:
#	cmake/Modules/GTest.cmake
2021-10-21 10:26:31 -04:00
ede188652b update a few GPU kernels so they can be compiled on GPUs without double precisions support 2021-10-21 07:33:00 -04:00
a0b25acf35 refactor loops using (auto var : container) syntax 2021-10-20 21:58:31 -04:00
647380a357 Avoid bitshift that gave incorrect results on GPU 2021-10-20 13:21:07 -06:00
85433e8bd1 use true/false instead of 1/0 detected and changed by clang-tidy 2021-10-20 12:41:02 -04:00
682f862f43 apply clang-format 2021-10-20 06:56:54 -04:00
2e362b1f3f use get_(fix|compute)_by_id() instead of find_(fix|compute)() 2021-10-20 06:56:46 -04:00
657fcfa30d added support for dihedral (torsion) calcs 2021-10-19 17:29:53 -06:00
a2f62ae2db angles issue with angle vs anglep 2021-10-19 16:10:51 -06:00
8cd4460c62 fix typo 2021-10-19 15:50:19 -04:00
89d70aeabf work around issue with skipping creation of fix RESPA for whichflag == 0 2021-10-19 15:50:09 -04:00
2857577dda replace find_region_by_style() with get_region_by_style() with same semantics as find_fix_by_style() 2021-10-19 12:38:00 -04:00
597ee207b1 remove now obsolete find_fix_by_style() and find_compute_by_style() members 2021-10-19 12:37:02 -04:00
3ae0aae018 update remaining uses of find_fix_by_style() 2021-10-19 12:36:31 -04:00
162789ad7f Merge branch 'develop' into modify-fix-compute-accessors 2021-10-19 12:00:43 -04:00
84666543d1 Merge pull request #2998 from akohlmey/collected_small_changes
Collected small changes and bugfixes
2021-10-19 10:33:51 -04:00
1cd0551197 more direct version of clearing out loaded plugins 2021-10-19 08:27:49 -04:00
81a5beb8cc must not have folders names differing only in case: "MC" versu "mc"
This is causing problems on MacOS and Windows with case preserving
but case insensitive file systems.
2021-10-18 18:13:21 -04:00
f9e99f1f4c wipe out all loaded plugins before destroying the LAMMPS instance 2021-10-18 18:04:04 -04:00
241c816ad3 adapt fix shake and pair style spin 2021-10-18 17:29:25 -04:00
0e369fb9b5 update example to represent recent style changes. 2021-10-18 13:47:29 -04:00
5e102e1bfe ML-PACE.cmake: find_package(yaml-cpp 0.6.3 EXACT QUITE) first, otherwise dowload from github/yaml-cpp tag 0.6.3 2021-10-18 18:43:38 +02:00
87b63f768f Only check for GPU double precision support if a GPU is present 2021-10-18 12:15:05 -04:00
fc0e6af7dd fix memory leaks 2021-10-18 07:11:55 -04:00
dd2ff737f1 port mdi/engine command to new fix accessor API 2021-10-18 06:50:28 -04:00
11a4920b30 refactor PERI package pair styles to use new accessors and to increase code sharing 2021-10-18 06:47:01 -04:00
f6fb392c4d convert some more styles to use the new APIs 2021-10-17 19:19:23 -04:00
26b368848b Add support for an "Update #" appendix to the version string
This is for informative output only, so that any code depending
on the LAMMPS_VERSION define will not have to be changed and no
warnings will be printed etc.
2021-10-17 18:06:29 -04:00
1e9da5a25b port dump vtk to correctly support custom per-atom arrays and fix some bugs 2021-10-17 10:58:33 -04:00
6145ef9cd2 fix bugs related to custom per-atom properties in dump style custom 2021-10-17 10:57:16 -04:00
702d861a58 update to use new accessor APIs 2021-10-16 22:31:23 -04:00
064e7fde2f must not dereference null pointer 2021-10-16 22:30:38 -04:00
f392b089a4 modernize 2021-10-16 21:40:17 -04:00
cfdf9cee5d modernize 2021-10-16 21:28:18 -04:00
e990a1cf61 remove ambiguity between "double_precision" class member variable and function 2021-10-16 21:07:04 -04:00
8cf030e476 small tweak for mixed precision GPU runs 2021-10-16 07:28:16 -04:00
59d79ce176 update googletest to version 1.11 2021-10-16 07:16:40 -04:00
5b40e4cb38 new accessor APIs for fixes and computes in Modify plus a few applications 2021-10-16 06:00:28 -04:00
ab30ed4ca9 modernize 2021-10-16 05:35:24 -04:00
83e58eadb7 correct expansion of fix/compute/variable arguments to avoid bogus thermo outpu 2021-10-15 20:23:31 -04:00
6827f71f26 pppm kspace styles also require -DFFT_SINGLE when using GPUs in single precision 2021-10-15 20:23:07 -04:00
47523da16b allow single precision FFT introspection 2021-10-15 20:03:39 -04:00
222063e5cf Add preliminary support for Kokkos OpenMPTarget backend 2021-10-15 17:32:37 -06:00
20cd742b4a whitespace & urls 2021-10-15 15:59:15 -06:00
fa412c13aa Add compute phase/atom 2021-10-15 15:43:26 -06:00
5140d26748 plug memory leaks 2021-10-15 16:59:53 -04:00
01d96fc684 Whitespace 2021-10-15 12:50:46 -06:00
d97e55d54a Precompute some sqrt factors 2021-10-15 11:53:54 -06:00
23cd143aae Merge branch 'master' of github.com:lammps/lammps into coo_opt 2021-10-15 10:54:16 -06:00
98cdfa1016 fix bug detected by coverity scan 2021-10-15 09:29:47 -04:00
ef04f6ca69 Merge pull request #2993 from akohlmey/collected_small_changes
Collected small changes and fixes
2021-10-14 15:32:42 -04:00
5a90bca49e Merge pull request #2994 from akohlmey/more-clang-tidy-refactor
Second chunk of semi-automatic refactoring with clang-tidy
2021-10-14 13:33:00 -04:00
64268de24b Merge branch 'master' into collected-small-changes 2021-10-14 13:31:30 -04:00
356dbab587 Merge pull request #2991 from mphowardlab/bugfix-brownian
Fix Brownian noise scale factor
2021-10-14 12:23:04 -04:00
cd526ad54c try to find system libyaml-cpp v.0.6.3 library, otherwise use downloaded one 2021-10-14 15:16:48 +02:00
267bc7ae2d avoid (unlikely) integer overflows with very large systems 2021-10-14 08:07:43 -04:00
d857685e74 use emplace_back() instead of push_back() 2021-10-14 01:31:48 -04:00
2106075320 use call-by-value with std::move() function 2021-10-14 01:30:18 -04:00
e56cc9be00 use initializer list instead of explicit constructor 2021-10-14 01:12:44 -04:00
27145d2789 catch up on refactoring default destructors that were missed previously 2021-10-14 01:12:04 -04:00
3ad75c40ec catch up on previous clang-tidy refactor for files that were skipped before 2021-10-13 23:59:43 -04:00
2fba6b44e4 use '= default' when default functions should be used 2021-10-13 23:59:05 -04:00
34d54247b6 Merge branch 'develop' into collected_small_changes 2021-10-13 22:55:21 -04:00
cc416b97f0 Merge pull request #2990 from akohlmey/clang-tidy-refactor
First chunk of semi-automated refactoring using clang-tidy
2021-10-13 22:51:25 -04:00
3f3d44bc25 add new files 2021-10-13 22:47:37 -04:00
a1572ce9a5 link with -ldl except on Windows for dlopen/dlclose/dlsym support 2021-10-13 22:47:25 -04:00
f4851e9103 change check for reset image flags to print messages only once per data file 2021-10-13 21:54:18 -04:00
a1fb6902d5 Merge pull request #2992 from lammps/molswap
Add a new fix mol/swap command
2021-10-13 21:33:52 -04:00
afad3f42d5 Report only compatible GPU, i.e. no GPU if mixed/double precision is requested by the hardware does not support it 2021-10-13 21:15:16 -04:00
c322064ff3 Merge pull request #2931 from stanmoore1/acks2_release
Add ACKS2 charge equilibration method to REAXFF and support for electric fields in qeq/reaxff
2021-10-13 20:27:57 -04:00
c5617dc006 fix spelling and make consistent 2021-10-13 19:25:09 -04:00
660bced187 whitespace, pointer initializer, and permission fixes 2021-10-13 19:17:42 -04:00
69a3b5b215 move common init() code into base class. warn when used with fix efield 2021-10-13 18:54:10 -04:00
a922c91c1a document restrictions to using ReaxFF charge equilibration with fix efield 2021-10-13 18:53:09 -04:00
06ef216e61 protect against using multiple fix efield instances. improve error messages. 2021-10-13 18:26:09 -04:00
c8dc6c5010 whitespace 2021-10-13 18:25:13 -04:00
547b9850b9 tiny optimization 2021-10-13 18:18:58 -04:00
56ce880b32 update force-style test data with corrected efield strength computation 2021-10-13 18:06:49 -04:00
f206eab338 mv examples/gcmc to mc, add 2 scripts for fix mol/swap 2021-10-13 15:02:33 -06:00
74219585f3 Update log files 2021-10-13 14:03:50 -06:00
5f7e56e1c2 Fix Brownian noise scale factor 2021-10-13 14:51:58 -05:00
9cfb822847 Merge branch 'master' of github.com:lammps/lammps into acks2_release 2021-10-13 13:37:04 -06:00
727a028a6f Add inputs with field 2021-10-13 13:08:08 -06:00
67673a6055 Fix negative sign in chi_field 2021-10-13 12:30:19 -06:00
552d960b39 Fix double space 2021-10-13 10:43:26 -06:00
87cc67778b Merge branch 'master' into feature/ml-pace-multispecies
# Conflicts:
#	src/ML-PACE/pair_pace.cpp
2021-10-13 17:34:29 +02:00
ac8cf33a51 Merge pull request #1 from srmnitc/master
Use only itype for scale variable in both forces and energy
2021-10-13 16:53:49 +02:00
1f9ce77c85 Use only itype for scale variable in both forces and energy 2021-10-13 16:34:33 +02:00
d207710b43 lrefpos (nx/y/z) now working in oxdna_hbond. Being comm'ed and MPI working (#7)
* use the term 'website' consistently (and not also 'web site')

* update for clang-format

* clarify

* split off the programming/submission style guide to a separate file

* Updates to support ROCm 4.3 in GPU package

* update and reorder the description of the process for submitting contributions

* correct and clarify Python compatibility

* refactor style guide and integrate text from issue

* update contribution guidelines for github

* mention when testing may be added

* integrate file with description of include file conventions

* update github workflow doc

* adapt section about domain decomposition from paper

* use a more compact image

* add communication section

* update man page with missing flags and correct URLs

* improve the load imbalance viz

* add section about neighbor list construction

* break large file into multiple smaller files by section and add toctree

* fix typo

* add section about parallelization in the OPENMP package

* add -skipruin to help message

* add discussion of OpenMP parallelization

* spelling

* add section on PPPM

* use larger version of FFT grid comm image

* minor tweak

* Update compute angle doc page

* Update Singularity definitions to use ROCm 4.3

* Update CUDA container definitions to CUDA 11.4

* Update container definitions to include PLUMED 2.7.2

* Update more definition files

* RHEL8/CentOS8 PowerTools is now powertools

* Add Rocky Linux 8 container definition

* Add omega field to numpy_wrapper detection

* Return None in case of null pointer

* Add more atom fields in numpy_wrapper and correct csforce size

* must not clear force array. will segfault in hybrid atom styles

* update example for dynamically loading LAMMPS with current library API

* update example to use current library interface. No need to use the namespace.

* add note to README files about age of the example

* simplify building shared libs on windows

* detect a few more compilers

* Revert "simplify building shared libs on windows"

This reverts commit fa3429ab02.

* step version strings for next patch release

* fix mingw 32-bit vs 64-bit craziness

* detect C++20 standard

* build "fat" cuda binaries only with known toolkits

* spelling

* Try to improve the pair style hybrid docs

This specifically tries to avoid the ambiguous use of "mixing" and
clarify that similar is still different when pair styles are concerned.
See discussion here: https://matsci.org/t/confusion-about-mixing-and-pair-coeff-section/38317/3

* spelling

* use nullptr

* use symbolic constant

* small optimization

* use cmath header instead of math.h

* use explicit scoping when virtual dispatch is not available.

* cosmetic changes

* simplify/optimize code

* simplify

* Bugfix from Trung for crashes in pppm/gpu without local atoms

* fix typo

* refer to "XXX Coeffs" sections consistently

* small tweaks from static code analysis

* fix small bug

* small tweaks

* simplify and modernize code a little

* use correct data type for MPI calls

* simplify/modernize

* remove dead code

* about 1.5x speedup for pair style comb3 by using MathSpecial::powint()

* small performance optimization for pair style comb

* simplify

* modernize

* simplify

* removed dead code, reformat

* modernize

* use explicit scoping when virtual dispatch is not (yet) available

* reformat for increased readability

* move misplaced #endif and make code more readable

* make sure err_flag is initialized

* modernize

* remove redundant code: all struct members are initialized to defaults in the constructor

* enforce initialization and thus silence compiler warnings

* fix typo

* provide more comprehensive suggestions for GPU neighbor list errors

* add utils::logical() function to complement the *numeric() functions

* Add stable link in docs

* revert modernization change (for now)

* remove unused variable

* include EXTRA-DUMP in "most"

* small tweaks

* simplify

* Add log file printing of KIM search directories in 'kim init'

* use clang-format on kim_init.cpp

* Improve style in response to Axel's suggestions

* initialize all members

* format changes

* simplify. use utils::strdup() more.

* small corrections

* apply fix from balance command to fix balance

* dead code removal

* reformat strings

* implement utils::current_date() convenience function to reduce replicated code

* update list and order of include files from include-what-you-use analysis

* handle changes in GAP repo

* a few remaining updates to include statements

* expand mapping to handle "style_*.h" header files correctly.

* add support for compilation of OpenCL loader on FreeBSD

* more iwyu header updates

* small correction

* fix typo

* a few more (final?) IWYU updates

* expand tests for numeric values

* return int instead of bool to minimize code changes

* fix spelling issues

* some applications of the new function

* fix typo

* Change "offsite" to "external" to correct broken URLs to lammps.org

* improve error message

* insert missing atom-ID

* convert yes/no on/off flags in the package command(s)

* update version strings

* update death tests for change in error message

* correctly specify the destructor function name.

* apply utils::logical() to more commands

* apply utils::logical() in more places

* for consistency with utils::logical()

* only accept lower case to be consistent with the rest of the input

* a few more converted commands and updates for unit tests

* modernize and fix some memory leaks

* adjust for compatibility with C++20 compilers

* do not downgrade C++ standard when adding the KOKKOS package

* undo "risky" C++20 related changes

* mention how to set the path to the fftw3_omp library

* correct paths to downloaded PACE package sources in lib

* Update CMake variable descriptions

* possible workaround for some GPU package neighbor list issue

* final chunk of changes to apply utils::logical()

* update suffix command unit tests

* update citation info with new LAMMPS paper reference and acknowledge it

* update some formulations as suggested by @sjplimp

* add check and suitable error message when fp64 is required but not available

* do not call memset on a null pointer

* fix string formatting bugs in fix npt/cauchy

* must use a soft core potential to avoid a singularity

* in floating point math a*b may be zero even if both a>0 and b>0

* use proper integer type for atom IDs

* Building voro++ lib as part of LAMMPS requires the "patch" program

* silence output from hwloc when launching LAMMPS

* detect double precision support according to OpenCL specs (1.2 and later)

* Fix bug in Kokkos pair_eam_alloy

* calling fwrite() with a null pointer causes undefined behavior. avoid it.

* cosmetic

* apply current include file conventions

* include zstd libs in windows build

* update .gitignore for recent additions

* make check more obvious

* step version strings for stable release

* Adjust for kim-api bug

* cleaner variant of version check, add directory numbering

* hbond comm added for rsq_hb

* rsq_hb removed, exyz added (no MPI comm yet)

* Fix Colvars output files not written with "run 0"

See:
  https://github.com/Colvars/colvars/commit/ff2f0d39ee5
which fixes a bug introduced in:
  https://github.com/Colvars/colvars/commit/1e964a542b

The message applies to NAMD, but the logic used in LAMMPS when handling "run 0" is very similar.

The Colvars version string is also updated, however this commit does not
include other changes, such as the following:
  https://github.com/Colvars/colvars/pull/419
which were not fully completed before the LAMMPS Summer 2021 finalization.

* add -std=c++11 to a number of machine makefiles for traditional make build

* copy request to mention lammps.org form home page instructions for citing

* be more specific about what the name of the LAMMPS executable can be

also provide a few more examples without a machine suffix

* small tweak

* remove references to USER packages, have package lists alphabetically sorted

"make package-update" or "make pu" must be processed in the special order
because of inter-package dependencies

* make "make package-update" and "make package-overwrite" less verbose

* freeze versions of pip packages for processing the manual of the stable version

this way we avoid surprises in case one of the packages get updated
to an incompatible new version. these are know-to-work versions.

* make sure the one_coeff flag is applied to sub-styles

since the check for Pair::one_coeff was moved to the Input class (to
reduce redundant code), hybrid substyles could "escape" that requirement.
Thus checks have to be added to the hybrid coeff() methods.

* Prevent neigh list from copying "unique" stencil/bin

* compiling ML-HDNNP with downloaded n2p2 lib requires the sed command

* detect and error out if BLAS/LAPACK libraries variables are a list

This will cause external project compilation to fail since the semi-colons
are converted to blanks, but one cannot properly escape the variables.
So far the only viable solution seems to be to convert the scripts from
using ExternalProject_add() to FetchContent and add_subdirectory()

* portability improvement

* must have patch command available to compile ScaFaCoS

* only need Tcl not Tk to compile Tcl swig wrapper

* correctly handle Tcl stub library if available

* add missing keyword

* hbond_pos added, MPI and values ok, Pair time slow.

* make C library example work with strict C compilers

* silence compiler warnings

* make Nevery keyword per-reaction

* recover cross-compilation with mingw64

* reverted wrong approach from last commits

- now intpos flag
- hbond_pos added
- (a/b)xyz WiP

* lrefpos working in serial, MPI wrong

* attempt to merge doubles into n(xyz)[3]

* save

* Update pair_oxdna_hbond.cpp

* hbond now working for MPI, comming lrefpos

Co-authored-by: Axel Kohlmeyer <akohlmey@gmail.com>
Co-authored-by: Richard Berger <richard.berger@temple.edu>
Co-authored-by: Ryan S. Elliott <relliott@umn.edu>
Co-authored-by: Stan Gerald Moore <stamoor@sandia.gov>
Co-authored-by: Giacomo Fiorin <giacomo.fiorin@gmail.com>
Co-authored-by: Jacob Gissinger <jrgiss05@gmail.com>
2021-10-13 10:47:41 +01:00
165708adeb use nullptr in unittest tree 2021-10-12 22:52:50 -04:00
643a7a1acb replace std::random_shuffle() with std::shuffle() to be compatible with C++17 and beyond 2021-10-12 22:39:30 -04:00
88631372ec use nullptr instead of NULL or 0 where applicable 2021-10-12 21:47:02 -04:00
dd6f49a753 use 'noexcept' instead of the deprecated 'throw()' 2021-10-12 21:29:33 -04:00
7b6a3c4307 remove redundant void arguments 2021-10-12 21:17:46 -04:00
1002763df3 remove default class members except for the assignment copy constructor 2021-10-12 21:17:00 -04:00
1d1573c5f2 Merge branch 'develop' into multi-config-support 2021-10-12 14:42:32 -04:00
26cd988672 Merge pull request #2989 from rbberger/unittest_bugfixes
Avoid file name collisions in dump unit tests
2021-10-12 14:41:25 -04:00
a8f42bd534 tweak to atom/swap doc page 2021-10-12 11:50:04 -06:00
c22dae8d2c add a new fix 2021-10-12 11:48:26 -06:00
113c53a5da doc page for new fix mol/swap 2021-10-12 11:45:50 -06:00
0bc6373386 Merge pull request #2983 from akohlmey/collected-small-changes
Collected small changes and bugfixes
2021-10-12 13:26:50 -04:00
77d830bf3a update YAML-CPP library target name to yaml-cpp-pace 2021-10-12 18:15:31 +02:00
a1ff9e35b7 Avoid file name collisions in dump unit tests 2021-10-12 12:15:19 -04:00
0a98ff3c38 add more features to mol/swap, sync with atom/swap 2021-10-12 09:56:51 -06:00
93d6e6dec9 update for new way of using googletest 2021-10-12 11:46:37 -04:00
17316f92c7 Add optimized version of compute_orientorder_atom from Tomas Oppelstrup (LLNL) 2021-10-12 07:50:05 -07:00
2651e4650f use the new name of the main branch 2021-10-11 23:23:24 -04:00
9cf6b927cb Merge branch 'master' into collected-small-changes
# Conflicts:
#	src/REAXFF/fix_reaxff_species.cpp
2021-10-11 21:24:11 -04:00
96a45224de whitespace 2021-10-11 21:10:14 -04:00
27c9ba465b avoid duplication of Accelerator package info in additional doc pages 2021-10-11 16:49:59 -06:00
eedd953258 remove debug logic 2021-10-11 16:20:19 -06:00
cb77555fa6 update title in reference to accelerator section 2021-10-11 17:26:24 -04:00
510987dc80 Merge branch 'master' into multi-config-support
# Conflicts:
#	cmake/Modules/Packages/MSCG.cmake
#	examples/plugins/CMakeLists.txt
2021-10-11 17:03:41 -04:00
7bed85ef19 add debug statements 2021-10-11 15:00:20 -06:00
e79930dfb9 add check to prohibit using fix efield component in periodic direction with reaxff 2021-10-11 16:48:38 -04:00
4faca6531a fix typo 2021-10-11 16:35:54 -04:00
a45dbb6510 no need for static string buffers anymore 2021-10-11 16:35:42 -04:00
1f4c50037b Merge branch 'master' into acks2_release 2021-10-11 16:13:20 -04:00
a6cde11896 Merge pull request #2985 from stanmoore1/kk_issues
Fix issues with Kokkos package
2021-10-11 15:27:58 -04:00
2290ade2f2 ensure that fix efield is initialized before accessing its data. 2021-10-11 15:06:24 -04:00
6d2b32f0b2 move chi field calculation to fix qeq/reaxff 2021-10-11 14:35:23 -04:00
2ea4c71125 Merge pull request #2979 from akohlmey/platform-namespace
Implement a "platform" sub-namespace with platform specific functions and wrappers
2021-10-11 13:41:15 -04:00
70cbb72e42 Merge branch 'master' into acks2_release 2021-10-11 09:58:44 -04:00
a3e59082bf small adjustments and apply clang-format 2021-10-11 08:13:44 -04:00
124f7760d8 Merge branch 'master' into feature/ml-pace-multispecies 2021-10-11 07:30:22 -04:00
0c57267a85 update branch names 2021-10-10 04:44:45 -04:00
eb6b73c752 update documentation to refer to the new branch names (develop, release) 2021-10-10 04:39:16 -04:00
54e2e58aec update fmtlib to version 8.0.1 2021-10-09 23:57:35 -04:00
cf4e671474 Merge branch 'master' into fmt_upgrade 2021-10-09 23:42:17 -04:00
64b27fa28e only run windows compilation action on master branch in lammps repo 2021-10-09 20:54:18 -04:00
1bbed2579b try alternate approach to make MSVC++ happy linking STUBS 2021-10-09 20:32:39 -04:00
c3629b5f01 MS VC++ needs to have STUBS with PUBLIC linkage 2021-10-09 20:27:47 -04:00
5ad7e5a815 correct path to preset file and do two quick runs for checking the binary 2021-10-09 19:55:30 -04:00
2e122ff62b Add GitHub action compiling LAMMPS with Visual C++ 2021-10-09 19:46:52 -04:00
f558a5c06f update LAMMPS homepage URLs 2021-10-09 11:41:54 -04:00
5739621f5c make single() function consistent with compute() function 2021-10-09 11:33:02 -04:00
c8c3e8f661 use predefined constant and apply optimization for power function with integer argument 2021-10-09 11:27:35 -04:00
3a4b68a464 modernize code 2021-10-09 11:18:33 -04:00
ed23a3aa69 correct comments 2021-10-09 11:18:16 -04:00
018e37a2e9 add unit tests for bond style fene/nm/split and pair style nm/cut/split 2021-10-09 11:06:18 -04:00
7bdf52eac5 do not shadow members of the BondFENE base class and use the corresponding allocation/deallocation 2021-10-09 11:00:19 -04:00
ba44d6aba2 must set define to "see" the lammps_open() library function 2021-10-09 10:20:47 -04:00
dd6e3c1acc avoid variable length array and signed vs. unsigned warnings 2021-10-08 20:07:20 -04:00
241e01edba whitespace 2021-10-08 19:00:30 -04:00
c5205be071 update src/.gitignore 2021-10-08 16:25:55 -04:00
a0fc74f1a9 make class names, include guards and formatting consistent. apply clang-format 2021-10-08 16:25:44 -04:00
3313d3bfa3 make documentation consistent and properly integrate it 2021-10-08 16:24:57 -04:00
fc42992cdf Merge branch 'master' into nm_split_styles 2021-10-08 15:57:17 -04:00
09bcfc2116 document visual studio support 2021-10-08 15:33:49 -04:00
ae0fa17132 make consistent with include files 2021-10-08 15:33:26 -04:00
83bc70bf05 workaround for classic intel compiler on windows 2021-10-08 15:11:16 -04:00
fb137b26bf silence compiler warnings 2021-10-08 13:59:17 -04:00
46efae5998 needed for compilation on windows. not really used because of platform::walltime() 2021-10-08 13:58:08 -04:00
6e8da80148 adjustments for intel compilers on windows 2021-10-08 13:57:09 -04:00
cc11fa37b2 whitespace 2021-10-08 11:44:09 -04:00
392ebf7db7 revise automatic seed generation 2021-10-08 11:35:55 -04:00
b5061b69be add warning to fix reaxff/species to explain the impact of large averaging 2021-10-07 20:46:01 -04:00
30c146457a improve messages 2021-10-07 20:29:01 -04:00
4b86dbd200 add cmake configuration file for visual studio 2021-10-07 17:11:33 -04:00
e12fa57794 A few more tweaks 2021-10-07 17:11:04 -04:00
4fca127ea4 copy MSVC++ compiler hacks to plugin CMakeLists.txt file 2021-10-07 15:59:12 -04:00
d5b3ea263b awpmd requires blas, mgpt is not portable 2021-10-07 15:45:14 -04:00
5d5cc0ac55 preset with packages that build natively on windows with visual c++ 2021-10-07 15:31:26 -04:00
ef8aa4de90 silence warning 2021-10-07 15:29:46 -04:00
3a3f07d91a use portable logic operators 2021-10-07 15:05:32 -04:00
2b27af1572 fix a few more MSVC issues and reduce warnings 2021-10-07 14:37:37 -04:00
2c7b67203a recover unit test compile 2021-10-07 13:44:18 -04:00
0f442fddd9 correct use of utils function 2021-10-07 12:40:29 -04:00
6a9bb577cf rename "zip" functions to "compress" functions. update related docs 2021-10-07 12:38:11 -04:00
4f17082d74 use portable logic operators 2021-10-07 12:23:17 -04:00
3661b8cd50 optimize 2021-10-07 12:22:26 -04:00
a818be585d use portable functions from platform and utils namespaces 2021-10-07 12:22:16 -04:00
7372211d90 there is no more need to keep a copy of the arguments
this also eliminates buffer overflow bugs where the terminating 0 bytes
of copied strings are overwritten causing the fix to fail.
2021-10-07 07:42:13 -04:00
c8ff66e07f correct file extension for Zstd compressed files 2021-10-07 06:49:49 -04:00
059f450f1b add uppercase string utility function (for symmetry) 2021-10-07 00:00:33 -04:00
b8d6df6461 add missing platform scope 2021-10-06 20:44:42 -05:00
98d9b675f9 Use portable logical operators 2021-10-06 20:44:27 -05:00
5c34fe4d5d Replace strcasecmp() 2021-10-06 20:43:56 -05:00
b3ca238a61 silence warning 2021-10-06 17:44:57 -04:00
ef84435b7c replace non-portable strcasecmp() with comparing two strings converted to lowercase 2021-10-06 17:44:45 -04:00
a9bccee7b2 add utility to convert a string to lowercase 2021-10-06 17:43:41 -04:00
aab3e085a2 silence compiler warning on windows 2021-10-06 16:49:48 -04:00
f643c2b98f portability changes 2021-10-06 16:34:39 -04:00
50d997526c a few more MSVC++ tweaks for improved compatibility and fewer warnings 2021-10-06 16:18:21 -04:00
69e600c404 Misc updates and style fixes 2021-10-06 14:13:48 -06:00
4260d31b85 whitespace 2021-10-06 15:57:33 -04:00
7a1cf322e5 more tweaks for Visual C++ compilation and portability 2021-10-06 15:57:26 -04:00
6c7b42a190 small tweaks and fixes for compiling with MSVC++ 2021-10-06 15:24:59 -04:00
ec1a55b35b use platform code for reading/writing of compressed text file via a pipe 2021-10-06 15:04:48 -04:00
a539c317b3 Revert changes to makefile 2021-10-06 11:43:40 -07:00
3d86a0f5f6 Fix two bugs in compute_orientorder_atom_kokkos 2021-10-06 11:15:34 -07:00
891d4c278f port dump movie to platform namespace 2021-10-06 14:08:45 -04:00
5059bfe32b add Stan to Modify class as co-codeowner 2021-10-06 12:09:20 -04:00
d9288ae7e9 whitespace 2021-10-06 08:33:02 -07:00
bbfb2d2712 Add missing code to modify_kokkos 2021-10-06 08:27:25 -07:00
4aae11f8fb port plugin loader to platform namespace 2021-10-06 08:59:56 -04:00
10a8a1b325 add dlerror() call wrapper 2021-10-06 08:59:51 -04:00
7801d112b3 enable building plugins for windows 2021-10-06 07:10:35 -04:00
9fc23a2bda make use of platform namespace functions 2021-10-06 07:10:04 -04:00
e3cb5a5e25 restore old version of MPI_Wtime(). we're not using it anyway. 2021-10-06 07:09:36 -04:00
81492533e6 recover serial compilation 2021-10-05 23:19:52 -04:00
8b36061db4 replace MPI_Wtime() with platform::walltime() 2021-10-05 22:53:39 -04:00
f17aeebbcd make compilable on windows 2021-10-05 22:31:39 -04:00
46eaa4888e simplify using platform function 2021-10-05 22:31:25 -04:00
cc2d23de21 use platform::cputtime() 2021-10-05 22:31:06 -04:00
087c1b3a65 revive skipped code to detect OS revisions 2021-10-05 22:30:45 -04:00
6f2076a9b8 update docs 2021-10-05 22:11:19 -04:00
b2c4f08bbc use C++11 functionality to determine wall time 2021-10-05 21:52:52 -04:00
fcdabe0002 implement a platform neutral usleep() using C++11 2021-10-05 17:58:27 -04:00
528050aa08 use platform namespace to delete file 2021-10-05 17:57:38 -04:00
0c6707bf0c Fix compile issue with bond_class2_kokkos and UVM-enabled 2021-10-05 14:49:30 -06:00
e3e82df995 port "embedded" shell commands to use platform functions 2021-10-05 16:36:06 -04:00
5128eb7b43 port read/write_restart to use the platform namespace 2021-10-05 16:35:37 -04:00
af070aa351 add support for seeking to the end of a file 2021-10-05 15:44:58 -04:00
fc5920812f new group arg for delete_atoms porosity 2021-10-05 13:07:34 -06:00
f0940104f5 first version of new fix mol/swap command 2021-10-05 11:06:32 -06:00
340207988c fix a couple more bugs like in 5246cedda6 2021-10-05 10:36:25 -04:00
741cf9c7d5 remove obsoleted include statements 2021-10-05 07:36:22 -04:00
9f2c5116fa make lammps and msi2lmp man pages use section 1 2021-10-05 07:35:26 -04:00
0bdc6d47e0 port molfile plugin reader to platform namespace 2021-10-04 22:56:23 -04:00
ee594a879b make use of platform::putenv() 2021-10-04 22:39:43 -04:00
40f683c1a7 use platform functions to handle piping help output to a pager when on a console 2021-10-04 18:14:21 -04:00
7cdd82dee2 use platform functions for averaging fixes 2021-10-04 18:13:46 -04:00
dd2b5b22d4 fix saed/vtk does not use the overwrite option anywhere 2021-10-04 17:22:58 -04:00
485796f387 Merge branch 'master' into platform-namespace 2021-10-04 15:19:12 -04:00
ab51c1bd3d Merge pull request #2977 from akohlmey/collected-small-changes
Collected small changes
2021-10-04 11:07:03 -07:00
c6a15064b3 Merge pull request #2976 from stanmoore1/update_gitignore
Update .gitignore file in /src
2021-10-04 10:10:23 -07:00
6e54295b38 pre-built singularity images have been removed due to lack of interest 2021-10-04 11:34:28 -04:00
9d96e10048 silence compiler warning 2021-10-04 07:32:25 -04:00
dc2453a22b silence some compiler warnings 2021-10-04 06:56:13 -04:00
5246cedda6 Fix misplaced MPI calls bug in pair style drip 2021-10-04 06:50:38 -04:00
e698d295fc Fixed some parsing errors, more waiting 2021-10-03 18:35:54 -06:00
f41d650294 Added non-working pair script 2021-10-03 17:59:33 -06:00
8bddc801df First successful compile of pair style 2021-10-03 17:55:55 -06:00
203b779622 also update eigen download for traditional build 2021-10-02 23:17:08 -04:00
45ea2b0431 update eigen3 to the latest release and move download to our own server 2021-10-02 22:52:03 -04:00
03f7bf6649 update eigen3 to the latest release and move download to our own server 2021-10-02 22:44:29 -04:00
c341c2c6a9 correct platform call in kim query command 2021-10-02 20:00:53 -04:00
7110e1c15e small format tweaks
- brief description should not end in a dot as it becomes a title line
- add empty line to separate title from body of description
- revert order of file/path separator constants so that the Linux version shows up in doxygen
2021-10-02 18:28:33 -04:00
a6aa3fd3ee apply clang-format 2021-10-02 18:26:46 -04:00
69a8dfe4d9 whitespace 2021-10-02 18:12:32 -04:00
dcaed72b6d update embedded docs 2021-10-02 17:29:21 -04:00
c6bdab8b4c disable optimization of cputime function for MSVC++ to avoid bogus 0s reports 2021-10-02 17:29:05 -04:00
2dcaa47b0e unfreeze versions of python packages used to build the documentation 2021-10-02 16:55:19 -04:00
37bfe3d0ce integrate platform sub-namespace into source code and documentation
this updates function calls to functions that have been moved from
the utils namepsace or the Info class to platform::
2021-10-02 16:55:11 -04:00
373dbcd9ae fix typo 2021-10-02 16:40:05 -04:00
35bef7b1d3 unfreeze versions of python packages used to build the documentation 2021-10-02 16:32:58 -04:00
195fe81c60 correct test for loading shared objects and libraries 2021-10-01 23:52:02 -04:00
a8193f42b8 Merge branch 'master' into platform-namespace 2021-10-01 21:58:52 -04:00
0cbf70a385 make compatible with C 2021-10-01 15:24:59 -04:00
60c6669d68 Remove lammpsplugin.h from .gitignore 2021-10-01 13:21:42 -06:00
cf06620538 raise the C++ standard to be at least C++14 when Kokkos is enabled.
This still allows to request a later standard for as long as it is C++14 or later
2021-10-01 15:16:40 -04:00
139dfd89e2 for improved C++20 compatibility 2021-10-01 15:14:53 -04:00
cc2d08506e accelerator_*.h files should not be ignored 2021-10-01 12:55:39 -06:00
bed1ff9a95 Remove more files from .gitignore 2021-10-01 12:46:06 -06:00
61c465c6f3 simplify creation of computes in fix ipi and fix plumed 2021-10-01 14:32:19 -04:00
7e7b8acf4b Update .gitignore 2021-10-01 12:12:53 -06:00
05b368e1c6 Merge pull request #2971 from lammps/doc-thermostats
Clarify thermostat doc pages to mention applying the thermostat only to regions of atoms
2021-10-01 12:18:38 -04:00
912d55c46a Merge pull request #2975 from rbberger/external_kokkos_fix
Avoid assertions in PythonCapabilities check when using external KOKKOS
2021-10-01 11:56:43 -04:00
dcf4b75ca2 Merge pull request #2973 from akohlmey/32bit-pointer-bugfix
32-bit pointer bugfix in bond/angle style gaussian
2021-10-01 11:36:26 -04:00
211df8b7b0 Avoid assertions in PythonCapabilities check when using external KOKKOS 2021-10-01 11:08:02 -04:00
434c170097 apply clang-format 2021-10-01 00:58:38 -04:00
01fb33cb5d fix memory allocation bug causing memory corruption on 32-bit arches 2021-10-01 00:57:02 -04:00
b5b2f5c03c additional tweak 2021-09-30 17:11:49 -06:00
f20bd63edf clarify doc pages for thermostatting fixes to mention regions 2021-09-30 16:55:22 -06:00
277f7a7e51 reduce electric field strength 2021-09-30 08:29:55 -04:00
05d2002db6 add test for using fix acks2/reaxff with fix efield 2021-09-30 07:04:46 -04:00
f2755a8085 simplify 2021-09-30 00:40:30 -04:00
f6cb693d6b whitespace 2021-09-30 00:40:15 -04:00
1840c51960 fmt::format() is no longer needed for this explicitly 2021-09-30 00:32:34 -04:00
359aa1d805 Merge branch 'master' into acks2_release 2021-09-30 00:26:25 -04:00
4d84ceb822 Merge pull request #2951 from akohlmey/parse-logical-keyword
Add utility function to parse boolean parameters
2021-09-30 00:09:37 -04:00
56cd66a6c3 Merge branch 'master' into parse-logical-keyword
# Conflicts:
#	src/H5MD/dump_h5md.cpp
2021-09-29 23:05:59 -04:00
c30ba70fab Merge pull request #2957 from akohlmey/next_release_version
Step version strings for stable release
2021-09-29 20:40:00 -04:00
8d6adfa0d1 Merge pull request #2966 from akohlmey/cmake-tweaks
Tweaks to CMake build for portability and early detection of build problems
2021-09-29 19:46:33 -04:00
111e9d9060 Merge pull request #2969 from jrgissing/bond/react-make-Nevery-per-reaction
bond/react: fix nevery keyword bug
2021-09-29 18:42:00 -04:00
15b3e875d5 import files for platform namespace from standalone project w/o updating LAMMPS 2021-09-29 16:29:25 -04:00
7fbd2138bd recover cross-compilation with mingw64 2021-09-29 15:13:55 -04:00
a5ed701908 make Nevery keyword per-reaction 2021-09-29 14:40:22 -04:00
dd4b195552 silence compiler warnings 2021-09-29 14:04:01 -04:00
2651e6ec2f make C library example work with strict C compilers 2021-09-29 10:37:15 -04:00
81d3eb0b2e add missing keyword 2021-09-29 10:29:09 -04:00
32049c3484 adopt for new multispecies PACE implementation 2021-09-29 16:04:09 +02:00
3381f72b80 correctly handle Tcl stub library if available 2021-09-29 09:19:47 -04:00
b4307e2354 only need Tcl not Tk to compile Tcl swig wrapper 2021-09-29 09:01:01 -04:00
aa59f7bd91 must have patch command available to compile ScaFaCoS 2021-09-29 07:50:53 -04:00
af7c613200 portability improvement 2021-09-29 07:50:13 -04:00
f7238de5d5 detect and error out if BLAS/LAPACK libraries variables are a list
This will cause external project compilation to fail since the semi-colons
are converted to blanks, but one cannot properly escape the variables.
So far the only viable solution seems to be to convert the scripts from
using ExternalProject_add() to FetchContent and add_subdirectory()
2021-09-29 07:45:07 -04:00
23e173d44f compiling ML-HDNNP with downloaded n2p2 lib requires the sed command 2021-09-29 07:27:49 -04:00
9e49a934c2 Merge pull request #2965 from stanmoore1/neigh_cutoff
Bugfix: prevent neigh list from copying "unique" stencil/bin
2021-09-28 19:28:32 -04:00
8a35ea05bc Prevent neigh list from copying "unique" stencil/bin 2021-09-28 15:33:44 -06:00
ee0d439bbd Merge pull request #2963 from akohlmey/hybrid-one-coeff-bugfix
Make sure the one_coeff flag is applied to hybrid sub-styles
2021-09-28 09:44:10 -04:00
b3c8f85ff9 make sure the one_coeff flag is applied to sub-styles
since the check for Pair::one_coeff was moved to the Input class (to
reduce redundant code), hybrid substyles could "escape" that requirement.
Thus checks have to be added to the hybrid coeff() methods.
2021-09-28 04:39:46 -04:00
c4616d4a11 Merge pull request #2962 from akohlmey/doc-updates
A few final updates to the LAMMPS manual
2021-09-27 20:39:06 -04:00
9d5aa757c3 Merge pull request #2961 from akohlmey/makefile-updates
Add -std=c++11 to a number of machine makefiles for the traditional make build system
2021-09-27 19:42:49 -04:00
34fe792fad freeze versions of pip packages for processing the manual of the stable version
this way we avoid surprises in case one of the packages get updated
to an incompatible new version. these are know-to-work versions.
2021-09-27 18:31:46 -04:00
d171b92a57 Merge pull request #2959 from Colvars/fix-colvars-run0
Fix Colvars output files not written with "run 0"
2021-09-27 18:08:45 -04:00
53e227766a make "make package-update" and "make package-overwrite" less verbose 2021-09-27 18:01:37 -04:00
09e0214f7d remove references to USER packages, have package lists alphabetically sorted
"make package-update" or "make pu" must be processed in the special order
because of inter-package dependencies
2021-09-27 18:01:01 -04:00
913ce25a01 small tweak 2021-09-27 17:13:32 -04:00
9c4a82f286 be more specific about what the name of the LAMMPS executable can be
also provide a few more examples without a machine suffix
2021-09-27 16:50:25 -04:00
9dbd5bb27d copy request to mention lammps.org form home page instructions for citing 2021-09-27 16:49:29 -04:00
be3468ae07 Trying to fix style error 2021-09-27 16:31:48 -04:00
7eba439388 add special_bonds command to water examples 2021-09-27 14:29:11 -06:00
395e22457c add -std=c++11 to a number of machine makefiles for traditional make build 2021-09-27 16:28:55 -04:00
d69cb9e847 Changed \n to n \m to m 2021-09-27 14:54:15 -04:00
1e574b3e8a updated pair_nm doc 2021-09-27 14:12:09 -04:00
7601001632 Fix Colvars output files not written with "run 0"
See:
  https://github.com/Colvars/colvars/commit/ff2f0d39ee5
which fixes a bug introduced in:
  https://github.com/Colvars/colvars/commit/1e964a542b

The message applies to NAMD, but the logic used in LAMMPS when handling "run 0" is very similar.

The Colvars version string is also updated, however this commit does not
include other changes, such as the following:
  https://github.com/Colvars/colvars/pull/419
which were not fully completed before the LAMMPS Summer 2021 finalization.
2021-09-27 13:38:30 -04:00
6447bd822c fixed fene_nm 2021-09-27 11:23:53 -04:00
7b11f916b7 Merge pull request #2952 from akohlmey/collected-small-changes
Final changes and bugfixes for the stable release
2021-09-26 20:18:34 -04:00
ea030c6dd8 Merge branch 'master' into collected-small-changes 2021-09-26 18:12:40 -04:00
f3b1da83f7 Merge pull request #2956 from stanmoore1/kk_eam_alloy
Fix bug in Kokkos pair_eam_alloy on GPUs
2021-09-26 17:57:03 -04:00
b1d65f001e Merge pull request #2949 from ellio167/kim-print-dirs
Add log file printing of KIM search directories in 'kim init'
2021-09-26 16:34:15 -04:00
b24079fe33 cleaner variant of version check, add directory numbering 2021-09-26 11:24:03 -04:00
18a3728800 Adjust for kim-api bug 2021-09-26 08:36:02 -05:00
184e5fd779 step version strings for stable release 2021-09-25 23:04:53 -04:00
9da8c932ab make check more obvious 2021-09-25 21:33:10 -04:00
0534d98987 update .gitignore for recent additions 2021-09-25 15:54:33 -04:00
9df8a12235 include zstd libs in windows build 2021-09-25 15:18:14 -04:00
64cfd90eeb apply current include file conventions 2021-09-25 13:36:39 -04:00
6f87b1236a cosmetic 2021-09-25 10:42:52 -04:00
53e773e438 calling fwrite() with a null pointer causes undefined behavior. avoid it. 2021-09-25 10:18:55 -04:00
1435a96d6e Fix bug in Kokkos pair_eam_alloy 2021-09-25 07:20:24 -06:00
530912a930 detect double precision support according to OpenCL specs (1.2 and later) 2021-09-25 07:20:52 -04:00
24c9bd4cd2 silence output from hwloc when launching LAMMPS 2021-09-24 23:42:33 -04:00
faf9c1532a issue with EVAL command 2021-09-24 16:26:57 -06:00
0b2a4ec4e7 Building voro++ lib as part of LAMMPS requires the "patch" program 2021-09-24 17:07:59 -04:00
85bc9911b8 use proper integer type for atom IDs 2021-09-24 16:57:06 -04:00
b3a8a7bf6f in floating point math a*b may be zero even if both a>0 and b>0 2021-09-24 16:43:07 -04:00
4d9cef823d must use a soft core potential to avoid a singularity 2021-09-24 16:22:44 -04:00
2df1107561 fix string formatting bugs in fix npt/cauchy 2021-09-24 15:52:01 -04:00
973cf017a9 do not call memset on a null pointer 2021-09-24 15:32:59 -04:00
93cc1ae3bb Removed comments in fene_nm 2021-09-24 14:04:54 -04:00
5229a4e765 Removed comments in fene_nm 2021-09-24 13:41:18 -04:00
0f2bebdb9b Adding bpm/spring pairstyle, misc small edits 2021-09-24 10:45:46 -06:00
42dca75225 add check and suitable error message when fp64 is required but not available 2021-09-24 12:17:58 -04:00
31f9f17c1b Merge pull request #2917 from akohlmey/programmer-guide-updates
Updates to the Programmer guide section of the manual
2021-09-24 11:27:01 -04:00
be17d775e0 more debugging 2021-09-23 15:12:07 -06:00
c855c6f0ab rename 2 version to regular version 2021-09-23 12:55:28 -06:00
8b69b232a8 rename old version to old in filename 2021-09-23 12:48:43 -06:00
dcfdddf83f more bug fixes for new MDI classs 2021-09-23 12:39:11 -06:00
a83797091b Finally added Pair_nm_cut_split and bond_fene_nm_cut_split 2021-09-23 14:05:54 -04:00
46f331095a update some formulations as suggested by @sjplimp 2021-09-23 13:51:06 -04:00
5b02f704cc Finally added pair_nm_cut_split fene_nm_cut_split 2021-09-23 13:23:29 -04:00
16ab49cff4 update citation info with new LAMMPS paper reference and acknowledge it 2021-09-23 11:59:43 -04:00
5ef4913ebb Merge remote-tracking branch 'github/master' into programmer-guide-updates 2021-09-23 11:16:31 -04:00
422cab8878 update suffix command unit tests 2021-09-23 07:30:50 -04:00
f641b1c659 final chunk of changes to apply utils::logical() 2021-09-23 07:30:40 -04:00
17ba0d5804 possible workaround for some GPU package neighbor list issue 2021-09-22 21:47:32 -04:00
7792a4db6b Merge pull request #2932 from rbberger/container_updates
Container definition updates
2021-09-22 17:37:50 -04:00
1b1b6298cd Merge remote-tracking branch 'origin/master' into container_updates 2021-09-22 16:29:42 -04:00
f5fa892ec8 Merge pull request #2916 from rbberger/rocm_updates
Updates to support ROCm 4.3 in GPU package
2021-09-22 16:23:19 -04:00
407f032a55 Update CMake variable descriptions 2021-09-22 15:14:39 -04:00
9906486578 correct paths to downloaded PACE package sources in lib 2021-09-22 12:40:19 -04:00
e79ae552c8 mention how to set the path to the fftw3_omp library 2021-09-22 12:23:20 -04:00
5142300b2e undo "risky" C++20 related changes 2021-09-22 12:22:52 -04:00
d89e6f6765 do not downgrade C++ standard when adding the KOKKOS package 2021-09-21 23:52:49 -04:00
ce05ed15c1 adjust for compatibility with C++20 compilers 2021-09-21 23:52:30 -04:00
f2aacca803 modernize and fix some memory leaks 2021-09-21 22:03:38 -04:00
342ca7ff1d add multi-config build support for MSCG package 2021-09-21 22:02:37 -04:00
914f035475 a few more converted commands and updates for unit tests 2021-09-21 17:23:41 -04:00
cbc5a2933a tweak epsilon 2021-09-21 15:44:42 -04:00
c9a8319a93 use more relealistic element ratio 2021-09-21 15:02:45 -04:00
0ddf63acc9 update ACKS2 unit test with potential parameters from example 2021-09-21 14:41:37 -04:00
9063466c03 move ACKS2 force field file to potentials folder and add LAMMPS-style metadata 2021-09-21 14:37:37 -04:00
c3d34e8656 only accept lower case to be consistent with the rest of the input 2021-09-21 14:18:23 -04:00
6227396afd for consistency with utils::logical() 2021-09-21 14:15:23 -04:00
1ba77e1629 apply utils::logical() in more places 2021-09-21 14:15:02 -04:00
41a3eccd1c apply utils::logical() to more commands 2021-09-21 07:48:50 -04:00
afccf1933f correctly specify the destructor function name. 2021-09-20 23:40:14 -04:00
fe64649e49 Merge branch 'master' into multi-config-support 2021-09-20 20:42:03 -04:00
6adac6b637 Merge branch 'master' into parse-logical-keyword 2021-09-20 20:41:48 -04:00
8d8c710982 Merge pull request #2942 from akohlmey/next_patch_release
Step version strings for the next patch release
2021-09-20 20:35:23 -04:00
6e8091470c update death tests for change in error message 2021-09-20 20:31:13 -04:00
18f0d2e1b5 Adding spring bondstyle 2021-09-20 18:06:10 -06:00
9a2c2b5fe3 Merge pull request #2941 from akohlmey/collected-small-changes
Large collection of updates and bugfixes for the stable release
2021-09-20 16:49:00 -04:00
f340e15587 update version strings 2021-09-20 16:26:47 -04:00
100da95e3a convert yes/no on/off flags in the package command(s) 2021-09-20 16:15:24 -04:00
c39d3057dc insert missing atom-ID 2021-09-20 16:14:18 -04:00
d79b1b3145 Tweak example and add reference logs 2021-09-20 13:01:57 -06:00
9feab449fb Add ACKS2 example 2021-09-20 12:23:19 -06:00
b73c9280c9 improve error message 2021-09-20 13:58:48 -04:00
5ff881fb0d Change "offsite" to "external" to correct broken URLs to lammps.org 2021-09-20 12:05:52 -04:00
22d7ce564a fix typo 2021-09-20 07:29:10 -04:00
f80259dfae some applications of the new function 2021-09-19 19:05:40 -04:00
860a93aa8b fix spelling issues 2021-09-19 18:32:45 -04:00
61c71c6605 return int instead of bool to minimize code changes 2021-09-19 18:07:56 -04:00
bfa2ea1fba expand tests for numeric values 2021-09-19 16:38:01 -04:00
f80df9ae41 a few more (final?) IWYU updates 2021-09-19 09:41:23 -04:00
4fcf343227 fix typo 2021-09-18 21:59:31 -04:00
3cab58bffe small correction 2021-09-18 21:34:30 -04:00
12406b90a1 more iwyu header updates 2021-09-18 21:24:01 -04:00
579f08bbbc add support for compilation of OpenCL loader on FreeBSD 2021-09-18 19:04:08 -04:00
c0a910a6c5 expand mapping to handle "style_*.h" header files correctly. 2021-09-18 16:37:06 -04:00
2b3a09ac88 a few remaining updates to include statements 2021-09-18 16:36:44 -04:00
2382d6c71d handle changes in GAP repo 2021-09-18 16:36:18 -04:00
bca99f684f update list and order of include files from include-what-you-use analysis 2021-09-18 14:16:48 -04:00
db76edbade implement utils::current_date() convenience function to reduce replicated code 2021-09-18 09:05:35 -04:00
8769c0ae98 reformat strings 2021-09-17 22:58:17 -04:00
5a6c1abeed dead code removal 2021-09-17 22:53:59 -04:00
a46b8688ea apply fix from balance command to fix balance 2021-09-17 22:52:58 -04:00
cb2de211b2 small corrections 2021-09-17 22:52:13 -04:00
a71b77c06e simplify. use utils::strdup() more. 2021-09-17 22:51:59 -04:00
385220fd4b format changes 2021-09-17 22:50:15 -04:00
cd3efc3fa8 initialize all members 2021-09-17 22:45:26 -04:00
029fd56c2a Improve style in response to Axel's suggestions 2021-09-17 20:17:45 -05:00
eb3e8e19c6 use clang-format on kim_init.cpp 2021-09-17 20:14:37 -05:00
2709e06d25 Add log file printing of KIM search directories in 'kim init' 2021-09-17 19:43:54 -05:00
ffeeb2f977 simplify 2021-09-17 19:54:55 -04:00
e6fb0e3bd8 small tweaks 2021-09-17 16:51:37 -04:00
3046c9ca93 include EXTRA-DUMP in "most" 2021-09-16 23:01:42 -04:00
dc49917412 remove unused variable 2021-09-16 22:58:42 -04:00
5bddddcd7a revert modernization change (for now) 2021-09-16 22:57:14 -04:00
5c14825d69 Add stable link in docs 2021-09-16 18:13:41 -04:00
cef100991f add utils::logical() function to complement the *numeric() functions 2021-09-16 17:52:51 -04:00
5bbec337e5 provide more comprehensive suggestions for GPU neighbor list errors 2021-09-16 10:23:44 -04:00
0fcc10b635 fix typo 2021-09-16 10:18:49 -04:00
e82a2a3280 enforce initialization and thus silence compiler warnings 2021-09-16 07:58:21 -04:00
75f2eb604d remove redundant code: all struct members are initialized to defaults in the constructor 2021-09-16 07:45:33 -04:00
5411075cc6 modernize 2021-09-16 07:44:27 -04:00
90225153d9 make sure err_flag is initialized 2021-09-16 07:33:34 -04:00
00e396c921 move misplaced #endif and make code more readable 2021-09-16 07:33:24 -04:00
353b3a2bb3 reformat for increased readability 2021-09-16 07:25:04 -04:00
dc50db0675 use explicit scoping when virtual dispatch is not (yet) available 2021-09-16 01:01:38 -04:00
1fd25071b9 modernize 2021-09-16 01:01:19 -04:00
ef8a0e5005 removed dead code, reformat 2021-09-16 00:55:30 -04:00
761e519a15 simplify 2021-09-16 00:55:02 -04:00
a47df02f79 modernize 2021-09-16 00:54:46 -04:00
c83ad07740 simplify 2021-09-16 00:27:16 -04:00
2c945f6753 small performance optimization for pair style comb 2021-09-16 00:26:53 -04:00
7aa6241db5 about 1.5x speedup for pair style comb3 by using MathSpecial::powint() 2021-09-16 00:13:28 -04:00
2b6ff442d8 remove dead code 2021-09-16 00:11:53 -04:00
72193bf877 simplify/modernize 2021-09-16 00:11:44 -04:00
707d9f0ad2 use correct data type for MPI calls 2021-09-16 00:11:16 -04:00
94f83c172a simplify and modernize code a little 2021-09-15 23:15:14 -04:00
272badfa7f small tweaks 2021-09-15 20:14:06 -04:00
1f1029486a fix small bug 2021-09-15 20:13:54 -04:00
7196a295a6 small tweaks from static code analysis 2021-09-15 19:50:52 -04:00
fef8f51d80 refer to "XXX Coeffs" sections consistently 2021-09-15 19:20:47 -04:00
8fa5ac28c4 Merge pull request #2939 from rbberger/python_module_fixes
Python module fixes
2021-09-15 21:47:01 +00:00
fbd0fd7727 fix typo 2021-09-15 17:23:20 -04:00
70b09a809d Bugfix from Trung for crashes in pppm/gpu without local atoms 2021-09-15 17:23:12 -04:00
36b3ee32a4 simplify 2021-09-15 16:46:33 -04:00
1adbd5f667 Fix remaining issues 2021-09-15 14:32:00 -06:00
3caa066c28 simplify/optimize code 2021-09-15 16:23:07 -04:00
a8220a8502 cosmetic changes 2021-09-15 16:08:53 -04:00
7d92d665e8 use explicit scoping when virtual dispatch is not available. 2021-09-15 16:08:17 -04:00
65d8f7f964 use cmath header instead of math.h 2021-09-15 15:25:58 -04:00
1fdba7280e small optimization 2021-09-15 15:14:52 -04:00
f01681eae7 use symbolic constant 2021-09-15 15:09:58 -04:00
9c301822fd use nullptr 2021-09-15 14:57:10 -04:00
eb80102871 spelling 2021-09-15 13:51:31 -04:00
c1fa663dd8 Try to improve the pair style hybrid docs
This specifically tries to avoid the ambiguous use of "mixing" and
clarify that similar is still different when pair styles are concerned.
See discussion here: https://matsci.org/t/confusion-about-mixing-and-pair-coeff-section/38317/3
2021-09-15 13:48:47 -04:00
c858703156 Remove unused variables 2021-09-14 20:20:09 -06:00
1b91bfbfa1 spelling 2021-09-14 17:17:46 -04:00
b1ebaa298c build "fat" cuda binaries only with known toolkits 2021-09-14 17:17:38 -04:00
b4acacf5cb add minimal example and a unit test input 2021-09-14 16:40:42 -04:00
19bc606a20 fix typo 2021-09-14 16:26:38 -04:00
254dcdf665 include formatting updates for the KOKKOS files as well 2021-09-14 16:23:48 -04:00
86578554bb apply latest formatting conventions (w/o clang format on the .cpp file) 2021-09-14 15:34:28 -04:00
dfe0e313d5 fully integrate acks2/reaxff fix into documentation build 2021-09-14 15:31:36 -04:00
51cfbaa2ef Remove tabs 2021-09-14 10:56:03 -06:00
3badb14b5a Whitespace 2021-09-14 10:49:04 -06:00
65a085c067 Improve docs 2021-09-14 10:45:45 -06:00
2b17796d73 Switch max 2021-09-14 10:23:57 -06:00
f9236fbb33 Remove unused variable 2021-09-14 10:06:51 -06:00
15c7792c33 Fix issues with Kokkos package when ranks have zero atoms 2021-09-14 10:02:29 -06:00
b1092cfa4e detect C++20 standard 2021-09-14 11:56:43 -04:00
fa3c29dda6 Merge branch 'master' of github.com:lammps/lammps into acks2_release 2021-09-14 08:41:23 -06:00
c8170c3388 fix mingw 32-bit vs 64-bit craziness 2021-09-13 10:14:34 -04:00
80f95e5087 step version strings for next patch release 2021-09-13 07:33:34 -04:00
37894d48c6 Revert "simplify building shared libs on windows"
This reverts commit fa3429ab02.
2021-09-13 07:24:00 -04:00
ede3762e84 detect a few more compilers 2021-09-13 00:29:04 -04:00
0202b1169a Minor edits to the error message 2021-09-12 23:08:36 -05:00
fa3429ab02 simplify building shared libs on windows 2021-09-12 22:09:18 -04:00
daa39d680c simplify 2021-09-11 13:43:25 -04:00
585f35235e add note to README files about age of the example 2021-09-11 13:31:55 -04:00
8cef98fae7 update example to use current library interface. No need to use the namespace. 2021-09-11 13:31:55 -04:00
bd225e2484 update example for dynamically loading LAMMPS with current library API 2021-09-11 13:31:55 -04:00
c394df5658 simplify and remove unused command. more multi-config adjustments 2021-09-11 07:30:18 -04:00
30558c0cd6 convert plugin compilation to also use add_subdirectory() instead of external project 2021-09-11 07:01:48 -04:00
932b3cabda add missing include (since we not longer include GTest.cmake) 2021-09-11 06:05:29 -04:00
bf360ad50f explicitly specify build folder for out-of-source subdirectory 2021-09-11 05:59:50 -04:00
68ddab0341 Report multi-config and adjust paths for python unit tests 2021-09-11 05:36:43 -04:00
84c945f7fb Use multi-config compatible way to integrate googletest for unit testing 2021-09-11 04:50:04 -04:00
1c21560c70 must not clear force array. will segfault in hybrid atom styles 2021-09-10 20:33:49 -04:00
0029ed106b more adjustments to MDI engine code 2021-09-10 17:59:19 -06:00
f5f49078ee Add more atom fields in numpy_wrapper and correct csforce size 2021-09-10 15:40:49 -04:00
7bb863a46c Return None in case of null pointer 2021-09-10 14:55:17 -04:00
e10d89d8c4 Add omega field to numpy_wrapper detection 2021-09-10 14:55:17 -04:00
02da29513e Merge branch 'master' into programmer-guide-updates
# Conflicts:
#	doc/lammps.1
2021-09-09 23:34:46 -04:00
0dd35bdb66 Merge pull request #2935 from akohlmey/python-module-fixes-and-tests
Python module fixes and tests
2021-09-09 23:31:16 -04:00
b535e58e16 Merge pull request #2929 from stanmoore1/kk_gridcomm
Recover Kokkos compilation
2021-09-09 23:30:41 -04:00
551810d388 Merge pull request #2928 from wouterel/enable-dyngroups-fixbondcreate
Enable dynamic groups for fix bond/create
2021-09-09 23:27:55 -04:00
3fd4bd1fcd Merge branch 'python-module-fixes-and-tests' of github.com:akohlmey/lammps into python-module-fixes-and-tests 2021-09-09 23:05:48 -04:00
6ef8c12457 whitespace 2021-09-09 23:05:30 -04:00
e2b44e89a7 Merge pull request #2927 from akohlmey/docs-update
Update documentation for the stable release
2021-09-09 23:03:12 -04:00
d09851e695 Improve MPI support in PyLammps 2021-09-09 21:47:08 -04:00
7b1e951916 add unit test for checking properties parsed from info command output 2021-09-09 21:13:09 -04:00
4eeb90d135 fix PyLammps parser issue with parsing info command output 2021-09-09 21:12:28 -04:00
390f9eff39 Merge branch 'master' into kk_gridcomm 2021-09-09 19:17:55 -04:00
1e26fe2d6f support for reset_box and create_atom commands 2021-09-09 17:16:33 -06:00
150a695b8c Merge pull request #2925 from akohlmey/collected-small-changes
Collected small changes
2021-09-09 19:03:20 -04:00
a954ddac5a add missing "private" 2021-09-09 18:03:17 -04:00
5e0c754d04 Fixing style issues 2021-09-09 14:17:39 -06:00
31214de51a Update name 2021-09-09 12:08:09 -06:00
214725d1ee Use full precision for 1/3 2021-09-09 09:20:24 -06:00
f9a972220e Fixing data compression in history, small update to model 2021-09-09 09:00:21 -06:00
f9cd6a384b Add Rocky Linux 8 container definition 2021-09-09 10:45:30 -04:00
8da122c6a4 RHEL8/CentOS8 PowerTools is now powertools 2021-09-09 10:31:17 -04:00
70cbc5e364 Add external field contribution to OPENMP QEq 2021-09-09 08:30:57 -06:00
ccbd24352e Remove const to work around GCC 7 compiler bug 2021-09-09 08:03:06 -06:00
4e92c68244 allow skipping fix timestep tests when LAMMPS was compiled for static libs 2021-09-08 23:41:31 -04:00
8c3924352d only check for meminfo[2] on platforms we know to be supported 2021-09-08 23:02:56 -04:00
4f825db5ab Add external field contribution to OPENMP QEq 2021-09-08 20:54:42 -06:00
826c4e1cd7 Allow fix acks2 to be backwards compatible with old reax name style 2021-09-08 20:40:57 -06:00
0e72aae0a3 Adding examples and misc bug fixes 2021-09-08 18:39:56 -06:00
6bad470dd5 avoid namespace clash in mini-regex library 2021-09-08 20:39:41 -04:00
bc7dfbed3c add missing #if 2021-09-08 20:00:39 -04:00
9cdb83a24d support utils::guesspath() also on Windows 2021-09-08 18:17:14 -04:00
5c1fa54750 Update more definition files 2021-09-08 18:11:40 -04:00
7c5a9841f7 more whitespace 2021-09-08 16:01:45 -06:00
165efcdb07 homepage 2021-09-08 15:50:53 -06:00
ede892c83f whitespace 2021-09-08 15:45:54 -06:00
d5f70ed347 Update container definitions to include PLUMED 2.7.2 2021-09-08 17:43:12 -04:00
9fb29b165d Update CUDA container definitions to CUDA 11.4 2021-09-08 17:40:48 -04:00
8b9dd6b0c1 Add ACKS2 charge equilibration method to REAXFF and support for electric fields in QEq 2021-09-08 15:06:23 -06:00
40f861097c Recover Kokkos compilation 2021-09-08 14:41:51 -06:00
b74a32c1e3 Update Singularity definitions to use ROCm 4.3 2021-09-08 16:07:54 -04:00
b87a48e40b re-apply clang-format 2021-09-08 15:42:15 -04:00
04748779fd tweak epsilon for portability to FreeBSD 2021-09-08 15:41:43 -04:00
cfa94dfbaf add support for utils::guesspath() on macos 2021-09-08 15:14:06 -04:00
22f295ffd8 Prevent buffer overflow in TextFileReader::next_dvector() 2021-09-08 10:52:42 -04:00
ebcf0bd6a1 Enable dyanmic groups for fix bond/create 2021-09-08 11:54:50 +02:00
c1dbc110d9 cosmetic changes for consistency 2021-09-07 19:12:59 -04:00
36eb2e30df correct URL 2021-09-07 19:12:27 -04:00
a4735628f9 document flags that were missing in the man page and the help message 2021-09-07 19:11:51 -04:00
ad39aa85ab update style guide and requirements/suggestions for contributions 2021-09-07 19:09:35 -04:00
1ae15cf8b7 Merge branch 'master' into programmer-guide-updates 2021-09-07 19:01:21 -04:00
3562c76a66 Update compute angle doc page 2021-09-07 19:00:22 -04:00
194a42b7a5 use more reasonable install prefix when compiling natively on Windows 2021-09-07 15:05:17 -04:00
a16fd25840 minor tweak 2021-09-07 14:26:19 -04:00
55a802afe3 Merge remote-tracking branch 'github/master' into collected-small-changes 2021-09-07 14:20:53 -04:00
9c50420c14 apply clang-format 2021-09-07 14:20:26 -04:00
19e6a9e0d8 Merge pull request #2924 from ohenrich/cg-dna
CG-DNA: Documentation Update
2021-09-07 14:12:07 -04:00
9bc8e0998e must use Python3 version of imported target 2021-09-07 13:34:07 -04:00
909376b14b Merge branch 'master' into collected-small-changes 2021-09-07 13:32:21 -04:00
b0fa666de4 Merge pull request #2923 from akohlmey/python-finalize-take2
Treat calling Py_Finalize() more like MPI_Finalize() and avoid crashes
2021-09-07 11:57:20 -04:00
e070766915 including lmpwindows.h globally from lmptype.h does more harm than good
this addresses some (cross) compilation issues locally.
in the long run, this should be addressed by implementing issue #1884
where platform specific functionality is wrapped into a small library
of generic functions adapted for LAMMPS' needs (like utils:: does for
non-portable convenience functions).
2021-09-07 10:39:16 -04:00
3f83c8397d windows needs io.h for _isatty() 2021-09-07 10:21:00 -04:00
ea34571da1 avoid 32-bit integer overflow 2021-09-07 01:12:24 -04:00
68c842ca84 workaround for MSVC insanity 2021-09-07 00:59:51 -04:00
b2ee7fa3a3 remove stuff that is incompatible with recent MSVC compilers 2021-09-07 00:59:16 -04:00
f5259f0081 correct non-portable code 2021-09-07 00:58:16 -04:00
9a8a4a111f include utils::binary_search in docs 2021-09-06 18:16:07 -04:00
29505404bc add unit test for checking the impact of lammps_python_finalize() 2021-09-06 17:42:18 -04:00
63a2882127 apply clang-format 2021-09-06 17:01:22 -04:00
898f8086db consolidate binary() member functions of Comm and Balance into utils::binary_search() 2021-09-06 16:58:14 -04:00
31a8940ae8 use larger version of FFT grid comm image 2021-09-06 15:50:02 -04:00
bb8b0ef157 add section on PPPM 2021-09-06 12:23:49 -04:00
c1599ffb3e spelling 2021-09-06 09:52:32 -04:00
d8ba7a3e9a add discussion of OpenMP parallelization 2021-09-06 09:52:19 -04:00
bb0188ac1a Corrected linking errors 2021-09-06 13:29:40 +01:00
57cea77fe9 Updated online docu 2021-09-06 11:38:21 +01:00
b132a7eb3a Updated docu to new oxdna atom_style 2021-09-06 09:47:46 +01:00
a7696d5f00 add -skipruin to help message 2021-09-05 22:44:37 -04:00
6e17446f38 add section about parallelization in the OPENMP package 2021-09-05 22:42:42 -04:00
6e57f4f08f fix typo 2021-09-05 22:10:00 -04:00
4fc9753a69 break large file into multiple smaller files by section and add toctree 2021-09-05 21:57:03 -04:00
94f03f169f add section about neighbor list construction 2021-09-05 21:22:39 -04:00
d3af77a876 improve the load imbalance viz 2021-09-05 17:56:58 -04:00
b34a3cec1e update man page with missing flags and correct URLs 2021-09-05 12:45:29 -04:00
0c2d8ad210 Merge branch 'master' into programmer-guide-updates 2021-09-05 12:45:15 -04:00
805b15f5c4 apply clang-format 2021-09-04 14:19:51 -04:00
e2d8fd58fa apply clang-format 2021-09-04 14:01:24 -04:00
0286c3e2be treat Py_Finalize() more like MPI_Finalize()
this is done by
- not automatically calling Py_Finalize() when destructing a python interpreter
- adding wrapper functions so that the call to Py_Finalize() is hidden
  and skipped if Python support is no included.
- call the Python::finalize() wrapper in main.cpp (similar to the equivalent Kokkos function)
- add a wrapper of that call to the C library interface
2021-09-04 13:53:51 -04:00
91b0ae798a make VALUELENGTH constant consistent. 2021-09-04 12:41:52 -04:00
59ef1737c6 add communication section 2021-09-03 22:42:01 -04:00
5be4fb86ea use a more compact image 2021-09-03 21:05:16 -04:00
801cd647c3 Merge pull request #2919 from akohlmey/collected-small-changes
Collected small changes and fixes
2021-09-03 19:03:29 -04:00
6193ebaba7 remove earlier USER-MDI files 2021-09-03 16:01:16 -06:00
481d6128c7 Merge branch 'master' into mdi-expand 2021-09-03 15:51:34 -06:00
a8a97962d2 more changes for AIMD testing 2021-09-03 15:50:17 -06:00
a98ded7722 adapt section about domain decomposition from paper 2021-09-03 16:59:41 -04:00
6290054e52 forgot to update lammps.cpp 2021-09-03 11:37:03 -04:00
f768b701ee add -skiprun command line flag that sets a timeout so that run and minimizations loops are skipped 2021-09-03 11:21:42 -04:00
75cb6fc51b added support for LAMMPS as MDI AIMD driver 2021-09-02 17:52:10 -06:00
6cf2aa4fbb update github workflow doc 2021-09-02 16:29:20 -04:00
0d765a824e integrate file with description of include file conventions 2021-09-02 15:03:19 -04:00
5851692527 mention when testing may be added 2021-09-02 14:25:10 -04:00
d3447008a1 update contribution guidelines for github 2021-09-02 14:24:57 -04:00
bca9157405 Correct fix bond/swap doc page 2021-09-02 14:10:43 -04:00
ca7bab7e41 refactor style guide and integrate text from issue 2021-09-01 22:16:26 -04:00
72d92ac9e8 correct and clarify Python compatibility 2021-09-01 22:03:12 -04:00
c186b24292 avoid segfaults due to uninitialized data 2021-09-01 21:47:39 -04:00
495f424a67 apply clang-format to pair_lj_cut.cpp so it can serve as example 2021-09-01 20:08:06 -04:00
e6d7a544e2 remove whitespace from comma separated arguments to variable functions 2021-09-01 14:02:35 -04:00
af33724a38 update and reorder the description of the process for submitting contributions 2021-09-01 12:15:52 -04:00
d301c2a71f Merge branch 'master' into programmer-guide-updates 2021-09-01 10:08:51 -04:00
9085662e2b Merge pull request #2899 from akohlmey/next_patch_release
Step version strings for the next patch release
2021-08-31 19:43:41 -04:00
7943cb2067 Merge branch 'master' into programmer-guide-updates 2021-08-31 18:27:25 -04:00
66008a519b Merge pull request #2913 from akohlmey/last-minute-fixes
Some last minute fixes for the next patch release
2021-08-31 18:24:17 -04:00
8db2d64f11 Updates to support ROCm 4.3 in GPU package 2021-08-31 17:56:01 -04:00
000b4c5fda integrate fix ttm/grid properly into the documentation 2021-08-31 16:20:21 -04:00
c567f33cc1 apply spelling fixes and update formatting a little 2021-08-31 16:17:03 -04:00
ae2f0ef18d whitespace 2021-08-31 16:05:11 -04:00
e9ef26c2be Merge branch 'master' into last-minute-fixes 2021-08-31 16:03:50 -04:00
6448f44fa5 Merge pull request #2914 from rbberger/doc_updates
Minor documentation updates
2021-08-31 15:59:34 -04:00
08eb3345af silence some compiler warnings 2021-08-31 15:11:46 -04:00
6b243845c0 update HIP preset for CMake 2021-08-31 15:11:37 -04:00
b8ed4b28b3 add test for fix adapt with hybrid pair 2021-08-31 14:28:09 -04:00
c66a51bca1 fix bug in fix adapt: reinit must be called for the top-level pair/bond style 2021-08-31 14:23:13 -04:00
888d6fd9b4 small update 2021-08-31 14:20:52 -04:00
191e4671b6 Add section about how to output YAML or JSON 2021-08-31 11:28:13 -04:00
de0aa1e97a Fixup ttm doc page 2021-08-31 11:28:08 -04:00
8f600f6db7 Merge pull request #2912 from stanmoore1/kk_foward_comm_array
Add missing Kokkos sync-to-host to fix false-positive warning
2021-08-31 10:21:31 -04:00
55f20288b1 Merge branch 'master' into mdi-expand 2021-08-30 16:52:49 -06:00
16c063cba5 Fix OPENMP install script properly remove -DLMP_OPENMP from Makefile.packages 2021-08-30 18:39:24 -04:00
c76949e0f0 Merge pull request #2902 from lammps/fix-ttm-grid
Add fix ttm/grid and refactor grid communication to make it globally available.
2021-08-30 17:43:39 -04:00
5b42d5f302 Fix compile issue 2021-08-30 15:21:24 -06:00
1703cd4ca2 Whitespace 2021-08-30 14:57:59 -06:00
0e639a2c5b Add missing Kokkos sync to host 2021-08-30 14:52:26 -06:00
66fc0438a8 Merge branch 'master' into fix-ttm-grid
# Conflicts:
#	doc/src/pair_snap.rst
2021-08-30 16:37:51 -04:00
328e730c8f Merge branch 'master' into mdi-expand 2021-08-30 14:31:29 -06:00
25a6c59cea Merge pull request #2900 from stanmoore1/kk_bugfixes
Fix issues in KOKKOS package
2021-08-30 15:28:41 -04:00
00c3c5cf06 Port changes from #2903 to Kokkos 2021-08-30 12:43:07 -06:00
2de482f825 Merge pull request #2911 from akohlmey/fix-gpu-package-issues
Fix minor GPU package issues for the stable release
2021-08-30 13:45:23 -04:00
6635b402c6 Merge pull request #2910 from wmbrownIntel/intel-mm-scale-fix
Fix (the fix) for _MM_SCALE preprocessor defines for future Intel compilers
2021-08-30 13:10:21 -04:00
22ce955065 Merge pull request #2909 from wmbrownIntel/born_coul_wolf_nofast
Override any OpenCL fast math JIT settings for born/coul/wolf{/cs}/gpu…
2021-08-30 11:51:04 -04:00
d9c1a299bf Merge pull request #2908 from jrgissing/bond-react-fixes
Bond/react: memory leak
2021-08-30 11:23:26 -04:00
284ed98fb8 fix spelling error and reformat paragraph 2021-08-29 22:08:49 -04:00
5d03028028 Merge branch 'master' into kk_bugfixes 2021-08-29 22:07:40 -04:00
5257b8d280 split off the programming/submission style guide to a separate file 2021-08-29 22:00:05 -04:00
afc65993d0 clarify 2021-08-29 21:43:13 -04:00
be3348be86 update for clang-format 2021-08-29 21:42:59 -04:00
518b2c24f2 use the term 'website' consistently (and not also 'web site') 2021-08-29 21:42:49 -04:00
664a07a3fe disallow GPU neighbor list with hybrid pair styles (which has still problems) 2021-08-29 17:57:30 -04:00
39d8b239ff don't report bogus timings 2021-08-29 17:56:47 -04:00
05eba8e484 move patch release date to august 31st 2021-08-29 16:33:14 -04:00
fb72e00081 Fix (the fix) for _MM_SCALE preprocessor defines for future Intel compilers. 2021-08-28 17:18:05 -07:00
89556f0bcb Override any OpenCL fast math JIT settings for born/coul/wolf{/cs}/gpu to resolve numerical deviations seen with some OpenCL implementations. 2021-08-28 17:01:58 -07:00
653f6f994f Merge branch 'lammps:master' into bond-react-fixes 2021-08-28 16:05:59 -04:00
cddac395c6 some more cleanup 2021-08-28 07:52:14 -04:00
993826989c modernize fix ttm/mod implementation and align with fix ttm 2021-08-28 07:44:06 -04:00
1e37595055 pretty 2021-08-28 07:43:18 -04:00
f49b94e126 update docs. mention support for comments in electron temperature grid files 2021-08-28 07:42:55 -04:00
da1fb924bb modernize code some more. avoid string pointer magic. 2021-08-28 05:43:39 -04:00
e6a45c1fa7 refactor grid data file reader. support descriptive comment(s) and metadata 2021-08-27 23:23:12 -04:00
90d95466c2 add UNITS: metadata 2021-08-27 23:21:04 -04:00
6be84b72a8 simplify and plug memory leak with file output 2021-08-27 21:10:05 -04:00
c779798f3f properly disable clang-format processing 2021-08-27 20:34:46 -04:00
59a6c08a43 correct spelling 2021-08-27 20:32:42 -04:00
9c2b96286f print GPU available info only when GPU package is included 2021-08-27 20:32:22 -04:00
28b6649f0c whitespace 2021-08-27 20:31:58 -04:00
cf33f0bb96 silence compiler warnings, remove dead code, and do some reformatting 2021-08-27 20:22:29 -04:00
a66f3dfbdd Merge branch 'master' into fix-ttm-grid 2021-08-27 19:56:42 -04:00
e93ae9ba12 apply clang-format 2021-08-27 19:56:33 -04:00
c513fc8784 update pppm/gpu to use the refactored GridComm class 2021-08-27 19:52:39 -04:00
90f82a8ef1 memory leak 2021-08-27 17:03:11 -04:00
4d1a6cbd73 Merge pull request #2904 from lammps/memory-null
force all memory methods to return nullptr if requested size <= 0
2021-08-27 16:59:04 -04:00
3e058b734b Merge pull request #2887 from jrgissing/bond-react-fixes
Bond react fixes
2021-08-27 16:58:33 -04:00
cc69431dd3 Merge pull request #2897 from dxhisboy/master
Correcting non-fdotr Virial tensor computation for interlayer potentials
2021-08-27 16:54:56 -04:00
1795e1530f Merge pull request #2896 from akohlmey/collected-small-changes
Collected changes and updates for the next patch release
2021-08-27 15:58:05 -04:00
a58e4fc876 whitespace 2021-08-27 14:59:26 -04:00
4eef3eaac6 Merge branch 'master' into collected-small-changes 2021-08-27 14:58:42 -04:00
4be33df8fb relax force test epsilon values a little for cross-platform tests 2021-08-27 14:57:31 -04:00
e363b4aeff Merge pull request #2905 from weinbe2/fea-snap-large-system
Kokkos SNAP large system optimizations and cleanup
2021-08-27 14:23:37 -04:00
66da0ebada adjust INTEL pppm files for new GridComm interface 2021-08-27 11:01:27 -06:00
9658d1d983 Bump up the default chunksize in SNAP and update the docs 2021-08-27 12:34:19 -04:00
6ab951fedc only change functions known to break with zero-length 2021-08-27 10:28:40 -06:00
2387e12464 Merge pull request #2893 from lammps/doc-intro-updates
Update Intro section of LAMMPS Manual for stable release
2021-08-27 12:09:10 -04:00
d2984d2615 Merge branch 'master' into BPM 2021-08-27 10:04:04 -06:00
0879484827 sync OPENMP package with new GridComm syntax 2021-08-27 09:48:35 -06:00
4089d7757d error->one to error->all corrections 2021-08-27 11:24:04 -04:00
bb720626e3 Adding files for BPM 2021-08-27 09:22:56 -06:00
89b4cc9498 Remove comment 2021-08-27 11:03:54 -04:00
aa9f337ef5 Small tweak to docs 2021-08-27 10:47:11 -04:00
27cabbf734 Add missing variable 2021-08-27 10:38:47 -04:00
ecba2d8489 Update doc page 2021-08-27 10:33:18 -04:00
1970ede534 Add user-settable threshold for extra parallelism 2021-08-27 10:22:10 -04:00
cfaa3040ed add a comment explaining the restriction to C and H elements in AIREBO/REBO 2021-08-27 10:02:53 -04:00
7ac2c0c66e refactor custom constraint
evaluates per-atom variables once, and correctly communicates values to ghosts
2021-08-26 23:00:15 -04:00
8c96f1a14b Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2021-08-26 22:56:08 -04:00
a686ce33c6 Added less-parallelism-higher-perf paths to recursive polynomial routines. Fixed qSNAP memory coalescing issue. Various modularity improvements. 2021-08-26 22:55:07 -04:00
bbb3f35aa3 "int64_t" is defined in stdint.h; must use "long" in OpenCL kernels instead 2021-08-26 22:46:08 -04:00
fc6b17b82a improve whitespace handling
previously, spaces inside of custom 'rxn' functions could cause issues
2021-08-26 22:28:44 -04:00
42a3a7d10f Merge branch 'master' into collected-small-changes
# Conflicts:
#	src/fix_property_atom.cpp
2021-08-26 21:14:23 -04:00
a587f67423 Merge pull request #2903 from lammps/fix-property-tweak
Fix property/atom tweak
2021-08-26 20:07:13 -04:00
a519dc3e9a make DIELECTRIC package use of GridComm compatible with new version 2021-08-26 16:33:39 -06:00
b6187b1989 add null check to new 4d memory method 2021-08-26 15:53:31 -06:00
e857911088 add null check to new 4d memory method 2021-08-26 15:52:16 -06:00
21b017368b force all memory methods to return nullptr if requested size <= 0 2021-08-26 15:43:12 -06:00
ab8c9851b2 change style to styles to remove override of fix->style string 2021-08-26 15:20:52 -06:00
115d8d7c44 update Tinker conversion tool 2021-08-26 15:12:02 -06:00
29d5505f43 remove debug line 2021-08-26 15:10:59 -06:00
c0b31c4384 remove unneeded file 2021-08-26 15:10:10 -06:00
9f46071226 fix example problems 2021-08-26 15:09:27 -06:00
a85f125ee7 whitespace 2021-08-26 16:58:14 -04:00
892a18c3f6 Merge branch 'master' into fix-ttm-grid 2021-08-26 16:57:19 -04:00
f63d0202be Rely on auto_sync in verlet setup 2021-08-26 14:54:48 -06:00
6fea5dd316 avoid creating empty per atom position arrays for enforcing pbc for dumps 2021-08-26 16:16:30 -04:00
16d73c86ba adjust example TTM input scripts 2021-08-26 13:37:00 -06:00
ddbb8f1aa6 Remove unnecessary data tranfer in fix_nve_sphere_kokkos 2021-08-26 13:36:32 -06:00
49b0623d6b Fix issue with Kokkos granular and pair/only on 2021-08-26 13:26:46 -06:00
62fcaedd33 update example log files 2021-08-26 13:25:46 -06:00
0a4e85a1f3 Added README.grid 2021-08-26 11:58:39 -06:00
db58cec057 Resolved memory management issue exposed by RCB in in.grid.test 2021-08-26 11:52:46 -06:00
7b3e7d3d3a allow for command-line setting of initial temp 2021-08-26 11:52:07 -06:00
ea3c89165a Resolved memory management issue exposed by RCB in in.grid.test 2021-08-26 11:52:06 -06:00
d38549e05f Update ancient Kokkos Arch in Makefile.kokkos_cuda_mpi 2021-08-26 11:03:57 -06:00
beffa0d1a1 remove old fix ttm 2021-08-26 10:19:56 -06:00
cbe27096b3 final tweaks 2021-08-26 10:19:22 -06:00
0fb03072b1 restart bug fix in new fix ttm/grid 2021-08-26 10:08:34 -06:00
be98d0bbd9 Fix memory issue in fix_nvt_sllod_kokkos 2021-08-26 09:36:16 -06:00
0e8facdcbb Makefile.kokkos: fix (standard_in) 1: syntax error (kokkos PR4173) 2021-08-26 08:58:58 -06:00
c1ca58ba82 Merge branch 'master' of github.com:lammps/lammps into kk_bugfixes 2021-08-26 08:21:39 -06:00
7e5782a81b Fix deallocation issue in pair_lj_charmm_coul_charmm_kokkos 2021-08-26 08:21:16 -06:00
45854bab0c step version strings for next patch release 2021-08-26 07:46:24 -04:00
0d8c58db02 synchronize DomainOMP::pbc() code with Domain::pbc() 2021-08-26 07:41:57 -04:00
a7f4bbffcf avoid segfault when trying to apply (strict) pbc or convert to/from fractional coordinates on an MPI rank without atoms 2021-08-26 07:10:47 -04:00
84896fc7d4 add building micelle2d.x 2021-08-26 06:36:27 -04:00
e20d66ac19 avoid module name conflict 2021-08-26 06:36:17 -04:00
49a81d6fba silence compiler warnings 2021-08-26 06:30:16 -04:00
c7357d5731 Merge remote-tracking branch 'github/master' into collected-small-changes 2021-08-26 05:30:50 -04:00
6fcd4c0e30 Merge remote-tracking branch 'github/master' into doc-intro-updates 2021-08-26 05:29:53 -04:00
e3af1544f1 Merge pull request #2804 from Vsevak/tip4p_fix_types
Fix atom types handling in the tip4p/gpu kernels
2021-08-26 01:08:19 -04:00
1d33bd1264 whitespace 2021-08-26 01:05:25 -04:00
484f2f4c95 must exclude two more folders from whitespace checking 2021-08-26 01:05:14 -04:00
acf80f5c89 Merge branch 'master' into doc-intro-updates 2021-08-26 01:03:25 -04:00
2845269bdb use MBytes consistently 2021-08-26 01:00:08 -04:00
0aded3931b convert to Fortran 2003 2021-08-26 00:37:25 -04:00
4b707b8684 small tweak 2021-08-26 00:35:43 -04:00
f13fe138cc apply clang-format 2021-08-26 00:35:31 -04:00
9dd1dcab30 remove call to non-portable FDATE() function (a GNU Fortran extension) 2021-08-25 23:56:20 -04:00
61855c5058 apply whitespace checking/fixing also to free-format Fortran files 2021-08-25 23:46:48 -04:00
45e599cb33 modernize Fortran 2021-08-25 23:42:07 -04:00
fe4ec9d1ea select Fortran 2003 as standard for compiling bundled Fortran code 2021-08-25 23:36:12 -04:00
8468d89ec8 tweak epsilon for passing test on macOS 2021-08-25 23:31:53 -04:00
5361af7082 notes on reducing disk space requirements when building LAMMPS from source 2021-08-25 22:51:21 -04:00
c3083785b7 list some more features 2021-08-25 22:02:51 -04:00
a2d77593bb fix typo 2021-08-25 22:01:42 -04:00
78f9c7b478 Declared victory on compute grid and grid/local 2021-08-25 17:52:53 -06:00
5bf13b2f3c Declared victory on compute grid and grid/local 2021-08-25 17:50:40 -06:00
4846d8283e convert chain.f to fortran 90+ style free format file chain.f90
this is to maintain compatibility with some newer fortran compilers
that do not support legacy style fortran by default anymore.
2021-08-25 18:38:08 -04:00
9c095e8d76 new AMOEBA package 2021-08-25 16:29:22 -06:00
a0dfae9876 more debugging of restarts 2021-08-25 16:28:40 -06:00
abd4a6cfa3 remove calls to Modify::end_of_step() during the full_energy() functions
the fixes atom/swap, gcmc, widom, and charge_regulation would call
Modify::end_of_step() in order to make certain that all energy contributions
to the total energy are properly tallied. However, this is no longer
true and it causes lots of unexpected problems, since fixes like
fix ave/time, fix store/state, fix print and many more are called at
the wrong time during a timestep and possibly multiple times which can
lead to very unexpected and incorrect results. fix atc and fix colvars
are currently the only fixes that signal that they contribute to the
global energy *and* run during Modify::end_of_step(). However, they
do not perform any actions related to the global energy in those calls.
2021-08-25 16:41:25 -04:00
bed13d9c63 simply example scripts 2021-08-25 14:09:58 -06:00
b2b807f9b9 initial version of AMOEBA/HIPPO force field files 2021-08-25 13:53:31 -06:00
51d4e91086 Merge pull request #2882 from CTCMS-UQ/SLLOD-Kokkos
Add Kokkos accelerated styles for shear flow simulations (SLLOD)
2021-08-25 14:44:50 -04:00
ae94a60d4a more debugging 2021-08-25 12:42:47 -06:00
1c0ac4adb7 correct citation string 2021-08-25 07:57:16 -04:00
cc98f9b1e6 add unit test 2021-08-25 07:42:37 -04:00
ce0f1478cb correct stress tally to give results consistent with fdotr 2021-08-25 07:42:37 -04:00
b55673f0a6 add unit test 2021-08-25 07:42:37 -04:00
3a8faa8966 correct stress tally 2021-08-25 07:42:37 -04:00
b1e40a05bc disallow newton pair off 2021-08-25 07:42:37 -04:00
61b9d4a19f update epsilon 2021-08-25 07:42:37 -04:00
d9579c4ecd Changed the virial computation method for pair/ilp/graphene/hbn and pair/kolmogorov/crespi/full from fk x rkj to fk x rki 2021-08-25 14:55:28 +08:00
caaea35c64 Merge pull request #2 from akohlmey/SLLOD-Kokkos
Update pull request to current upstream and resolve merge conflict
2021-08-25 15:29:23 +10:00
0a07f4eae0 spelling issues 2021-08-24 23:48:17 -04:00
c6145e029a update features list 2021-08-24 23:46:06 -04:00
026d7bd112 update description of development model and release cycles 2021-08-24 23:26:22 -04:00
e4e08972f8 update overview text 2021-08-24 23:02:49 -04:00
a1e0341d8c detect and update output for OpenMP version 5.1 2021-08-24 23:01:43 -04:00
7ddfa382dc enable and process pair style table with clang-format 2021-08-24 22:27:11 -04:00
d79c42ac41 improve error messages for incorrect/inconsistent table data 2021-08-24 22:26:59 -04:00
5ba6fee94e Merge branch 'master' into SLLOD-Kokkos
# Conflicts:
#	src/KOKKOS/compute_temp_kokkos.h
2021-08-24 21:48:03 -04:00
857d0d255d change OFFSET to correct value 2021-08-24 17:25:53 -06:00
30fc6e3790 consistency between fix TTM variants 2021-08-24 17:17:54 -06:00
ccbf39d2c9 add unit tests using pppm and ewald with a tilted box 2021-08-24 16:00:26 -04:00
dfc03bd107 avoid 32bit integer overflow on 64-bit storage sizes 2021-08-24 15:49:41 -04:00
588f821ac8 add support for text output and restart output 2021-08-24 13:46:29 -06:00
2150fb7413 adjust epsilon for portability 2021-08-24 15:41:42 -04:00
2239130798 randomize bilayer data file positions to make interlayer tests more reliable 2021-08-24 15:41:28 -04:00
eaf5e08542 detect invalid use and silence compiler warnings 2021-08-24 14:27:20 -04:00
25d9d5dfff Merge pull request #2895 from rbberger/python_coverage_fix
Use .coveragerc to configure Python coverage reporting
2021-08-24 14:07:23 -04:00
3d34ee5087 Merge branch 'master' into fix-ttm-grid 2021-08-24 11:34:27 -06:00
8dd2428294 Merge pull request #2891 from akohlmey/collected-small-changes
Collected small changes and bug fixes
2021-08-24 13:34:20 -04:00
0bb26ff296 make fix qeq/reaxff/kk consistent with REAXFF package version 2021-08-24 12:13:06 -04:00
a26da031aa Use .coveragerc to configure Python coverage reporting 2021-08-24 11:27:30 -04:00
af14e3227d skip folders/files in lib with downloaded content 2021-08-24 10:32:10 -04:00
1c7cc42846 fix parallel programming bug in interlayer pair styles 2021-08-24 10:28:57 -04:00
862cb43fa9 Enable unittest for GPU lj/cut/tip4p/long 2021-08-24 17:07:51 +03:00
3dc142c0b0 Added fix_nvt_sllod_kokkos and compute_temp_deform_kokkos to Install.sh 2021-08-24 16:23:05 +10:00
d34083dd54 update false positives 2021-08-23 23:25:25 -04:00
4fb67c0cc6 mention pre-C++-11 version as C++-98 version. 2021-08-23 23:25:16 -04:00
d561fe3457 clarify license terms description and reduce redundancy. mention LGPL verison 2021-08-23 23:24:47 -04:00
897dfdfb19 some updates to authors list 2021-08-23 23:24:06 -04:00
e6455c2153 fix spelling errors 2021-08-23 23:12:23 -04:00
3bce886ab7 workaround style checker issue 2021-08-23 22:16:39 -04:00
49c9f4597f apply clang-format 2021-08-23 21:46:54 -04:00
72679f6127 Merge branch 'master' into collected-small-changes 2021-08-23 21:44:21 -04:00
c84ebd1c93 update docs for build options for development 2021-08-23 21:43:49 -04:00
d72d8fa938 we require python 3.5 or later 2021-08-23 21:43:06 -04:00
1ee1471b56 fix spelling errors 2021-08-23 21:42:48 -04:00
43261c3a4f Merge pull request #2885 from lammps/grid-adjust
Grid adjust
2021-08-23 21:39:35 -04:00
7b3755bcf4 remove redundant '// clang-format off' marker 2021-08-23 21:17:04 -04:00
7fe6e95d3a make clang-format processing verbose to show progress 2021-08-23 21:11:05 -04:00
1bd6e56369 simplify code using utils::strdup() 2021-08-23 21:06:56 -04:00
9a19a814e4 apply clang-format to packages 2021-08-23 21:06:33 -04:00
686f41731f disable applying clang-format to all "style" classes in the KOKKOS package (for now) 2021-08-23 20:55:41 -04:00
8f71979ba1 update formatting in src folder with clang-format 2021-08-23 20:46:09 -04:00
cb19806020 update ReaxFF reference data due to use of more precise constants in fix qeq/reax 2021-08-23 20:34:44 -04:00
d44edeb32e make clang-format custom targets in CMake similar to the ones in GNU make 2021-08-23 18:36:44 -04:00
6b6e63f77f avoid redundant defines 2021-08-23 18:36:07 -04:00
fec77e49bd add clang-format commands to Makefile 2021-08-23 18:22:12 -04:00
2cfc629388 reformat REAXFF headers with clang-format 2021-08-23 18:21:47 -04:00
86739c46d9 Merge pull request #2889 from jrgissing/property/atom-group-bugfix
property/atom group bugfix
2021-08-23 18:20:53 -04:00
6bc8da05b9 reformat unittest tree with clang-format 2021-08-23 17:06:30 -04:00
4e715da2f3 Merge branch 'grid-adjust' of github.com:lammps/lammps into grid-adjust 2021-08-23 14:57:12 -06:00
0dea376e1a restart support for TTM fixes 2021-08-23 14:56:33 -06:00
d640cd6838 Merge pull request #2890 from stanmoore1/kk_deform
Fix bug with v remap option in Kokkos fix deform
2021-08-23 16:41:23 -04:00
3a3f32d3a8 Merge branch 'master' into tip4p_fix_types 2021-08-23 16:43:55 +03:00
0f8b331d8f enable check/fix scripts in traditional makefile 2021-08-22 22:47:55 -04:00
0c7cf3cdaa protect against use with Python 2.x, use full absolute directory path internally 2021-08-22 22:47:09 -04:00
f473ca498b Created in.grid.local, fixed some problems in src 2021-08-22 19:24:23 -06:00
bc91d05857 fix typo 2021-08-22 20:46:58 -04:00
92b5b159e5 replace tabs and remove trailing whitespace in lib folder with updated script 2021-08-22 20:45:24 -04:00
1b1f6f29c2 Updated grid.py to use sna/grid/local compute, but it seg-faults 2021-08-22 18:44:35 -06:00
30821b37e5 replace tabs 2021-08-22 20:43:27 -04:00
0c4752b858 add support to check for tabs as whitespace errors including option to fix 2021-08-22 20:43:08 -04:00
94c97e83a2 Added this helper file 2021-08-22 18:30:02 -06:00
607e75f984 remove tabs 2021-08-22 19:42:55 -04:00
347e5a5978 Created local grid that is used to populate global grid 2021-08-22 16:03:50 -06:00
8b2e3ad3ee add unit tests for fix addtorque 2021-08-22 14:27:38 -04:00
bb852f2393 skip some more aliased styles 2021-08-22 14:21:31 -04:00
bb5a11b330 add timestepping unit tests for atom style sphere 2021-08-22 14:16:50 -04:00
bf618b3128 support tests for integrators with dipoles and extended particles 2021-08-22 12:44:02 -04:00
d9538a4745 skip some aliases when checking for missing force style tests 2021-08-22 11:55:37 -04:00
db887b4d7a add unit test for angle style dipole 2021-08-22 11:49:29 -04:00
433ece22ec add unit test for dihedral style spherical 2021-08-22 11:28:32 -04:00
9b4317335a reorder includes 2021-08-22 11:28:04 -04:00
9ce9d36ac5 correct package designations for styles in the EXTRA-MOLECULES package 2021-08-22 11:27:48 -04:00
403ee3a85f apply clang-format 2021-08-22 11:13:34 -04:00
ce71e45db0 plug memory leak 2021-08-22 11:11:32 -04:00
eeff288541 tweak settings to pass OpenCL GPU tests in mixed precision 2021-08-22 10:50:28 -04:00
dd670bab66 update dipole data file with randomized dipole orientations 2021-08-21 20:50:16 -04:00
46e4e1b60e add kspace tests with dipoles 2021-08-21 20:45:25 -04:00
1b72cf01a9 add unit test inputs for pair styles with point dipoles 2021-08-21 20:31:18 -04:00
384330aff2 update/correct extract function 2021-08-21 20:31:02 -04:00
1c7bf82930 initialize scale array 2021-08-21 20:30:38 -04:00
4032c6da98 fix restart bug 2021-08-21 20:30:15 -04:00
09b0809d75 add template files for testing dipolar pair styles and kspace styles 2021-08-21 19:18:21 -04:00
3083e6f4cb make ewald/disp/dipole an alias for ewald/disp for more obvious choices for users 2021-08-21 15:56:46 -04:00
2afa00ae66 pretty 2021-08-21 15:18:54 -04:00
ad5cc694dc correctly check for and enable/disable dipole and dispersion support 2021-08-21 15:18:44 -04:00
d8f0cec031 updates/bug-fixes to parallel fix ttm/grid 2021-08-20 16:57:20 -06:00
7c61e96f0b Fix bug with v remap option in Kokkos fix deform 2021-08-20 16:08:06 -06:00
1a81a94dfb fix up whitespace issues (remove tabs, trailing whitespace) 2021-08-20 15:00:19 -04:00
29fe006e46 fix issue in non-perioidic msm.cpp to allow it to work with any grid partitioning 2021-08-20 12:43:47 -06:00
1eb506002b Merge pull request #2888 from lammps/sticker-bonds
Sticker bonds
2021-08-20 14:28:57 -04:00
8735555e00 1 liner fix for PR #2342 2021-08-20 14:17:05 -04:00
fcc6cc628e fix whitespace 2021-08-20 13:47:24 -04:00
55605167ab Merge pull request #135 from lammps/master
rebase
2021-08-20 10:26:57 -04:00
92d9efa1af Merge branch 'master' into gpu-newton-pair-on 2021-08-19 23:25:49 -05:00
904a2ef910 Reverted the default setting of newton_pair off for FixGPU; newton_pair can be set to be on via command-line options of package gpu 2021-08-19 22:54:06 -05:00
7a8afb6eef add fragment count to molecule file output 2021-08-19 20:10:26 -04:00
f0a041799f add original TTM for testing 2021-08-19 16:55:57 -06:00
95bae4d78c sync with current master 2021-08-19 16:09:41 -06:00
9577db6578 Merge branch 'master' into fix-ttm-grid 2021-08-19 16:00:56 -06:00
3404920e98 Merge pull request #2342 from lammps/fix-property-array
Enable fix property/atom to create custom arrays
2021-08-19 17:33:55 -04:00
b0197e0607 Merge branch 'master' into grid-adjust 2021-08-19 17:29:51 -04:00
d4de26f6ef fix whitespace issues 2021-08-19 17:28:48 -04:00
537f0eed8e Merge pull request #2886 from akohlmey/pair-coul-exclude
Add a pair style coul/exclude for removing excluded coulomb interactions
2021-08-19 17:25:57 -04:00
f7c8b0c88b address spellcheck issues 2021-08-19 17:00:46 -04:00
bc6e805c99 fix doc formatting issues 2021-08-19 16:53:03 -04:00
e1c1c663c4 correction to doc page 2021-08-19 14:21:15 -06:00
845cebaab1 Add comment 2021-08-19 14:02:57 -06:00
eebbbe9f73 support a second usage model with fix bond/swap 2021-08-19 14:01:06 -06:00
7d0c052425 Fix deallocation with Kokkos 2021-08-19 14:00:37 -06:00
9470a0eeb6 clarified doc pages for fix property/atom and read_data 2021-08-19 11:34:25 -06:00
8aeaa82909 improve error message 2021-08-19 11:08:04 -04:00
1c67561be8 Merge branch 'fix-property-array' of github.com:lammps/lammps into fix-property-array 2021-08-19 09:00:51 -06:00
7046b75861 remove evil tabs 2021-08-19 10:06:34 -04:00
11b4ae641f add unit test for pair style coul/exclude 2021-08-19 05:46:12 -04:00
23231118d1 add a couple explanatory comments 2021-08-19 05:29:54 -04:00
093fbfd4b5 add documentation for pair style coul/exclude 2021-08-19 05:25:36 -04:00
8b680d43e5 add pair style coul/exclude for use with kspace style scafacos 2021-08-19 05:00:52 -04:00
7d0cdea282 allow using kspace_style scafacos for molecular systems under certain conditions 2021-08-19 05:00:11 -04:00
4ce71fd767 pretty 2021-08-19 04:23:44 -04:00
89de4eb7c4 make sure that coul/exclude special neighbors are always flagged 2021-08-19 04:23:26 -04:00
3a7a5d13ef apply clang-format 2021-08-19 04:22:55 -04:00
e149c2fe10 function no longer needs to be public 2021-08-19 04:20:12 -04:00
5c46c6d3a6 update unit test for per-atom arrays and vectors 2021-08-18 22:51:09 -04:00
c53875421b fix read_data bug 2021-08-18 22:50:42 -04:00
b942c4d122 fix data corruption bug affecting write_data 2021-08-18 22:31:46 -04:00
04b0f98a5f fix logic bug in utils::expand_args() 2021-08-18 20:26:51 -04:00
d9f3745eff pretty 2021-08-18 20:26:01 -04:00
546c9a109e fix uninitialized data bug 2021-08-18 20:25:49 -04:00
5e6079c2fc Merge branch 'fix-property-array' of github.com:lammps/lammps into fix-property-array 2021-08-18 16:54:02 -06:00
b19a211d70 update code 2021-08-18 18:06:21 -04:00
f6874af7e5 pretty 2021-08-18 18:05:36 -04:00
104fa4624e correct utils::expand_args() 2021-08-18 18:04:44 -04:00
4e16df9a21 remove prototype for early version of partition_grid method 2021-08-18 15:56:52 -06:00
2119b59d97 code documentation tweaks 2021-08-18 15:49:23 -06:00
1c5bdadcfb small alteration to code that assigns grid pts to procs 2021-08-18 15:43:54 -06:00
dbfba25e04 Merge pull request #1 from akohlmey/SLLOD-Kokkos
Update to current upstream, fix a few cosmetic issues, use alternative to str(n)cmp()
2021-08-19 07:29:51 +10:00
cf25a586bd debugging merged version 2021-08-18 13:07:49 -06:00
de61b3a547 update utils::expand_args 2021-08-18 14:35:27 -04:00
0a99d338f2 update argument parsing 2021-08-18 14:35:02 -04:00
1e37d1ad7f pretty 2021-08-18 14:34:03 -04:00
40fcfef35b create_atoms serial build bugfix 2021-08-18 14:17:04 -04:00
355dd5db9b include 2 use cases in doc page 2021-08-18 11:55:47 -06:00
e08c4abb4b whitespace fixes 2021-08-18 13:06:00 -04:00
4fed16fe8b pretty 2021-08-18 13:00:40 -04:00
f9b32f0eef use ArgInfo class to process references to custom vectors and arrays 2021-08-18 13:00:32 -04:00
300fee0437 add some more checks for typical string matches for references to fixes and alike 2021-08-18 12:59:56 -04:00
c50abed92b recover compilation 2021-08-18 12:59:31 -04:00
c6819e30cf simplify 2021-08-18 12:58:39 -04:00
c57da0661d update package name 2021-08-18 12:49:16 -04:00
6db856fd68 refactor dynamic constraints array
cannot use memory->* routines with non-primitive types
2021-08-18 11:24:32 -04:00
08e71eee6d corrections to recent large reformatting PR 2021-08-18 10:30:35 -04:00
f30434659e Merge branch 'master' into SLLOD-Kokkos 2021-08-18 05:55:34 -04:00
511ac49949 reformat, minor cosmetic changes 2021-08-18 05:53:23 -04:00
ee5273fbb1 Merge pull request #2879 from akohlmey/interlayer-refactor
Unit tests, bugfixes and file reader refactor for some INTERLAYER pair styles
2021-08-18 04:54:13 -04:00
4876e0cbb6 Changed URLs in the headers to point to the new LAMMPS site. 2021-08-18 17:37:00 +10:00
2e59b5c4de Fixed whitespace errors and removed some extraneous comments. 2021-08-18 15:23:46 +10:00
b385c85440 Refactored PPPMKokkos::setup_triclinic kernel indexing to be more consistent the rest of the codebase.
This commit "fixes" the temporary solution using Kokkos::MDRange in commit a98b8bee88.
2021-08-18 15:23:46 +10:00
d7f9f9fead Updated documentation to include Kokkos accelerated NEMD styles.
Also tidied up header files and attribution to fit LAMMPS coding style.
2021-08-18 15:23:46 +10:00
8ae9d51466 Fixed memory issues in ComputeTempDeformKokkos. 2021-08-18 15:23:46 +10:00
8945d81be3 Added Kokkos accelerated SLLOD thermostat (nvt/sllod/kk). 2021-08-18 15:23:46 +10:00
e7ba4179a7 Added Kokkos-enabled version of compute temp/deform. 2021-08-18 15:23:46 +10:00
e400e5b6f7 Fixed bug in PPPMKokkos::setup_triclinic for MPI calculations.
This fix should probably be considered a temporary fix - it relies on a
3-dimensional Kokkos range which seems to be disfavoured in the rest of
LAMMPS' codebase.
2021-08-18 15:23:46 +10:00
cfd9cf625d Initial draft of Kokkos acclerated PPPM routines for triclinic cells. 2021-08-18 15:23:46 +10:00
a1dd2c7655 move inline functions from header to cpp file 2021-08-17 22:37:47 -04:00
f470964393 apply clang-format 2021-08-17 22:35:05 -04:00
96b563dffc move common taper functions for interlayer potentials to separate header 2021-08-17 22:34:32 -04:00
bbb8adf656 update kolmogorov/crespi/z and lebedeva/z pair styles to use new file reader and unit conversion 2021-08-17 21:56:17 -04:00
661ec1acc3 fix typo 2021-08-17 21:55:22 -04:00
bb3c4797b3 update some more interlayer potential files 2021-08-17 21:55:12 -04:00
c758d224e0 Merge pull request #2881 from stanmoore1/kk_cmake
Fix issue when building Kokkos with CMake
2021-08-17 21:12:18 -04:00
62564b0a5c cmake: only use LMP_KOKKOS define in build interface 2021-08-17 15:52:09 -06:00
58a86412ec recover compilation 2021-08-17 16:26:59 -04:00
6dafbd2fbe support metal2real unit conversion 2021-08-17 16:20:00 -04:00
0906e94207 small fixes 2021-08-17 16:13:01 -04:00
e5a194d8d4 sync Kokkos changes with current master 2021-08-17 14:12:47 -06:00
2bf9fa91db more changes to merge with current master 2021-08-17 14:03:58 -06:00
05bd545cd3 flush tiny stresses to zero to avoid false positives when testing 2021-08-17 15:10:46 -04:00
4f9941e18d support metal2real unit conversion in pair style drip 2021-08-17 15:05:23 -04:00
6d53cd1986 refactor potential file reader in pair style drip 2021-08-17 14:50:34 -04:00
96280dc185 Merge branch 'master' into fix-property-array 2021-08-17 12:19:27 -06:00
8b8cce4399 add unit test YAML file for DRIP pair style 2021-08-17 14:12:50 -04:00
e6af1eecb8 resolved merge conflicts with master 2021-08-17 11:55:33 -06:00
82871ca515 Merge branch 'master' into interlayer-refactor 2021-08-17 13:25:13 -04:00
527240e941 Merge pull request #2880 from akohlmey/arginfo_update
Collected bugfixes and small update for ArgInfo class
2021-08-17 13:24:02 -04:00
d321202908 Add change from @junghans 2021-08-17 10:27:50 -06:00
9fa255b3ff Fix issue when building Kokkos with CMake 2021-08-17 10:09:39 -06:00
18cc43a560 extend ArgInfo class to also accept "i2_name" and "d2_name" 2021-08-17 12:04:58 -04:00
95a2041df3 reformat potential file headers to comply with LAMMPS' conventions 2021-08-17 10:48:51 -04:00
01503535f4 remove unused symlinks 2021-08-17 10:48:09 -04:00
6ccdeafa78 reformat with clang-format 2021-08-17 10:22:42 -04:00
42fadf55cf fix typos 2021-08-17 10:05:58 -04:00
0dbcb5dd66 replace #define with constrexpr for better compiler error reports on integer constants 2021-08-17 09:42:08 -04:00
f24054f7b3 test utils::fgets_trunc() with buffer size of exactly the length of string 2021-08-17 09:41:19 -04:00
e91185869d fix bug in utils::fgets_trunc(). closes #2878 2021-08-17 09:38:12 -04:00
a901427ee0 Merge pull request #2876 from akohlmey/address-lgtm-issues
Address code quality issues flagged by lgtm.com
2021-08-17 08:53:09 -04:00
dad9942bb8 Merge pull request #2869 from akohlmey/modify-add-returns-index
Have add_fix(), replace_fix() and add_compute() in Modify return class instance and refactor/simplify code
2021-08-16 15:44:16 -04:00
436d200a9a refactor file reader code 2021-08-16 15:29:43 -04:00
9e559de601 pretty 2021-08-16 15:21:51 -04:00
56a74bbe3d refactor file reader code 2021-08-16 15:21:38 -04:00
6f46ac57b9 plug small memory leak in pppm/gpu 2021-08-16 13:50:43 -04:00
7b873ffc0b add unit tests for ilp/graphene/hbn and kolmogorov/crespi/full 2021-08-15 19:07:57 -04:00
832f6499ed add suppression for OpenMP in newer GCC compilers 2021-08-15 18:39:42 -04:00
7efbdb24cc fix memory leak 2021-08-15 18:39:21 -04:00
e15c51c7e1 correctly use global cutoff instead of per-type-pair cutoffs 2021-08-15 17:44:22 -04:00
cba8e8237a avoid memory leak with MPI-IO 2021-08-13 06:25:21 -04:00
eaedd9ad48 fix output issues 2021-08-13 06:24:57 -04:00
9cb8a6205e apply "no" argument correctly 2021-08-13 06:24:39 -04:00
a765cf373a update formatting 2021-08-13 06:24:22 -04:00
f08c249d40 don't hide parameter with local variable 2021-08-13 06:23:46 -04:00
1abce8e821 remove dead code 2021-08-13 05:51:05 -04:00
3bfb235070 fix memory leak 2021-08-13 05:50:53 -04:00
3e99e24f41 make calls to virtual functions from constructors explicit 2021-08-13 05:50:44 -04:00
0928c912c0 fix memory leaks and reformat 2021-08-13 05:50:03 -04:00
26c681cf73 update for changes in base class 2021-08-09 16:28:19 -04:00
c8b7b8271d add missing dependency 2021-08-09 16:28:03 -04:00
1d98388129 Merge branch 'modify-add-returns-index' of github.com:akohlmey/lammps into modify-add-returns-index
# Conflicts:
#	src/GRANULAR/pair_gran_hooke_history.cpp
2021-08-09 16:00:48 -04:00
64d7b73d7c Update region.rst
Include a few lines describing the "ellipsoid" option
2021-08-09 07:54:41 +02:00
35aeadfdd4 implementation of a "ellipsoidal" region option
Based on the code of the region_sphere and the code described in https://www.geometrictools.com/Documentation/DistancePointEllipseEllipsoid.pdf, an option for axis-aligned ellipsoidal regions has been implemented
2021-08-08 17:01:51 +02:00
fe008b93d7 remove obsolete line 2021-08-07 10:33:26 -04:00
42625a82d1 simplify more code for creating fix instances using the improved APIs 2021-08-07 10:09:06 -04:00
68c15ebf04 refactor/simplify code due to changes in Modify 2021-08-07 10:09:06 -04:00
f23b04f9b6 update Eigen3 to support the latest stable release 3.3.9 2021-08-07 10:09:06 -04:00
88604328f5 workaround for PGI compilers 2021-08-07 10:09:06 -04:00
156790df2c apply changes to modify class 2021-08-07 10:08:58 -04:00
0b30f57812 streamline code by using changes in Modify class 2021-08-07 10:04:49 -04:00
0d9344c9e2 simplify 2021-08-07 10:04:49 -04:00
01f5b7e095 when creating or replacing a fix or compute, return pointer to new instance 2021-08-07 10:04:49 -04:00
e789bf8925 use temporary vector container to avoid explicit delete[] 2021-08-07 10:04:49 -04:00
0123f9290f update Eigen3 to support the latest stable release 3.3.9 2021-08-06 18:59:56 -04:00
06371629d6 workaround for PGI compilers 2021-08-06 18:44:42 -04:00
c84e7a5040 Merge pull request #2868 from akohlmey/collected-small-changes
Collected small changes
2021-08-06 18:35:29 -04:00
29bf3acd9e apply changes to modify class 2021-08-06 18:34:32 -04:00
03f9ef7de9 add unique identifier to the history fix so the gran/*/history styles can be used multiple times with pair style hybrid 2021-08-06 15:34:43 -04:00
e9e6cdca1d using GPU package is not compatible with fix qeq variants 2021-08-06 14:22:48 -04:00
e29bd3d157 update defines from -DLMP_USER-<PKG> to -DLMP_<PKG> for consistency 2021-08-06 14:07:43 -04:00
93465f98d8 improve error message 2021-08-06 13:55:53 -04:00
aeef6e6773 reformat with clang-format 2021-08-06 13:55:53 -04:00
8baaed5724 use const std::string & instead of const char *. avoid exception in sfree() 2021-08-06 13:55:53 -04:00
a7d05cff09 streamline code by using changes in Modify class 2021-08-06 13:39:02 -04:00
b16bca2f45 simplify 2021-08-06 13:39:02 -04:00
06f6434b38 when creating or replacing a fix or compute, return pointer to new instance 2021-08-06 13:39:02 -04:00
5861577a72 use temporary vector container to avoid explicit delete[] 2021-08-06 13:39:02 -04:00
912a1fc561 Merge pull request #2865 from rbberger/python_update
Python package update
2021-08-06 13:37:14 -04:00
eece77eecf Merge pull request #2866 from Colvars/colvars-update
Update Colvars to version 2021-08-06 (silence Coverity Scan warnings)
2021-08-06 11:20:46 -04:00
eb52f7c290 Update Colvars to version 2021-08-06 (silence Coverity Scan warnings)
Also include PDF copy of the manual forgotten in previous PR.
2021-08-06 10:32:37 -04:00
b9fa4e1db2 avoid memory leaks on specifying keywords multiple times 2021-08-06 10:22:31 -04:00
f3a03d6a84 Catch ValueError instead of base exception 2021-08-06 10:21:40 -04:00
0904ffa813 Enabled newton pair on for gpu pair styles 2021-08-06 01:11:31 -05:00
53b94ac94d Allow fix python/move to load class from __main__ 2021-08-05 18:10:19 -04:00
980b817f3f Allow python pair style to load class from __main__ 2021-08-05 18:03:05 -04:00
5045595ad8 Merge pull request #2861 from akohlmey/fix-valgrind-issues
Address issues flagged by running unit tests with valgrind and sanitizer instrumentation
2021-08-05 16:07:57 -04:00
3fc97e9466 Merge branch 'fix-valgrind-issues' of github.com:akohlmey/lammps into fix-valgrind-issues 2021-08-05 12:20:33 -04:00
5295bb5109 fix refactoring bugs 2021-08-05 12:20:20 -04:00
177e60830e Merge branch 'master' into fix-valgrind-issues 2021-08-05 12:11:59 -04:00
c23dc22a3e Merge pull request #2862 from akohlmey/intel-set_ntypes-consistent
Make ForceConst::set_ntypes() more robust and fix related bug in pair style sw/intel
2021-08-05 11:50:50 -04:00
50c476b6af Merge pull request #2863 from Colvars/colvars-update
Update Colvars library to version 2021-08-03
2021-08-05 11:16:51 -04:00
9a60ab0c23 correctly insert atoms/molecules any nfreq timesteps even with multiple run
this changes the computation of "next_reneighbor" so that it is based
on "nfirst" which is set during the constructor of the class.
This still maintains the property that the first deposit attempt is not
done during setup, but on the next step.
2021-08-04 21:32:10 -04:00
bc6dfdb656 update readme 2021-08-04 17:44:56 -04:00
08a727d510 make some class members temporaries since they don't need to persist 2021-08-04 17:19:23 -04:00
2e7b3081a1 fix bug enumerating output when using python invoke with multiple functions 2021-08-04 17:07:16 -04:00
bb9c0630f8 suppressions for readline function calls from lammps-shell 2021-08-04 17:06:02 -04:00
0ea6406bb9 Merge branch 'fix-valgrind-issues' of github.com:akohlmey/lammps into fix-valgrind-issues 2021-08-04 12:25:12 -04:00
c4442206d4 add special case for heredocs in utils::split_words() to avoid segfaults 2021-08-04 12:03:34 -04:00
7068f3e77b add a few more test cases for testing utils::split_words() 2021-08-04 12:02:55 -04:00
2a9be42758 Update Colvars to version 2021-08-03 2021-08-03 18:03:18 -04:00
0938bc8999 update docs for hybrid style updates 2021-08-02 21:53:31 -04:00
c1c31c6b04 may not call memmove() on a null pointer, even if 'n' is 0. 2021-08-02 21:35:25 -04:00
04c7e7543e use friend statement instead of (incorrect) cast to give access to protected class member 2021-08-02 21:34:30 -04:00
37ca6a8e0b make handling of reference to Memory class in ForceConst class more robust 2021-08-02 15:50:44 -04:00
b7be9415de fix segfault with pair style sw/intel 2021-08-02 15:49:26 -04:00
53050a0429 add suppressions for FlexiBLAS on Fedora 2021-08-02 15:45:32 -04:00
a3bfcc68ef add libgomp suppression for newer GCC 2021-08-02 15:45:15 -04:00
848db31a77 reformat with clang-format 2021-08-02 15:25:01 -04:00
8aa39a6c40 make compatible with CLASS2 2021-08-02 15:23:16 -04:00
45858be1b6 avoid uninitialized data access for hybrid styles with OPENMP 2021-08-02 15:22:21 -04:00
50e8d7c36b Merge pull request #2859 from akohlmey/next_patch_release
Step version strings for next patch release
2021-07-30 16:40:10 -04:00
29eee29241 Merge pull request #2860 from evoyiatzis/patch-1
fixing compute gyration/shape indexing bug
2021-07-30 15:45:51 -04:00
db4fcd7537 update package dependency 2021-07-30 15:24:23 -04:00
75214f1eeb Merge pull request #2857 from akohlmey/update-formatted-output
Modernize formatted output and string handling in packages
2021-07-30 12:50:25 -04:00
82936b1e4f fixing indexing bug
The gyration_tensor[4] element  as computed by "compute gyration" corresponds to the xz component of the gyration tensor and the gyration_tensor[5] to the yz component. The  code  assumed that gyration_tensor[4] corresponds to the yz component and the gyration_tensor[5] to the xz.
2021-07-30 18:14:44 +02:00
a0197644f0 Merge remote-tracking branch 'origin/master' into compute-grid-new 2021-07-30 10:04:09 -06:00
162868f13c Readded r=0 check 2021-07-30 10:01:20 -06:00
f5b82ea3ef Merge pull request #2856 from akohlmey/collected-small-changes
Collected small changes and fixes
2021-07-30 11:36:40 -04:00
5f401da462 correct bug in derived CG-DNA FENE bond classes and optimize code 2021-07-30 10:48:15 -04:00
9dc662973e step version strings for next patch release 2021-07-29 21:18:03 -04:00
d211bbc0d6 expand ArgInfo class unit tests 2021-07-29 20:58:02 -04:00
cb32bb972b fix bugs in ArgInfo class 2021-07-29 20:57:42 -04:00
6b20da7549 update lammps shell test to use a fix that is always available 2021-07-29 17:48:35 -04:00
4710b7bc9e modernize and simplify code to find best matching restart file 2021-07-29 17:25:42 -04:00
5cdf55937d move pair style tracker to a better location 2021-07-29 17:17:06 -04:00
ca2abd22be remove unused file 2021-07-29 17:08:16 -04:00
a80829bd79 avoid compilation error 2021-07-29 16:14:52 -04:00
a6d66c3518 update .gitignore 2021-07-29 16:07:23 -04:00
33905fd689 fix one more KOKKOS package installation dependency 2021-07-29 16:07:14 -04:00
246b70ae46 update codeowners list 2021-07-29 15:56:21 -04:00
c49a533ad9 reformat, simplify, add reference log files 2021-07-29 15:40:43 -04:00
b108da3e5c simplify format handling 2021-07-29 15:26:29 -04:00
dcff3d70e0 simplify fix instance creation 2021-07-29 15:18:58 -04:00
520109bda0 simplify 2021-07-29 14:55:22 -04:00
ebe5e6c024 reformat 2021-07-29 14:44:15 -04:00
5b6b6b8767 simplify and use utils functions 2021-07-29 14:33:41 -04:00
b5830b672a simplify logging code 2021-07-29 14:18:38 -04:00
9cf790a2fe simplify and use fmtlib 2021-07-29 14:09:49 -04:00
3a968b81ad update 2021-07-29 13:59:59 -04:00
b4e3795913 fix copy-n-paste error 2021-07-29 13:58:27 -04:00
43b3c97cc0 add unit tests for scafacos kspace solver (skipping p3m) 2021-07-29 13:57:02 -04:00
2a1177fa92 reformat with clang-format 2021-07-29 13:29:56 -04:00
508798ab2b simplify code, make use of fmtlib and utils 2021-07-29 13:25:06 -04:00
a9271b6d9a replace temporary char buffer with using fmtlib 2021-07-29 12:36:50 -04:00
211d6636b4 modernize and simplify code to find best matching restart file 2021-07-29 12:09:55 -04:00
5f2b947b99 fix typo 2021-07-29 11:48:24 -04:00
1e48be92aa avoid segfault 2021-07-28 21:50:20 -04:00
b9ab0eb607 fix broken symbolic links 2021-07-28 21:32:52 -04:00
bf6c982b49 skip using neighbor list load balancing weight when using KOKKOS with GPU 2021-07-28 21:30:06 -04:00
6d75912f7a Switched to local array 2021-07-28 18:34:08 -06:00
b8d3297659 add missing package dependency 2021-07-28 18:45:09 -04:00
d33863839e update pair style installation dependencies 2021-07-28 18:37:59 -04:00
294ac76f41 forgot to move pair style beck to EXTRA-PAIR 2021-07-28 18:33:33 -04:00
6fcfbb7793 add missing dependency for conventional build 2021-07-28 18:18:54 -04:00
3a5d3fc541 fix compilation 2021-07-28 18:11:59 -04:00
218467b385 use fabs() instead of abs() on floating point number 2021-07-28 16:17:12 -04:00
9a4bc8eda1 apply citation reminder 2021-07-28 16:16:54 -04:00
f46e1c98f7 removed dead code and make consistent with non-OPENMP version 2021-07-28 16:16:42 -04:00
32be894ae2 silence compiler warnings 2021-07-28 16:16:22 -04:00
b59f23068f Merge pull request #2851 from akohlmey/next_patch_release
Step version number strings for the next patch release
2021-07-28 15:26:03 -04:00
b2f70f4e1f Merge pull request #2855 from akohlmey/update-unittest
Correct a couple of unit tests for package reorganization
2021-07-28 14:15:01 -04:00
600471d07f skip run test with fix when fix is not available 2021-07-28 12:11:54 -04:00
74a27c102e correct prerequisite 2021-07-28 12:11:35 -04:00
ed34856961 Merge pull request #2854 from akohlmey/final-fixes-for-patch-release
Final fixes for the patch release
2021-07-27 20:31:52 -04:00
8e6b7bf6e5 Merge pull request #2853 from stanmoore1/kk_verlet
Fix bug in verlet_kokkos.cpp with GRANULAR package
2021-07-27 18:59:20 -04:00
bb5da016d4 add dependencies for KOKKOS style to the conventional build 2021-07-27 18:21:45 -04:00
269690b771 document hard package dependencies 2021-07-27 18:21:22 -04:00
fe34fe26b2 add a hard dependency on EXTRA-PAIR to the DIELECTRIC package 2021-07-27 18:21:08 -04:00
416048e939 Fix compile error 2021-07-27 15:57:06 -06:00
f20479f10e Fix typo 2021-07-27 15:47:42 -06:00
e47bd5c490 Merge branch 'master' of github.com:lammps/lammps into kk_verlet 2021-07-27 14:28:54 -06:00
c4eee478b1 move back to src for dependencies 2021-07-27 15:53:35 -04:00
de4322b54c whitespace fixes 2021-07-27 14:32:04 -04:00
3ff096e517 Merge pull request #2848 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2021-07-27 14:24:12 -04:00
b1331f52a5 Merge pull request #2849 from wmbrownIntel/intel-omp-simd
Convert Intel package simd vectorization directives to OpenMP standard
2021-07-27 13:37:58 -04:00
dbe14d9ee7 Add missing method to Kokkos verlet 2021-07-27 11:22:20 -06:00
d292da78ca address CodeQL warnings and reformat with clang-format 2021-07-27 12:29:44 -04:00
f7f85822a9 move some more computes from EXTRA-COMPUTE back to src because of dependencies 2021-07-27 12:07:27 -04:00
8838fbc1c3 Merge pull request #2850 from akohlmey/lammps-gather-bonds
Implement lammps_gather_bonds() into the C-library interface and the Python module
2021-07-27 11:30:19 -04:00
ec069595f7 move compute orientorder/atom because compute coord/atom depends on it 2021-07-27 11:16:40 -04:00
2d488bab6b Merge branch 'master' into collected-small-changes 2021-07-27 11:15:00 -04:00
dab884fd1f Merge pull request #2829 from akohlmey/package-reorganization2
Package reorganization (step 2)
2021-07-27 10:55:32 -04:00
f39c5178d8 update plumed to version 2.7.2 and drop workaround for 2.7.1 2021-07-27 09:56:52 -04:00
16fae72670 small tweak for MinGW-64 compilation on Fedora 34 2021-07-27 08:44:59 -04:00
a4ffffad33 update some version strings for library and python APIs 2021-07-26 23:10:24 -04:00
044fe2e49d step version number strings for the next patch release 2021-07-26 23:09:18 -04:00
458253b452 add python interface with optional numpy support for lammps_gather_bonds()
unit tests are included
2021-07-26 22:40:21 -04:00
cc87e7eee3 add unit test for c-library interface function lammps_gather_bonds() 2021-07-26 20:59:14 -04:00
829bc8a617 update equation for updated NEB code 2021-07-26 18:45:37 -04:00
fdc75dcf35 add lammps_gather_bonds() function to the C library interface 2021-07-26 18:32:06 -04:00
f34f6b2a27 Merge branch 'master' of https://github.com/wmbrownIntel/lammps into intel-omp-simd 2021-07-26 12:10:37 -07:00
af359df042 Allowing nofdotr for Intel package with newton off. 2021-07-26 12:04:31 -07:00
fefcd0e2af Converting cilk vectorization directives to the openmp standard and changing some more depracated vector intrinsics. Data alignment directives for compiler vectorization are still mostly intel specific. 2021-07-26 11:22:21 -07:00
cca17feb27 silence compiler warnings, remove dead code 2021-07-26 12:31:09 -04:00
1fa621d02d correct quoted screen output 2021-07-25 21:18:52 -04:00
ef244c3061 small updates to the introduction 2021-07-25 21:05:33 -04:00
7e6a06b1cc update Pizza.py URLs 2021-07-25 21:04:26 -04:00
0513ba2df5 spelling 2021-07-25 20:28:14 -04:00
5a79429f03 fix up some more package designations and clean up some legacy formatting 2021-07-25 20:23:37 -04:00
18b1e10be8 Merge branch 'master' into package-reorganization2 2021-07-25 19:21:47 -04:00
1ebd60e35e update and add explanation 2021-07-25 10:56:38 -04:00
afc54639c4 update references to USER-MISC package 2021-07-25 10:42:35 -04:00
41db4235d6 update package names for pair style moved away from USER-MISC 2021-07-25 10:28:40 -04:00
513e792ece fix required package message 2021-07-25 10:15:15 -04:00
9d9b089700 get rid of references to USER-MISC in the general discussion 2021-07-25 10:03:16 -04:00
9d162d865a move pimd to REPLICA 2021-07-25 09:59:56 -04:00
2e4119dca7 update package list and details for newly created packages and removed USER-MISC 2021-07-24 21:01:19 -04:00
f192102da9 move examples away from USER-MISC now that the package folder is gone 2021-07-24 20:53:23 -04:00
57270c5339 set flag to tell CMake to not use/link the MPI C++ interface in the correct place 2021-07-24 13:46:13 -04:00
add7565d9f recover unit test compilation 2021-07-23 18:24:40 -04:00
852f18525d complete moving packages and styles around 2021-07-23 18:11:25 -04:00
0de2167fb6 Merge pull request #2846 from stanmoore1/mpich
Add logic for GPU-enabled MPICH to Kokkos package
2021-07-23 14:42:18 -04:00
1bc0a5ca8a Merge branch 'master' of github.com:lammps/lammps into mpich 2021-07-23 10:28:28 -06:00
c587252894 rename unittest YAML files 2021-07-23 12:13:50 -04:00
25aa202976 tweak epsilon to pass reaxff unittests on macOS 2021-07-23 12:12:57 -04:00
594bf56ee3 silence compiler warnings on macOS 2021-07-23 12:12:40 -04:00
fd3be6176d remove dead code 2021-07-23 08:36:23 -04:00
d2684a2370 Merge branch 'master' into package-reorganization2 2021-07-23 07:41:10 -04:00
8889fa316e Merge pull request #2837 from akohlmey/fix-external-python-support
Update and document support for fix external in the library interface and python module
2021-07-23 07:30:47 -04:00
c33bead8b1 silence static code analysis warning 2021-07-22 23:26:22 -04:00
ff7f2e78a1 Merge branch 'master' into fix-external-python-support 2021-07-22 23:09:54 -04:00
320f7da91a Merge pull request #2708 from akohlmey/refactor-reaxff-parser
Refactoring and improving REAXFF and QEQ packages
2021-07-22 23:04:09 -04:00
c8cc5ecb9f implement setting per-atom virial from numpy array (thanks to stackoverflow) 2021-07-22 22:50:05 -04:00
a078d1ba53 check energy and virial per atom arrays for correct size 2021-07-22 22:49:16 -04:00
9066495d78 Merge pull request #2838 from kipbarrett/pair_rann
plugged memory leaks in ml-rann package. Resolves [2811]
2021-07-22 22:04:39 -04:00
bf8bde5b03 implement numpy wrapper for setting per-atom energy. virial not yet implemented 2021-07-22 16:59:04 -04:00
d0a654097f Merge branch 'collected-small-changes' into refactor-reaxff-parser 2021-07-22 16:46:07 -04:00
fbf3bcae70 correct automated substition mistake 2021-07-22 16:45:30 -04:00
74c306b32b whitespace 2021-07-22 16:37:06 -04:00
324ae3181b python interface for per-atom data for fix external 2021-07-22 15:27:51 -04:00
d3e19aa430 Merge branch 'info-create-atoms' of github.com:athomps/lammps into collected-small-changes 2021-07-22 15:00:21 -04:00
d211cea898 bugfix from Dan Bolintineanu. closes #2812 2021-07-22 14:58:33 -04:00
2d93edab1b Added one line of diagnostic output to create_atoms command 2021-07-22 12:22:34 -06:00
bb46dd7d1f update embedded documentation for the library interface functions for accessing fix external 2021-07-22 13:14:49 -04:00
fde6cae56d Add logic for GPU-enabled MPICH 2021-07-22 08:44:32 -06:00
d5ba7b2578 Propagate variable rename 2021-07-22 08:10:42 -06:00
b7334fc688 Merge pull request #2844 from rbberger/offline_update
Offline compilation tool update
2021-07-22 08:58:06 -04:00
f79b6ac373 recover compilation of KOKKOS package 2021-07-21 23:39:19 -04:00
c59dc079db correctly detect when to retrieve parameters from pair style reaxff 2021-07-21 22:53:18 -04:00
c78d4eab36 update standard examples for new style names 2021-07-21 22:52:43 -04:00
9cf50eb4db add allocation and reduction for per-atom stress with OpenMP 2021-07-21 22:44:18 -04:00
5b46e679c8 update style names 2021-07-21 22:00:43 -04:00
03249dec8b reformat 2021-07-21 22:00:27 -04:00
e12070316b fix spelling issue 2021-07-21 22:00:18 -04:00
f8f4af471f general rename of files, styles, and keywords from "reax/c", "reax", or "reaxc" to "reaxff" 2021-07-21 21:52:25 -04:00
6d3a5a6eb9 Port custom changes to atom_kokkos 2021-07-21 17:05:56 -06:00
aa885a9d8d make virial processing use the total global virial 2021-07-21 17:06:21 -04:00
5436975fa2 update unit test reference data for REAXFF also with OpenMP enabled 2021-07-21 16:01:28 -04:00
b20fcbd686 implement per-atom stress and nofdotr support for reax/c/omp 2021-07-21 16:00:28 -04:00
72744ea441 update swig interface file to the latest changes in the c library header 2021-07-21 12:08:19 -04:00
d7edc95193 Update init_http_cache.sh 2021-07-21 11:34:43 -04:00
13147707aa Add utility script to help update URLs for offline tool 2021-07-21 11:33:11 -04:00
f53c1978cc swap groups in the example snippet to get consistent pressure and heat flux sign 2021-07-21 10:23:12 -04:00
d16f751413 Merge branch 'master' into package-reorganization2 2021-07-21 10:23:04 -04:00
94ce07b2de Merge branch 'lammps:master' into tip4p_fix_types 2021-07-21 14:09:39 +03:00
f6e9c30818 update unit tests 2021-07-21 00:47:10 -04:00
cf3bf374fa Merge branch 'master' into refactor-reaxff-parser 2021-07-21 00:30:53 -04:00
9615867600 make contribution to global virial compatible with pf/array mode 2021-07-21 00:25:32 -04:00
f5e7e26ef9 Merge pull request #2836 from akohlmey/collected-small-changes
Collected small changes
2021-07-20 20:51:59 -04:00
6604508b55 Merge branch 'master' into collected-small-changes 2021-07-20 19:39:10 -04:00
96389213ab Merge pull request #2788 from jtclemm/track-contacts
Track properties of pair interactions
2021-07-20 19:38:21 -04:00
2c77adaefb reformat with clang-format 2021-07-20 19:36:44 -04:00
de092206b9 support using LAMMPS_POTENTIALS expansion for (primary) QUIP file and echo file and units 2021-07-20 19:35:00 -04:00
03f6244fef add quip SW potential file and corresponding unit test 2021-07-20 19:34:06 -04:00
8a4820a033 add data/units comments to example quip potential files 2021-07-20 19:31:52 -04:00
600b0d34ca disable install command for build libquip.a (not needed) 2021-07-20 19:31:04 -04:00
c19d37990d reformat with clang-format 2021-07-20 18:31:52 -04:00
b9cc8c8d24 Merge branch 'master' into collected-small-changes 2021-07-20 18:14:02 -04:00
2718596d65 Merge pull request #2835 from ohenrich/cg-dna
Documentation: CG-DNA package
2021-07-20 18:03:34 -04:00
63794aa698 Merge branch 'master' into track-contacts
# Conflicts:
#	doc/src/Packages_details.rst
#	src/DIELECTRIC/pair_coul_cut_dielectric.h
#	src/MISC/fix_pair_tracker.cpp
#	src/MISC/fix_pair_tracker.h
#	src/MISC/pair_tracker.cpp
#	src/MISC/pair_tracker.h
#	src/pair_tracker.h
2021-07-20 16:19:38 -04:00
acfe590343 whitespace 2021-07-20 16:03:33 -04:00
06d5bcb19b Merge branch 'master' into collected-small-changes 2021-07-20 16:02:46 -04:00
2a0c6ad979 Merge pull request #2841 from donatas-surblys/heat-flux-virial-tally
A new tally compute to obtain virial heat flow from group 2 to group 1
2021-07-20 16:01:30 -04:00
d8ca3e4b16 add support for automatically downloading and building libquip 2021-07-20 16:00:42 -04:00
eeea566093 correct typo 2021-07-20 14:32:30 -04:00
b6e749f7fc reformat with clang-format 2021-07-20 14:27:29 -04:00
64a85fc762 Merge pull request #2842 from wmbrownIntel/user-intel-llvm
Intel Package Update for CLANG/LLVM-based compiler
2021-07-20 14:22:33 -04:00
2a4b60d597 in the output info section: flux -> flow 2021-07-20 18:03:11 +09:00
6fd1cda2a6 update documentaion for heat/flux/tally and heat/flux/virial/tally 2021-07-20 17:48:12 +09:00
cfd9e31d18 add links to heat/flux/virial/tally and add short descriptions for tally computes 2021-07-20 13:31:41 +09:00
1345c25f41 Fixing issue where __INTEL_COMPILER not defined for next-gen (LLVM-based) in tersoff. 2021-07-19 17:49:11 -07:00
52a0b0a902 Merge branch 'master' into pair_rann 2021-07-19 18:04:43 -04:00
614c3bc5b9 Merged in old compute-grid 2021-07-19 14:44:08 -06:00
0867299adb Fixed format error bug in third order tensor print 2021-07-19 11:54:49 -07:00
596845c8ef Merge branch 'master' of https://github.com/lammps/lammps into user-intel-llvm 2021-07-19 11:25:42 -07:00
d739c3bede Fixes to the Intel package to remove errors and warnings with clang-based compiler and support alternate preprocessor defines for the next-gen Intel compiler (currently not recommended for performance).. 2021-07-19 11:16:09 -07:00
4e0071c8cf rearranged deallocation 2021-07-19 12:52:09 -05:00
a1082f4de9 fix typo 2021-07-19 12:15:43 -04:00
008da35533 Merge branch 'master' into refactor-reaxff-parser 2021-07-19 11:52:43 -04:00
52156ccb35 Merge branch 'master' into package-reorganization2 2021-07-19 11:07:42 -04:00
5c4fb41ac0 Merge pull request #2839 from craabreu/respa_bug_fix
Fixed bug in fix np[ht] with runstyle respa
2021-07-19 11:02:25 -04:00
ef72ea9dd9 Fixed whitespace issues 2021-07-19 11:49:27 +01:00
cf85fba37c Corrected text in warning message 2021-07-19 11:27:08 +01:00
2881f95d7a Merge branch 'cg-dna' of https://github.com/ohenrich/lammps into cg-dna 2021-07-19 11:23:50 +01:00
170b5be906 Added missing pointer name, reformatting 2021-07-19 11:23:27 +01:00
15b3b6445e Updated tests and documentation, added warning message 2021-07-19 11:22:06 +01:00
f247a2aedf fix issues with pair style more/soft and reformat 2021-07-19 01:04:35 -04:00
0cb09786b6 need to make this functions virtual since they are overridded by morse/soft 2021-07-19 01:02:52 -04:00
b03f25a650 simplify 2021-07-19 01:02:06 -04:00
1c4e8aba12 add tests for per-atom values, global energy with pf/array mode 2021-07-19 00:29:27 -04:00
8460d67eb2 update embedded documentation to correctly describe the functionality 2021-07-19 00:25:00 -04:00
76ec9b8616 port changes from dump netcdf to dump netcdf/mpiio 2021-07-18 19:04:08 -04:00
1f9e0adfe9 more reformatting 2021-07-18 18:37:27 -04:00
536ba492fb error out on trying to dump strings or variables 2021-07-18 17:47:01 -04:00
ce7cca2ae4 use scoped enums from Dump and Thermo classes instead of replicating them, reformat 2021-07-18 17:44:06 -04:00
2eff15d1e6 move data type enum to header so it can be used in dump netcdf 2021-07-18 17:41:14 -04:00
418acea543 support wildcard dump keywords, simplify, modernize, reformat 2021-07-18 16:59:58 -04:00
3c0a2345cc simplify, reformat, and better error messages 2021-07-18 16:42:43 -04:00
8ed608abbf Fixed RESPA/kspace/barostat bug in BOCS, DRUDE, and USER-MISC 2021-07-18 16:22:25 -03:00
fa7ae99511 Fixed bug in fix np[ht] with runstyle respa 2021-07-18 12:48:05 -03:00
57df891572 avoid duplicate label 2021-07-17 07:49:41 -04:00
1ff90a9e8c ignore Testing folder in root dir (created when running "ctest --test-dir build") 2021-07-17 07:45:53 -04:00
f251bc544f support setting global virial for fix external from python 2021-07-17 07:38:53 -04:00
fa654f2270 add support for set_vector for fix external in c-library, python and unittest 2021-07-16 23:41:25 -04:00
d462bb3131 fix off-by-one bug 2021-07-16 22:44:04 -04:00
504b756a9a recover compilation. we don't use the energy, only the force 2021-07-16 22:06:39 -04:00
0ddd90fe0f reformat allocations and deallocations 2021-07-16 21:50:56 -04:00
626b93cfbb plug memory leak for alpha/alpha_k parameter 2021-07-16 21:44:53 -04:00
ba5bf0fb77 plugged memory leaks. Resolves [2811] 2021-07-16 17:37:06 -05:00
5912d0a1c2 add support for setting global energy for fix external to python module 2021-07-16 17:43:44 -04:00
f3dc13c9dd expand library interface for fix external functionality 2021-07-16 17:29:15 -04:00
8b1dedf04a add extract method to fix external 2021-07-16 17:21:57 -04:00
6d292b1bf2 small tweaks 2021-07-16 14:51:27 -04:00
88e363c0bb document and add unit tests for lammps_set_fix_external_callback() 2021-07-16 14:51:04 -04:00
034c337aaf reformat 2021-07-16 12:05:45 -04:00
ef2e5dbb73 reformat 2021-07-16 10:56:54 -04:00
a4d58462df simplify and avoid failure with -ffast-math where NaN signaling doesn't work reliably 2021-07-16 10:54:59 -04:00
fb1e757524 Merge branch 'lammps:master' into cg-dna 2021-07-16 12:58:26 +01:00
b7a17dc25d Added warning message in documentation and dsDNA ring test in examples 2021-07-16 12:57:21 +01:00
b00a281708 a tally compute to obtain virial heat flux into group 1 due to group 2 2021-07-16 14:29:07 +09:00
bed363cda9 Merge branch 'master' into collected-small-changes 2021-07-15 17:24:15 -04:00
741e13743c Merge branch 'master' into refactor-reaxff-parser 2021-07-15 17:23:56 -04:00
95792ac928 Merge pull request #2833 from athomps/delete-last-mol
Delete last mol
2021-07-15 17:16:48 -04:00
2a61f72790 Merge pull request #2827 from ohenrich/cg-dna
CG-DNA: New Class AtomVecOxdna
2021-07-15 16:43:08 -04:00
5be930fa76 cleanup 2021-07-15 16:40:15 -04:00
637eef51b9 reformat 2021-07-15 15:45:01 -04:00
dc70f97ad4 restore changes from upstream that were undone by incorrectly resolving merge conflicts 2021-07-15 15:44:35 -04:00
d97ea4ebf6 make dependency of CG-DNA on ASPHERE and MOLECULE a hard dependency 2021-07-15 15:42:50 -04:00
d024dc0e09 whitespace fixes 2021-07-15 15:12:04 -04:00
3402953f05 Merge pull request #2832 from stanmoore1/kk_snap_host
Revert Kokkos CPU SNAP to original code
2021-07-15 15:06:50 -04:00
a7619b8dae Removed virtual keyword, defined internal variable 2021-07-15 17:32:19 +01:00
e6181d14d7 Use latest versions in master branch 2021-07-15 13:53:15 +01:00
e99b8ed07c Merge branch 'master' into cg-dna 2021-07-15 13:37:24 +01:00
0f0059269d Modified data_bonds_post() and calling structure 2021-07-15 13:36:40 +01:00
54cf985280 Add message so no unexpected behavior 2021-07-14 20:54:50 -06:00
5f302b9035 temporarily skip testing REAXFF with OpenMP 2021-07-14 17:42:46 -04:00
1ce5e3bd00 Merge branch 'master' of github.com:lammps/lammps into kk_snap_host 2021-07-14 14:49:16 -06:00
6378d1d128 Moved SNAP files to ML-SNAP 2021-07-14 13:50:49 -06:00
2cf00a382e Completed merge to current master 2021-07-14 13:47:55 -06:00
07db7a4095 Changed to different check_local() 2021-07-14 13:35:05 -06:00
e87fae5c92 remove unused variable 2021-07-14 14:38:29 -04:00
ece556b463 Merge branch 'master' into refactor-reaxff-parser
# Conflicts:
#	src/OPENMP/reaxc_init_md_omp.cpp
#	src/REAXFF/reaxc_allocate.cpp
#	src/REAXFF/reaxc_control.cpp
#	src/REAXFF/reaxc_defs.h
#	src/REAXFF/reaxc_ffield.cpp
#	src/REAXFF/reaxc_init_md.cpp
#	src/REAXFF/reaxc_io_tools.cpp
#	src/REAXFF/reaxc_list.cpp
#	src/REAXFF/reaxc_traj.cpp
2021-07-14 14:34:25 -04:00
5af74edcc0 Merge pull request #2815 from stanmoore1/kk_hash
Add atom_map hash option for Kokkos package
2021-07-14 14:20:11 -04:00
2295745318 Revert to original SNAP code for Kokkos CPU 2021-07-14 11:21:12 -06:00
fb73382c94 Documented restriction on molecular count >= 1 for fix rigid 2021-07-14 11:13:54 -06:00
38b156a08a Resolved bogus merge conflict and added change to last molecule deletion 2021-07-14 11:07:10 -06:00
c9c27ac7e2 Merge pull request #2831 from stanmoore1/kk_noinit
Remove deprecated Kokkos code ViewAllocateWithoutInitializing
2021-07-14 12:09:30 -04:00
3895ae194d Make function static 2021-07-13 12:17:24 -06:00
871ef80f83 Merge branch 'master' of github.com:lammps/lammps into kk_noinit 2021-07-13 11:42:41 -06:00
fc5f91b44c Revert accidental change 2021-07-13 10:34:50 -06:00
ac07253ed6 Fix GPU issues 2021-07-13 10:29:37 -06:00
d412a4c933 re-enable OpenMP testing for ReaxFF 2021-07-12 21:03:10 -04:00
01d7afdaa4 Small refactor 2021-07-12 15:54:02 -06:00
4c0036955e Merge branch 'kk_hash' of github.com:stanmoore1/lammps into kk_hash 2021-07-12 15:53:50 -06:00
e29577634d fix whitespace 2021-07-12 16:23:45 -04:00
65e2a8f070 Avoid unnecessary deep_copy when only a single memory space 2021-07-12 14:21:05 -06:00
e0ba11fbf0 update LAMMPS homepage URL 2021-07-12 16:19:31 -04:00
b4d3dbe0af Avoid unnecessary deep_copy when only a single memory space 2021-07-12 14:11:53 -06:00
f4239530bd recover virial and nofdotr related changes by @athomps and @akohlmey 2021-07-12 15:58:27 -04:00
b752bda1b9 Fix GPU issues 2021-07-12 13:06:54 -06:00
757e2f8cff Merge branch 'master' into refactor-reaxff-parser
# Conflicts:
#	doc/src/fix_qeq_reax.rst
#	src/OPENMP/reaxc_bond_orders_omp.h
#	src/OPENMP/reaxc_bonds_omp.h
#	src/OPENMP/reaxc_forces_omp.h
#	src/OPENMP/reaxc_hydrogen_bonds_omp.h
#	src/OPENMP/reaxc_init_md_omp.cpp
#	src/OPENMP/reaxc_init_md_omp.h
#	src/OPENMP/reaxc_multi_body_omp.h
#	src/OPENMP/reaxc_nonbonded_omp.h
#	src/OPENMP/reaxc_torsion_angles_omp.h
#	src/OPENMP/reaxc_valence_angles_omp.h
#	src/OPENMP/reaxff_omp.h
#	src/Purge.list
#	src/QEQ/fix_qeq.cpp
#	src/QEQ/fix_qeq.h
#	src/QEQ/fix_qeq_dynamic.cpp
#	src/QEQ/fix_qeq_fire.cpp
#	src/REAXFF/fix_qeq_reax.cpp
#	src/REAXFF/reaxc_allocate.h
#	src/REAXFF/reaxc_bond_orders.h
#	src/REAXFF/reaxc_bonds.h
#	src/REAXFF/reaxc_control.h
#	src/REAXFF/reaxc_defs.h
#	src/REAXFF/reaxc_ffield.h
#	src/REAXFF/reaxc_forces.h
#	src/REAXFF/reaxc_hydrogen_bonds.h
#	src/REAXFF/reaxc_init_md.cpp
#	src/REAXFF/reaxc_init_md.h
#	src/REAXFF/reaxc_io_tools.cpp
#	src/REAXFF/reaxc_io_tools.h
#	src/REAXFF/reaxc_list.h
#	src/REAXFF/reaxc_lookup.h
#	src/REAXFF/reaxc_multi_body.h
#	src/REAXFF/reaxc_nonbonded.h
#	src/REAXFF/reaxc_reset_tools.h
#	src/REAXFF/reaxc_system_props.cpp
#	src/REAXFF/reaxc_system_props.h
#	src/REAXFF/reaxc_tool_box.h
#	src/REAXFF/reaxc_torsion_angles.h
#	src/REAXFF/reaxc_traj.cpp
#	src/REAXFF/reaxc_traj.h
#	src/REAXFF/reaxc_types.h
#	src/REAXFF/reaxc_valence_angles.h
#	src/REAXFF/reaxc_vector.cpp
#	src/REAXFF/reaxc_vector.h
#	src/REAXFF/reaxff_api.h
#	src/REAXFF/reaxff_defs.h
#	src/REAXFF/reaxff_inline.h
#	src/REAXFF/reaxff_types.h
#	src/text_file_reader.cpp
#	src/text_file_reader.h
#	unittest/force-styles/tests/atomic-pair-reax_c.yaml
#	unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml
#	unittest/force-styles/tests/atomic-pair-yukawa_colloid.yaml
2021-07-12 14:25:47 -04:00
ad966e130b Fix typos 2021-07-12 10:41:31 -06:00
0540ce547b Merge branch 'master' into package-reorganization2 2021-07-12 11:45:27 -04:00
998b76520e Merge pull request #2830 from akohlmey/opencl-loader-3.0.8
Update OpenCL ICD loader and headers to latest spec 3.0.8
2021-07-12 11:44:34 -04:00
dfa5ecdc74 Merge pull request #2736 from akohlmey/nofdotr-tests-and-updates
Fix issues exposed by running pair style unit tests with `pair_modify nofdotr`
2021-07-12 11:10:47 -04:00
b361992292 Remove deprecated Kokkos code ViewAllocateWithoutInitializing 2021-07-12 08:53:07 -06:00
05f28661f2 temporarily skip some tests for REAXFF until working on PR #2708 2021-07-12 05:43:04 -04:00
bc4f2b65ae the INTEL package does not support pair_modify nofdotr
- no need to test for it
- add a check and report an error if the nofdotr setting is used
2021-07-12 05:19:41 -04:00
bc08d9a973 temporarily skip testing pair_modify nofdotr for reax/c until we merge PR #2708 2021-07-11 20:14:10 -04:00
6134164ad3 pair style rann does not support per-atom stress or pair_modify nofdotr 2021-07-11 20:03:52 -04:00
d774cd5ddc fix sign errors and pair_modify nofdotr behavior for pair style bop 2021-07-11 19:27:49 -04:00
7e3e786530 fix up pair style polymorphic for pair_modify nofdotr 2021-07-11 19:19:41 -04:00
90e0de8dca update MEAM package to correctly handle pair_modify nofdotr 2021-07-11 16:32:46 -04:00
5e096a7f9f correct ev_tally4() for pair_modify nofdotr 2021-07-11 16:04:17 -04:00
51d082ff2b reformat comments 2021-07-11 14:57:00 -04:00
eecc012525 sphinx 4.1.0 failes to parse utils::logmesg(lmp,format,...) template function 2021-07-11 14:56:47 -04:00
41a434ae1f fix compilation issues with new/old Intel compilers 2021-07-11 14:09:17 -04:00
b47a212b17 initialize "me" before using it. 2021-07-11 13:55:00 -04:00
0dcca23cdb whitespace 2021-07-11 09:22:38 -04:00
283da2649a fixes for pair_modify nofdotr 2021-07-11 09:16:47 -04:00
50da38722a make airebo compatible with pair_modify nofdotr 2021-07-11 08:47:30 -04:00
a4748b4c28 update several MANYBODY potentials for pair_modify nofdotr 2021-07-11 08:20:20 -04:00
9898941169 update tersoff docs about tersoff/intel requiring intel compilers 2021-07-11 08:00:01 -04:00
03c55c14bc avoid unneeded computations/tallying, small cleanups 2021-07-11 01:10:19 -04:00
0e440f9a42 more general mapping of tersoff/intel to tersoff when non-Intel compiler is used 2021-07-11 00:56:14 -04:00
467410d934 recover compilation due to changes in utility functions. still needs fixing 2021-07-11 00:55:45 -04:00
f82096c46c correct nofdotr handling for tersoff styles 2021-07-11 00:55:22 -04:00
bfc9df1302 exclude tersoff/intel. fix newton off instantiation. 2021-07-11 00:53:26 -04:00
eff03f1493 reformat and use std::numeric_limits<double>::min() instead of DBL_MIN (Posix-only) 2021-07-10 23:40:30 -04:00
2d9ea81b94 fix bug with virial tally in edip/omp 2021-07-10 23:18:27 -04:00
0e55c2c4f2 Merge branch 'master' into nofdotr-tests-and-updates
# Conflicts:
#	unittest/cplusplus/test_lammps_class.cpp
2021-07-10 22:36:43 -04:00
8f8dff758e reformat 2021-07-10 14:39:25 -04:00
ac903ec291 update list of non-style KOKKOS package sources with newly added file 2021-07-10 10:55:07 -04:00
4456e8151f use explicit scoping in destructor of polymorph class 2021-07-10 10:54:02 -04:00
89d7e34540 destructor in polymorph base class should be virtual 2021-07-10 10:53:36 -04:00
e8aa3823d3 Add virtual keyword to AtomKokkos destructor 2021-07-09 15:48:44 -06:00
4c1eea630c Merge branch 'package-reorganization2' of github.com:akohlmey/lammps into package-reorganization2 2021-07-09 16:54:31 -04:00
2e0ed643e4 update and reformat 2021-07-09 16:54:18 -04:00
6571a84884 move some styles around 2021-07-09 16:54:00 -04:00
0eaacea67d Whitespace 2021-07-09 14:17:06 -06:00
be3c0ce5a0 Fix typo 2021-07-09 14:13:54 -06:00
6c088b97ac Add missing data transfer for map_array 2021-07-09 14:08:32 -06:00
33ac10df7a Missed one instance of SUCCESS 2021-07-09 14:00:19 -06:00
8730fc3c6a Merge branch 'master' of https://github.com/lammps/lammps into kk_hash 2021-07-09 11:41:08 -06:00
8323b402fb update OpenCL ICD loader and headers to latest spec (3.0.8) from 2021-06-30 2021-07-08 14:49:54 -04:00
ab11482d7e add INTERLAYER package to CMake list of known packages 2021-07-08 09:30:18 -04:00
b2a396da3c Merge pull request #2828 from tomswinburne/snap-scale
Adding scale parameter to pair/snap for fix/adapt
2021-07-07 16:10:11 -04:00
46d5d9724a move interlayer potentials to their own package 2021-07-07 15:52:53 -04:00
39bd342913 Resolved conflict 2021-07-07 10:04:05 +01:00
d190ef09c2 Initialised id5p atom quantity 2021-07-07 09:58:53 +01:00
c9ddee5e38 Merge pull request #2824 from ndtrung81/dielectric-updates
Updates to the DIELECTRIC package
2021-07-06 20:58:23 -04:00
91790e8586 Update Commands_kspace.rst 2021-07-06 20:21:34 -04:00
18f5ef1a76 Merge pull request #2826 from akohlmey/collected-small-changes
Collected small changes
2021-07-06 19:35:17 -04:00
5f7766a71c Merge pull request #2823 from Ruyk/master
use SYCL team_reduce to mimic cuda __syncthreads_count
2021-07-06 16:38:18 -04:00
908587be56 Merge branch 'master' of github.com:lammps/lammps into kk_hash 2021-07-06 13:54:47 -06:00
4f6e28a0d8 Refactor use of Kokkos::UnorderedMap to fix Cuda issue 2021-07-06 13:49:12 -06:00
d041e5cba0 we require at least zstd API version 1.4 2021-07-06 13:39:07 -04:00
c805040e14 two more uses of temporary variable 2021-07-06 13:10:40 -04:00
0614cb16bb add missing dependency 2021-07-06 13:07:08 -04:00
9b31ed511b Merge branch 'fm' into ssc 2021-07-06 17:31:58 +02:00
71f82e81d7 Merge branch 'snap-scale' into fm 2021-07-06 17:23:24 +02:00
40e83088b0 update SNAP unit tests for added extract keyword 2021-07-06 11:11:35 -04:00
3675bef2b0 doc 2021-07-06 14:06:27 +02:00
2c0b87573f remove whitespace 2021-07-06 10:34:59 +02:00
edf623bc82 remove whitespace 2021-07-06 10:33:46 +02:00
ee751cf040 remove whitespace 2021-07-06 10:33:28 +02:00
65e2d8fd5e Added data_bonds_post2() method for testing purposes 2021-07-05 17:29:11 +01:00
4b81802ae8 Created new feature branch for PR as per request 2021-07-05 16:07:40 +01:00
f84ab6f26b clarify fix nve impact 2021-07-04 19:21:09 -04:00
455b7b9392 remove single precision floating point math and reformat 2021-07-04 18:24:46 -04:00
a61e79ad72 avoid integer overflow issues reported by CodeQL 2021-07-03 17:38:48 -04:00
4b42b51006 fix broken links 2021-07-03 16:23:55 -04:00
b314c83266 fix up mistyped package names 2021-07-03 16:19:15 -04:00
c61480eace fix indexing for pppm/disp/dielectric 2021-07-03 16:12:52 -04:00
da06535be5 fix doc build warnings 2021-07-03 16:06:43 -04:00
d471f13d27 non-portable OpenMP pragmas 2021-07-03 15:55:01 -04:00
9996d7eaad NULL -> nullptr, and coding style updates 2021-07-03 15:50:09 -04:00
de3ac9d440 update for package rename in upstream 2021-07-03 15:38:24 -04:00
430e7e962f Merge branch 'master' into dielectric-updates
# Conflicts:
#	src/DIELECTRIC/Install.sh
#	src/DIELECTRIC/pppm_disp_dielectric.cpp
#	src/DIELECTRIC/pppm_disp_dielectric.h
2021-07-03 15:27:57 -04:00
4c22f094de Minor tweak 2021-07-02 18:15:55 -06:00
e17ace385d First pass at distributed memory for grid 2021-07-02 17:47:45 -06:00
39039d261f Test6 2021-07-02 15:37:49 -06:00
01475cb3a8 Test3 2021-07-02 15:35:59 -06:00
e102864c2d Test2 2021-07-02 15:13:40 -06:00
442585313c Test 2021-07-02 15:11:14 -06:00
3b480397d1 Merge pull request #2822 from akohlmey/next_patch_release
Step version strings for next patch release
2021-07-02 17:08:28 -04:00
cf6570d812 Tweaked comments in grid examples 2021-07-02 15:06:19 -06:00
c2a12f97c5 Merge pull request #2818 from akohlmey/package-reorganization-step1
Package Reorganization (step 1)
2021-07-02 16:16:19 -04:00
ce9351d7e7 add package update processing for cythonize 2021-07-02 15:55:17 -04:00
b075d18b38 ML-IAP Python interface depends on PYTHON package 2021-07-02 15:24:32 -04:00
bee95e41ae Added references to example input scripts to the doc pages 2021-07-02 14:06:06 -05:00
48d3acb52b Updated the doc pages for the /dielectric styles 2021-07-02 13:45:08 -05:00
5408210623 reformat 2021-07-02 14:34:23 -04:00
dbeaec4957 reformat 2021-07-02 14:17:00 -04:00
2a21c4b29f add sticker-bond support to fix bond/swap 2021-07-02 11:46:25 -06:00
34fa0da60e Merge branch 'master' into package-reorganization-step1
# Conflicts:
#	doc/src/Packages_details.rst
2021-07-02 13:24:49 -04:00
021e8a404d Updated example data files 2021-07-02 12:20:26 -05:00
411d1f1240 move fix imd from USER-MISC to MISC 2021-07-02 13:19:47 -04:00
bc715ac7e8 Merge upstream master into dielectric-updates 2021-07-02 12:14:06 -05:00
e2a78cbed6 SYCL team_reduce to mimic cuda __syncthreads_count
This fixes a suspected out of bounds error later on in the kernel.
2021-07-02 15:41:32 +01:00
bf5934e581 Merge pull request #2795 from jtclemm/fabric
Add fabric tensor compute
2021-07-01 21:59:48 -04:00
f4d4da32a7 Merge pull request #2470 from lammps/kk_finalize
Fix issue with Kokkos::finalize and library interface
2021-07-01 21:11:49 -04:00
c495fdfdf3 step version strings for next patch release 2021-07-01 20:17:07 -04:00
76526ef2b7 Merge pull request #2817 from julient31/exchange-biquadratic
Correcting a small bug in fix nve/spin
2021-07-01 20:12:12 -04:00
a370e9e329 DPD basic styles have GPU package versions 2021-07-01 00:58:10 -04:00
58196d57f1 New package DPD-BASIC with pair styles dpd, dpd/tstat, dpd/ext, dpd/ext/tstat 2021-07-01 00:51:55 -04:00
88c8d1a3c6 rename "minimal" preset to "basic" 2021-06-30 20:39:17 -04:00
e4bb7da69f small tweak 2021-06-30 20:25:21 -04:00
b1d16508fe small tweak to recover first initialization settings for consistent output 2021-06-30 17:40:42 -04:00
2ca87ccd3f handle package dependency issues 2021-06-30 15:09:58 -04:00
63da5c4ba1 fix typo 2021-06-30 15:08:24 -04:00
7ba9c22d2c update installation instructions and remove references to patches which we don't provide anymore 2021-06-30 14:54:58 -04:00
11328cbed2 update package variables and implement minimal/most selection of packages 2021-06-30 14:45:26 -04:00
1c25caaa6e convert explicit tables of packages to simpler to maintain table from list constructs 2021-06-30 14:40:20 -04:00
d7a24dee91 Add warning 2021-06-30 12:08:33 -06:00
4928bd8b3d Merge branch 'master' of github.com:lammps/lammps into kk_finalize 2021-06-30 10:18:12 -06:00
d47f2aca53 recover compilation with CMake 2021-06-29 22:18:27 -04:00
cc0d9f2be0 recover building the manual 2021-06-29 21:49:21 -04:00
16002ddb54 rename some more example folders 2021-06-29 21:48:57 -04:00
9d208c9ebd rename some examples folders 2021-06-29 20:25:18 -04:00
878795e64a bulk rename of remaining USER- packages 2021-06-29 20:12:59 -04:00
2d4bb8f38c rename USER-MESODPD and USER-SDPD to DPD-MESO and DPD-SMOOTH 2021-06-29 19:45:38 -04:00
8e185a1a12 rename USER-DPD to DPD-REACT 2021-06-29 19:41:23 -04:00
6ceedb62be rename USER-REAXC to REAXFF 2021-06-29 19:37:55 -04:00
1dc25b0e10 rename USER-OMP to OPENMP 2021-06-29 17:48:22 -04:00
c085e55695 rename USER-SMD package to MACHDYN 2021-06-29 17:19:39 -04:00
8bf6805e1d rename USER-LB to LATBOLTZ 2021-06-29 17:07:14 -04:00
dc3efd17d2 rename USER-MEAMC to MEAM and pair style meam/c to meam (keeping meam/c as an alias) 2021-06-29 16:59:05 -04:00
995195606e rename USER-RANN to ML-RANN 2021-06-29 16:32:06 -04:00
c582d5b5ce update path to examples in README files 2021-06-29 15:58:08 -04:00
d52cd88492 rename USER-QUIP to ML-QUIP 2021-06-29 15:55:41 -04:00
fd24820603 rename USER-PACE to ML-PACE 2021-06-29 15:45:50 -04:00
031e537d3f rename USER-HDNNP to ML-HDNNP 2021-06-29 15:38:45 -04:00
efaec31a84 rename USER-CGDNA and USER-CGSDK to CG-DNA and CG-SDK 2021-06-29 15:28:27 -04:00
aeeb79b188 correcting small bug in fix nve/spin 2021-06-29 12:31:50 -06:00
9cb82f4033 update docs for renames examples folders 2021-06-29 11:31:57 -04:00
7390d8e344 remove bogus folder 2021-06-29 11:31:31 -04:00
4342987043 rename example folders 2021-06-29 11:23:47 -04:00
b8c5f08e75 improve error message 2021-06-29 11:13:44 -04:00
e482502691 rename SNAP package to ML-SNAP and fix up some remaining MLIAP to ML-IAP issues 2021-06-29 11:06:59 -04:00
553a06e823 remove bogus file 2021-06-29 10:44:40 -04:00
eda2cd965e rename MLIAP package to ML-IAP 2021-06-29 10:44:32 -04:00
a8be4ca4b8 cleaner implementation 2021-06-29 11:31:49 +02:00
1a662b78d5 conform 2021-06-29 10:53:02 +02:00
49e8fead3a revert 2021-06-29 10:51:10 +02:00
84d94d9da0 Merge branch 'master' of github.com:tomswinburne/lammps 2021-06-29 10:48:39 +02:00
5e3fe19c9f revert 2021-06-29 10:48:19 +02:00
130a925f8f Merge branch 'lammps:master' into master 2021-06-29 10:43:23 +02:00
105c86399b Merge pull request #2813 from akohlmey/collected-small-changes
Collected small changes
2021-06-28 20:14:01 -04:00
9a4735c6ef Temporarily rename variable to avoid name collision until #2708 is merged 2021-06-28 11:11:45 -06:00
39b99afb56 Remove error description in header file 2021-06-28 09:34:08 -06:00
91e0614cef Remove unnecessary virtual keyword 2021-06-28 08:51:28 -06:00
dd822848b4 add doi to citations 2021-06-28 10:47:28 -04:00
4d6bef3e04 modernize using utility functions 2021-06-28 10:43:35 -04:00
a4c2bc13cf Add atom_map hash option for Kokkos package 2021-06-28 08:38:31 -06:00
4a21a0e727 make handling of 2theta values consistent including using the default 2021-06-28 10:17:48 -04:00
9a740a4a60 add lammps_kokos_finalize() support to various LAMMPS wrappers and document 2021-06-27 17:07:42 -04:00
2ef47fce69 add missing initializer for KokkosLMP::is_finalized 2021-06-27 16:08:22 -04:00
8ec3d90f5c simplify 2021-06-27 15:41:59 -04:00
ef54c7290e must pass pointer to Error class as argument since static functions don't have access to "this" 2021-06-27 15:40:38 -04:00
54351bb3d8 consolidate initialization, reformat 2021-06-27 15:18:50 -04:00
5d9b5261fb address possible 32-bit integer overflow issues reported by static code analysis 2021-06-27 15:04:01 -04:00
e8646f6aaf fix very minor memory leak issues reported by static code analysis 2021-06-27 15:03:12 -04:00
78d1c8bc7e USER-MOLFILE depends on CMAKE_DL_LIBS when not compiling on Windows 2021-06-27 14:39:53 -04:00
7b87b5c80b snap scaling 2021-06-27 15:46:14 +02:00
2726e0e923 Merge branch 'lammps:master' into master 2021-06-27 14:10:49 +02:00
4a0750ade0 correct documentation under restrictions for temp/csld and temp/csvr fixes 2021-06-25 15:46:30 -04:00
a74a718b6f Add additional error check 2021-06-25 10:47:55 -06:00
30ac0107c8 Remove unused function 2021-06-25 10:32:54 -06:00
2d5e8f050a Make Kokkos init/finalize calls safer 2021-06-24 13:25:35 -06:00
ddac9c21dc Update from master 2021-06-24 11:57:21 -06:00
b3fed4d1a9 update regex to match with updated fmtlib 2021-06-24 10:13:52 -04:00
9fb7e25413 correct escape 2021-06-24 09:25:35 -04:00
8a344918a9 no escape needed 2021-06-24 09:15:58 -04:00
652864ed5c Merge pull request #2810 from akohlmey/collected-small-changes
Collected small changes
2021-06-23 19:30:04 -04:00
f5f5721cfb reformat 2021-06-22 18:29:13 -04:00
2741279254 Adding correct scalar variable 2021-06-22 14:40:10 -06:00
d5e5f590e8 Updating documentation, adding compute scalar 2021-06-22 14:14:25 -06:00
cc7538e7b9 fix cut-n-paste bug in AtomVec class 2021-06-22 13:14:24 -04:00
8f60a54656 update USER-RANN example to run faster and provide reference logs 2021-06-22 12:27:05 -04:00
f4de4902e2 new compute dipole command 2021-06-22 11:57:29 -04:00
31011252e3 reformat, mention compute dipole 2021-06-22 11:57:08 -04:00
60e1c2be6d fix formatting and spelling 2021-06-22 11:56:46 -04:00
f8ebcff078 changes to mdi_engine 2021-06-22 09:36:40 -06:00
95f713bd38 skip testing the fortran module if CMake cannot identify the fortran compiler
this avoids compilation failure with the new llvm based flang (aka f18)
2021-06-21 17:25:29 -04:00
ae86364402 replace non-standard variable-length arrays with normal allocations 2021-06-21 16:57:53 -04:00
28fa06b298 turn off extra warnings with gcc.cmake preset and introduce a pedantic preset
the pedantic preset turns warnings about variable length arrays to errors
2021-06-21 16:57:05 -04:00
55dc5216a0 Revert "update googletest"
googletest compilation breaks on CentOS7 with native compilers
thus we are going back to version 1.10 (for now).

This reverts commit c6d950d35e.
2021-06-21 16:36:24 -04:00
ddc596170e Merge pull request #2803 from akohlmey/collected-small-changes
Collected small changes
2021-06-21 12:59:16 -04:00
79cbafd3c7 Reapply LAMMPS changes to fmtlib 2021-06-21 11:55:41 -04:00
f7752da97f Update fmtlib to 8.0.0 2021-06-21 11:50:57 -04:00
f59273fb09 Merge pull request #2796 from macstein/mliap_so3_ver2
Add support for SO3 descriptor to MLIAP package
2021-06-21 11:03:11 -04:00
72221238d6 correct indentation 2021-06-21 09:45:35 -04:00
2624e3fd8f add unit test for pair style rann 2021-06-20 22:14:06 -04:00
3a079c666c fix bug when reading masses 2021-06-20 22:13:47 -04:00
a4c8650d2a plug memory leaks in USER-PACE 2021-06-20 21:29:49 -04:00
651772e6fa spelling 2021-06-20 15:51:38 -04:00
0ce9d147a4 fix typo 2021-06-20 15:50:07 -04:00
e8f1a7a182 silence compiler warnings 2021-06-19 21:30:22 -04:00
15033d59e6 reorder package details paragraphs, fix broken reference to plumed 2021-06-19 20:37:29 -04:00
b3c3714e7d pair style bop is not compatible with hybrid styles and multi-cutoff 2021-06-18 23:39:42 -04:00
94ff9d1796 add missing word 2021-06-18 23:39:09 -04:00
d982d153f8 Fix conditions for correct results on other types 2021-06-18 18:26:53 +03:00
eef68062dd Merge branch 'master' of github.com:joeweaver/lammps into collected-small-changes 2021-06-18 06:53:21 -04:00
2a15276005 Fix omitted word typo
Very minor edit. Not sure if a fork and PR is the way you'd prefer edits or if I should've just filed an issue/sent an email.
2021-06-18 11:17:37 +01:00
6a07942428 Merge pull request #2802 from tc387/charge-regulation-update
Added variable pH support and fixed Ewald self-energy updating
2021-06-17 23:02:14 -04:00
8fef6a10dd Fix atom types handling in the tip4p/gpu kernels 2021-06-18 00:52:23 +03:00
396b426cd1 reformat 2021-06-17 16:30:49 -04:00
af802d18d1 update gcc preset to include gfortran 2021-06-17 13:33:33 -04:00
1225dda3ad update MathJax to version 3.2.0 2021-06-17 10:57:15 -04:00
4b83439eeb reformat and modernize 2021-06-17 10:35:35 -04:00
a90a48c038 update ASPHERE box/srd example 2021-06-17 10:35:07 -04:00
5a511c2e92 whitespace 2021-06-17 09:56:14 -04:00
45048a7384 silence compiler warnings, remove dead code, simplify 2021-06-16 13:57:13 -04:00
b7e059126a silence compiler warnings 2021-06-16 13:47:23 -04:00
e207896632 silence compiler warnings, simplify 2021-06-16 13:18:32 -04:00
9eefa39201 silence compiler warnings 2021-06-16 13:17:25 -04:00
afdca31d01 reformat 2021-06-16 08:40:40 -04:00
1bb9fb2819 changed natoms to nlocal 2021-06-15 10:55:17 -07:00
6b56177e48 small updated to variable description in fix_charge_regulation.rst 2021-06-15 10:44:45 -05:00
d88577f44b whitespace 2021-06-15 10:52:07 -04:00
03d8ae04bd simplify 2021-06-15 10:48:19 -04:00
f380f8915f Merge branch 'master' into charge-regulation-update 2021-06-15 10:45:26 -04:00
63f9590b0e keep track of memory use. use bigint in some cases to avoid overflows. 2021-06-15 07:00:17 -04:00
73d97241f2 simplify large memory use explanation 2021-06-15 06:58:42 -04:00
48c2ed2430 remove trailing whitespace 2021-06-15 06:57:46 -04:00
a0e0f5e1bd Update pair_mliap.rst
added note regarding SO3 pre computations and array size.
2021-06-14 23:49:44 -07:00
80964619c8 add documentation for pair_mliap regarding so3 and nn 2021-06-14 22:59:30 -07:00
ce79622897 Merge pull request #2798 from akohlmey/collected-small-changes
Collected small changes
2021-06-14 20:20:34 -04:00
a4a7fc353c Added variable pH support and fixed Ewald self-energy updating 2021-06-14 18:55:38 -05:00
ec0f47642a delete old log files 2021-06-14 11:44:05 -07:00
6a4420ba5c updated log files from the latested run 2021-06-14 11:40:45 -07:00
97799eabaf added contributing author 2021-06-14 10:57:27 -07:00
1c6ce70776 Updated qsum_qsq() in pppm/dielectric and pppm/disp/dielectric 2021-06-14 00:09:48 -05:00
2dfbdcbc40 Added pppm/disp/dielectric, minor updates to lj/long/coul/long/dielectric 2021-06-13 23:55:28 -05:00
480fd39342 OpenMP suppression updates 2021-06-13 22:34:06 -04:00
b105abde1f make memory management more consistent and move declarations to base classes
this change reduced some code redundancy and consolidates memory management.
- pointers are initialized to null and deleted where they are declared
- pointers are deleted/destroyed before created/allocated
- memory usage is reported where pointers are declared

This makes it easier to follow flow of control and avoids memory leaks
2021-06-13 22:31:35 -04:00
3f83c6f96a move coeffelem declaration to base class and avoid memory leak 2021-06-13 19:10:07 -04:00
3f2834b997 fix new/delete mismatch bugs 2021-06-13 18:58:43 -04:00
14ca95026f begin documentation for SO3 MLIAP descriptor 2021-06-13 18:29:36 -04:00
e99e2ead68 update valgrind suppressions for newer GCC compilers 2021-06-13 18:28:42 -04:00
9c385a98af small tweaks and reformat 2021-06-13 18:06:40 -04:00
2ca0a4df98 add unit test for MLIAP SO3 descriptor 2021-06-13 17:45:00 -04:00
84d04752d3 update log files. make Si example (much) smaller 2021-06-13 17:40:00 -04:00
66cf2319a1 silence compiler warning 2021-06-13 17:11:13 -04:00
af34348e8a removed unused parameters 2021-06-13 00:01:31 -07:00
aa2940448e Update mliap_model_nn.cpp
set nonlinearflag in NN model
2021-06-12 19:49:32 -07:00
9de5c9fc98 correct homepage URLs 2021-06-12 21:33:01 -04:00
4522b16721 use floating point function 2021-06-12 21:29:20 -04:00
110fcf70f9 correct mismatched new type[] / delete 2021-06-12 21:29:06 -04:00
5b91fd8193 whitespace 2021-06-12 21:24:26 -04:00
a9bf1a4372 apply clang-format 2021-06-12 21:24:16 -04:00
87ea63266b fix a few formatting issues, silence compiler warnings, remove dead code 2021-06-12 21:20:28 -04:00
55c2d51476 better support for newer compilers. prefer flang with clang 2021-06-12 21:19:05 -04:00
34608aba9b update 2021-06-12 15:06:10 -07:00
6acb767847 update 2021-06-12 14:53:35 -07:00
f2ee71284f update 2021-06-12 13:23:02 -07:00
7f261a2801 update 2021-06-12 10:36:37 -07:00
c6d950d35e update googletest 2021-06-12 13:10:56 -04:00
51994c8c65 update 2021-06-12 01:02:31 -07:00
263d92eff5 whitespace 2021-06-11 16:30:01 -04:00
e1cfb95f54 update CODEOWNERS 2021-06-11 16:28:05 -04:00
a23f56a4f0 silence compiler warnings, remove dead code and fix bugs 2021-06-11 16:26:34 -04:00
4a2d32ff6d remove dead code 2021-06-11 15:11:01 -04:00
431ab35732 whitespace 2021-06-11 15:10:53 -04:00
5da4d78308 Merge branch 'master' into fabric 2021-06-11 15:10:20 -04:00
a474754b33 Update pair_mliap.cpp 2021-06-11 10:54:09 -07:00
f14a4377ce spelling 2021-06-10 23:16:44 -04:00
fe0422d042 whitespace 2021-06-10 23:16:44 -04:00
ae3a4dbf0d apply clang-format 2021-06-10 23:16:43 -04:00
59b83a6f27 simplify 2021-06-10 23:16:31 -04:00
406d2c4eb2 typo in compute_fabric.cpp 2021-06-10 15:18:55 -06:00
c9d38b7b6d Mention contact number in documentation 2021-06-10 15:16:15 -06:00
06ff2f897a Fixing typos in documentation and comments 2021-06-10 14:08:19 -06:00
7dda30a198 Adding type filter 2021-06-10 11:40:09 -06:00
8761ae65a3 Merge branch 'master' into mdi-expand 2021-06-10 09:50:23 -06:00
e64ec4647a Delete dump.myforce.3 2021-06-09 20:45:06 -07:00
06aa6b737e Delete dump.myforce.2 2021-06-09 20:44:56 -07:00
399de7dbf8 Delete dump.myforce.1 2021-06-09 20:44:45 -07:00
b4e9e99067 Delete dump.myforce.0 2021-06-09 20:44:32 -07:00
72ae091aa6 Merge remote-tracking branch 'upstream/master' into mliap_so3_ver2
To have a fetch
2021-06-09 20:31:46 -07:00
75fd4e9eec update 2021-06-09 16:59:59 -07:00
b1f8740204 update 2021-06-09 16:55:11 -07:00
26127e1fa0 more changes to fix ttm/grid 2021-06-09 15:49:20 -06:00
456b81417d first version of fix ttm/grid 2021-06-09 09:03:50 -06:00
1e5e08fc1b Merge pull request #2793 from ndtrung81/user-dielectric
Contributing a new package USER-DIELECTRIC
2021-06-08 20:07:36 -04:00
41bdf0f398 address spelling issues and update list of false positives 2021-06-08 18:46:48 -04:00
832ae2c049 Merge branch 'master' into user-dielectric 2021-06-08 17:11:37 -04:00
9944bbe61e Merge pull request #2786 from akohlmey/collected-small-changes
Collected small changes
2021-06-08 14:08:28 -04:00
b8236c6402 improve error messages by printing unrecognized property 2021-06-08 11:19:21 -04:00
a32e682697 error exit if driver sends number of atoms. add comment why. 2021-06-08 10:38:28 -04:00
337527282d Added the documentation for atom style dielectric and for compute efield/atom 2021-06-07 16:36:45 -05:00
ffd1b2bfa9 fix compilation issue 2021-06-07 11:48:13 -04:00
7322066dde use alternate approach for dealing with Package style dependency issues 2021-06-06 18:39:19 -04:00
8b0a063059 must not test for bonded interactions without MOLECULE package 2021-06-06 18:37:14 -04:00
0ee6cf798c include cythonize for building MLIAP with Python support 2021-06-06 18:25:47 -04:00
b524a0b819 correctly remove dependent sources for fix QEQ 2021-06-06 18:25:16 -04:00
0bc86a7eea modernize and reformat code 2021-06-05 21:43:38 -04:00
f7ca10b070 update documentation towards more complete integration
this includes the following steps:
- added missing sections about the packages (incomplete)
- added missing files for the pair styles and the compute (incomplete)
- merge fix doc files into a single file (incomplete)
- link to added styles from Commands overvies and style lists (incomplete)

major part that is missing is the documentation of the atom style and
the description of the file format in the read_data docs.
there should probably also additions to the `set` command to set those
properties from input scripts.
2021-06-05 21:00:35 -04:00
5e675e6eff bugfix for library unit test due to CMake package changes 2021-06-05 19:19:14 -04:00
c5412db1a4 correct package dependency handling 2021-06-05 17:26:24 -04:00
c5c9a27593 protect OpenMP pragma with preprocessor define 2021-06-05 16:24:39 -04:00
3a73dd831a fix bug when reporting fix wall energies 2021-06-05 16:16:57 -04:00
655c7b02ec update conventional build installation 2021-06-05 16:03:31 -04:00
22c391e603 add new package to presets 2021-06-05 15:57:47 -04:00
1fb4ec663b port code to current LAMMPS style and make it compatible with OpenMP 4.x compilers 2021-06-05 15:55:23 -04:00
75e5ad4c7a correct CMake support (also fix some bugs for other packages) 2021-06-05 15:48:25 -04:00
ac403394e4 disable clang-format processing for .cpp files by default 2021-06-05 12:14:46 -04:00
02707d7a0d add CMake support 2021-06-05 12:11:36 -04:00
6b6cae7c11 update dependencies 2021-06-05 11:28:11 -04:00
f7bae950e8 update .gitignore 2021-06-05 11:24:03 -04:00
672fa7d8ff move /omp styles to USER-OMP package 2021-06-05 11:21:26 -04:00
7928e90179 make headers compatibel with clang-format 2021-06-05 11:20:47 -04:00
076e25f2a5 update LAMMPS homepage URLs 2021-06-05 11:16:27 -04:00
13b8c63e7a Merge branch 'master' into user-dielectric 2021-06-05 11:14:44 -04:00
f92bee868a whitespace fixes 2021-06-05 11:12:58 -04:00
2dd7a0a678 Removed debugging leftover 2021-06-04 23:09:27 -05:00
ed604e906b Updated README for USER-DIELECTRIC 2021-06-04 22:41:25 -05:00
f2dad0486b Integrating documentation, misc fixes in compute 2021-06-04 10:06:05 -06:00
56b9de1d6b Merge remote-tracking branch 'github/master' into collected-small-changes 2021-06-04 11:38:31 -04:00
f2a6329fe7 silence compiler warnings 2021-06-04 09:07:53 -04:00
5f4bd99544 Merge branch 'master' into track-contacts 2021-06-04 08:42:51 -04:00
1358f4549b doc updates for MISC package 2021-06-04 08:39:00 -04:00
d74d7cfd5f Merge pull request #2789 from rbberger/gpu_hip_fixes
More GPU fixes for HIP
2021-06-04 01:08:53 -04:00
2500169193 whitespace 2021-06-04 00:57:26 -04:00
337ba1f729 fix spelling issues 2021-06-04 00:56:24 -04:00
8e082c2f6a complete integration into manual 2021-06-04 00:56:09 -04:00
4d3897c482 update LAMMPS homepage URLs 2021-06-04 00:49:30 -04:00
d17b49a894 apply clang-format 2021-06-04 00:43:45 -04:00
edf734ed59 remove installed package files 2021-06-04 00:43:18 -04:00
80c90d8ee2 fix broken links/references 2021-06-04 00:34:37 -04:00
067fd48b57 Merge remote-tracking branch 'github/master' into collected-small-changes
# Conflicts:
#	python/lammps/__init__.py
#	python/lammps/core.py
2021-06-04 00:28:32 -04:00
2463c2dd71 Merge pull request #2787 from rbberger/python_updates
Update to Python package and examples
2021-06-04 00:26:48 -04:00
41787088a3 Merge pull request #2790 from rbberger/docs_canonical_url
Allow setting canonical URL in doc build
2021-06-03 23:16:48 -04:00
5599deae0a quick-fix to compile plumed-2.7.1 with newer GCC and Clang compilers 2021-06-03 19:47:32 -04:00
ed624b518e update windows specific instructions for running LAMMPS for latest package 2021-06-03 16:51:39 -04:00
b92c2ab873 correct broadcast for atom->natoms 2021-06-03 16:14:14 -04:00
2afa783e1e silence compiler warning 2021-06-03 16:13:38 -04:00
6fb6980987 Set copyright date automatically 2021-06-03 14:18:20 -04:00
4a8b460201 update singularity container definition file for Fedora 34 2021-06-03 14:04:59 -04:00
2b012f4af7 Update copyright date in docs 2021-06-03 13:16:04 -04:00
415f33134b fix typos in Kolmolgorov-Crespi potential formula 2021-06-03 13:12:43 -04:00
21607fe0ce Update website URL in lammps theme 2021-06-03 12:03:36 -04:00
1e66dfbd74 Add LAMMPS_WEBSITE_BASEURL env variable to set canonical URL in docs 2021-06-02 17:44:45 -04:00
9e7b502050 Removing leftover files 2021-06-02 14:18:26 -06:00
479622e57d Adding compute fabric 2021-06-02 14:17:15 -06:00
8ea9179a00 Correct device pointer datatype in HIP UCL_Const 2021-06-02 15:46:57 -04:00
62423b0c75 Disable new GPU neighbor for HIP 2021-06-02 15:45:06 -04:00
f3ba2d07f8 prefer GNU make (aka gmake) over plain "make", to avoid compilation failures 2021-06-02 15:14:37 -04:00
7e05c6f8fd Update ROCm container defintiion and add missing lib path 2021-06-02 14:40:37 -04:00
80f28e7fa9 fixing merge conflicts, update to master 2021-06-02 12:33:37 -06:00
96ac2dc9f6 update to master 2021-06-02 12:15:41 -06:00
77f009126a Fixing comments and log files 2021-06-02 12:12:17 -06:00
b2ed89b21f Updating documentation 2021-06-02 12:02:02 -06:00
a1194e89d5 Remove unused sys.path 2021-06-02 13:17:08 -04:00
249a2a6783 Sync copies of pizza 2021-06-02 13:09:52 -04:00
b9e9dda1ab Updated example input scripts, data files and README 2021-06-02 12:03:46 -05:00
3f1bbf7c71 Add support for building wheels with pip 2021-06-02 11:46:48 -04:00
1ce50e0b1d Minor updates to fix polarize/* 2021-06-02 10:37:43 -05:00
41d289e2b0 Keep Python 2 code path 2021-06-02 11:18:00 -04:00
3d991cda6f Remove pypar from docs 2021-06-02 11:13:44 -04:00
5fe890679c Remove pypar and non-functional commented code 2021-06-02 11:07:18 -04:00
d4a6c718a9 Moved citation to a single place 2021-06-02 09:22:36 -05:00
0aaad39233 Remove MPI comments in gui.py 2021-06-01 18:10:47 -04:00
f2974d3b1b More cleanup to fix polarize* 2021-06-01 16:54:47 -05:00
400b55e6d5 Remove mentions of Pypar 2021-06-01 17:51:06 -04:00
232ae5e856 Fix typo in core.py 2021-06-01 17:36:45 -04:00
faccf52922 Updated dielectric/omp pair styles 2021-06-01 16:31:13 -05:00
6c86abc3b3 Use default matplotlib engine and use pause for animation 2021-06-01 16:59:00 -04:00
313389c0ad Correct title in gnuplot graph 2021-06-01 16:57:37 -04:00
62675e6e2b Minor fixes in pizza tools 2021-06-01 16:57:19 -04:00
0d0c0ab136 Move import to get_ctypes_int() function 2021-06-01 15:31:00 -04:00
20ffacaf70 Add exception type 2021-06-01 15:30:28 -04:00
49536ce02c Make compliance.py Python 3 compatible 2021-06-01 15:15:11 -04:00
c12f7e226b More cleanup to fix polarize*, access to the per-atom variables from the Atom class, and updates to doc pages 2021-06-01 11:22:14 -05:00
1b8825a377 expand LGTM exposure of LAMMPS styles 2021-05-31 18:23:37 -04:00
fde2295685 add comments to suppress useless warnings from LGTM 2021-05-31 12:01:50 -04:00
185664824e address LGTM issues 2021-05-31 12:01:05 -04:00
4736d15b7c replace outdated email address 2021-05-31 11:40:15 -04:00
458af788e1 Minor edits and cleanup 2021-05-30 11:33:06 -05:00
be6be2fc07 Fixed a bug with AtomVecDielectric for pack fields_border 2021-05-30 10:29:28 -05:00
7a52cfcc01 Added a doc page for the fix polarize/* 2021-05-28 16:27:03 -05:00
30e18a1b76 Added compute efield/atom and citation for the fixes polarize* 2021-05-28 16:06:36 -05:00
127627a5f7 Updated Install.sh 2021-05-28 15:42:03 -05:00
1fd6014eca Updated fix polarize/bem/gmres and fix polarize/functional 2021-05-28 15:38:02 -05:00
342c84aba4 Updated AtomVecDielectric to support atom properties like full (molecule, bonds, angles, dihedrals, special) 2021-05-28 15:14:56 -05:00
e248faa9bd silence compiler warnings 2021-05-28 14:09:41 -04:00
14f0c215eb make console detection smarter and don't use a pager at all with OpenMPI 2021-05-28 14:09:32 -04:00
454e11f7a5 Bringing USER-DIELECTRIC up-to-date with latest changes in upstream LAMMPS 2021-05-28 12:41:52 -05:00
41d7038c1e trial versions of new mdi_engine and fix_mdi_engine 2021-05-27 17:24:29 -06:00
2a33e3674e Added src/USER-DIELECTRIC and examples/USER/dielectric 2021-05-24 14:51:28 -05:00
14617cf4d2 Increasing chances for copying neighborlists 2021-05-21 11:28:21 -06:00
afaf992ac2 Second working of bits for neigh/history 2021-05-21 11:06:34 -06:00
83a15ef03f fixing typos in documentation 2021-05-20 18:26:02 -06:00
0c6857914d Adding example, misc patches 2021-05-18 20:57:24 -06:00
f61c27ca12 Updating gitignore 2021-05-18 14:07:23 -06:00
1f89d9b315 Adding documentation, misc changes 2021-05-18 14:04:49 -06:00
3f42e97405 remove old printf workarounds
Change-Id: I46a66538c886c9961977e0433e900bc91d92c4f2
2021-05-17 13:01:33 -04:00
f44f983b3b Restore the previous atom/teamsizes for ComputeHFunctor
Change-Id: I292280efd3d5d0d6a7486c1e9798ef4f632d9df4
2021-05-17 10:11:11 -04:00
abcac33c63 cleanup rebase errors
Change-Id: Ib8e255fefcb17ff91bc0bfdfcb98e56d3387b9b2
2021-05-17 10:11:06 -04:00
4303f4a74e Adding type filter 2021-05-16 16:45:18 -06:00
fe2065a56c Adding requirement for same group to print contacts 2021-05-14 17:53:09 -06:00
d939a16d3b Completing pair and fix 2021-05-14 17:26:51 -06:00
ad1c1637d4 cleanup & the various vector-wise SPMVs
Change-Id: Id29ec4e1968ddfccf26335a0f41a8652db33b89b
2021-05-14 15:58:54 -04:00
fc2eff64bb remove hard coded launchbounds / teamsizes for compat. w/ Kokkos LB=256 default
Change-Id: I7dcd26eee32b3fc049549ae380ffaf85423eed2e
2021-05-14 15:58:53 -04:00
1d6f24f0df hide additional printf
Change-Id: I200c85013b9d0163847194ad4b18ac33af65a823
2021-05-14 15:58:53 -04:00
f629de84f9 cleanup printf workarounds
Change-Id: Id9960f545fa0159d6c38392711b6ac584715d3d9
2021-05-14 15:58:52 -04:00
18466fb05b legal stuff
Change-Id: I5ab375285fdea9b20d8174a582aca9e78bf0f8a3
2021-05-14 15:58:52 -04:00
844dea3e1b temporary fix for EAM
Change-Id: Ia39bf1b4c3adcbadf0b1bde39d6817f44869946b
2021-05-14 15:58:49 -04:00
dff61617fe Change LaunchBounds to 64 for TagPairTersoffComputeHalf
Change-Id: I7fb8871c30acab4fc98654df618af6e786bc6244
2021-05-14 15:56:41 -04:00
926a037cba thread group dimension adjustment for FixQEqReaxKokkosComputeHFunctor
Change-Id: I7a62632a2403cdc3491777b090a1cb48d3a7591b
2021-05-14 15:56:41 -04:00
20a4d295e5 Optimized Torsion with blocking, flag needed: HIP_OPT_TORSION_PREVIEW_BLOCKING and HIP_OPT_TORSION_PREVIEW
Change-Id: I667ded58fc2c8b8253ea655e9fdf9b5cc3f737e4
2021-05-14 15:56:40 -04:00
e3a2eb0713 merging FC_K and DFC calculation, activate with flag HIP_OPT_MERGE_FC_K_DFC
Change-Id: I68440f02c79f8cc2cc4788dac2447cfa58f0b54a
2021-05-14 15:56:40 -04:00
1856b669be Apply patch from Stan to fix race in Reax
Change-Id: I372b5951cf0f5e3343c3c6283f01cf0b8c889a56
2021-05-14 15:56:38 -04:00
56a1cd12e5 fix for multi-GPU failure for reax
Change-Id: Ia261ff2f1158de2bd6ac2d83a15080f6b6253128
2021-05-14 15:55:54 -04:00
6b568aff7a adding merged ters_gijk and ters_dgijk, flag AMD_OPT_MERGE_GIJK_DGIJK is required
Change-Id: I8d9f433ecb38f8bd3cc72d8f2bc1642f753c7270
2021-05-14 15:48:23 -04:00
bb1b269cf8 optimization for Matvec2 and Matvec3, need -DHIP_OPT_SPMV
Change-Id: Ia40d2f27c38dd0e500cb7f8f02908be8b1f52a63
2021-05-14 15:48:22 -04:00
ce96898331 Add CUDA variants for hip calls
Change-Id: I5d169ee1563c915c0768675d2ec2e7a1774bc969
2021-05-14 15:48:22 -04:00
c25ccfdb98 adding optimization in tersoff
Change-Id: I21d2bfe5181b3395430ec4b9949894c61b61587a
2021-05-14 15:48:21 -04:00
9a48ae0c06 optimized pair_eam_kokkos. need more work to avoid large shared memory allocations
Change-Id: I1c23b0e10fdfa932b17ad764cf5a1d024b43d80a
2021-05-14 15:48:19 -04:00
f732e633ec Avoid loading data twice if itype==jtype
Change-Id: I430a761555bdbd93e3ca1b298c962b75b91175aa
2021-05-14 15:36:49 -04:00
4d9c2a97d2 replacing pow(a,1/3) with the cbrt(a) call - optimization is activated using the existing HIP_OPT_USE_LESS_MATH flag
Change-Id: Ic6670c54f453127e948036e5c9a88154b5af6e68
2021-05-14 15:36:48 -04:00
33346ae961 change teamsize
Change-Id: Ie7666e8ec8192fced098fe744f318aaf25365f5a
2021-05-14 15:36:48 -04:00
117995c2fc updated PairReaxBuildListsHalf use -DPairReaxBuildListsHalf_BLOCKING to activate
Change-Id: I8d1ec5ed9ec7042e9cdc53da825c07d3bc44e2bd
2021-05-14 15:36:47 -04:00
20dc9576d9 updated PairReaxComputeLJCoulomb. use -DPairReaxComputeLJCoulomb_BLOCKING to activate
Change-Id: Idef8dafc79216368bffbf90547016afca5f32a43
2021-05-14 15:36:47 -04:00
c6efc01a7f Revised Torsion kernel with -DHIP_PRINTF_WORKAROUND
Change-Id: Iffee0dfbd507f1a0b873a86a8b1c71ffcb5b344e
2021-05-14 15:36:46 -04:00
397b098ac0 fix memory leak in counter allocs
Change-Id: Ia45e3e5d1ce92b4fd537a031181bf719a243a8b1
2021-05-14 15:36:46 -04:00
775167ecd9 apply torsion preview to all cases
Change-Id: Icc619a89fc4af98735c0fbbeb52d655dc60b10fd
2021-05-14 15:36:45 -04:00
b0f638d937 fix bug where preview counters were being used in reduce (but was iterating over inum)
Change-Id: Ic60f40d5adcc6505ced83c7d5694813e161f73ac
2021-05-14 15:36:44 -04:00
fee6d98201 Catch missing HIP_OPT_TORSION_PREVIEW parts in kernel
Change-Id: Ib0ed83940bcd870a9531d596422956741e4f735a
2021-05-14 15:36:44 -04:00
dabb120096 fix undefined nnz w/ HIP_OPT_TORSION_PREVIEW off
Change-Id: Ie11be12a98ba48b9134537b5389b2b9300dc2be8
2021-05-14 15:36:43 -04:00
e2de1c5e8f Make the torsion preview optional
- enabled with -DHIP_OPT_TORSION_PREVIEW
	- reuse hiphostmalloced' memory when possible

Change-Id: I25fbe7b06cffe1b6047048cd71f78bbf54d73774
2021-05-14 15:36:43 -04:00
de0341121f test templated workaround for reduce bug
Change-Id: I858e0446c453b1d194b8c653d388c14aec450c63
2021-05-14 15:36:42 -04:00
44d036f486 fixing a bug in Torsion preview
Change-Id: I8f119d695f5ea3d9faa27843f87e54d3e0e086e9
2021-05-14 15:35:55 -04:00
3b3ef7e9a5 Minor optimization of tersoff kernel TagPairTersoffComputeShortNeigh
Change-Id: If70e524b6bf30d3bcdacf732cf3aab897e2843d4
2021-05-14 15:35:54 -04:00
705d314879 revised version of TagPairTersoffComputeHalf; requires defining define USE_COMBINED_JJ_LLOPS_TERSOFF
Change-Id: I45717fb9af210ef8bedffc2d228b60a7ec0368ef
2021-05-14 15:35:53 -04:00
bcd4ab036c Implement forward device pack/unpack for fix/qeq/reax
Change-Id: I690a63f7ef467d3f1b39784ac97cab54ed7fb248
2021-05-14 15:35:51 -04:00
14b388aea9 Revised torsion kernel with preprocessing
- preprocess the interaction lists to reduce divergence

Change-Id: I842cc424963333308c5aaaeb202c8f41f07a55f5
2021-05-14 15:19:54 -04:00
51b3cb640f Adding support to reducing number of mat lib. calls (-DHIP_OPT_USE_LESS_MATH)
Change-Id: I44d140cf1b9421ccb3277b0592d3100b76c6eae9
2021-05-14 15:19:53 -04:00
5b8e138d0f add more missing launch bounds
Change-Id: Ifc4c94963b3c1c26455d32598f366af84c73883e
2021-05-14 15:19:53 -04:00
99db66d485 Add launch bounds patches to avoid SWDEV-252521
Change-Id: I389b5db94c14f1e5bc90c1848bfc0e038774ee19
2021-05-14 15:19:52 -04:00
fdf12c4abc Initial files 2021-05-14 13:03:24 -06:00
0423a3e537 Merge branch 'master' into OptimizedDynamicalMatrix 2021-04-27 13:36:34 -07:00
3a6e27e0e8 must skip nofdotr test for sw since that requires newton on with /intel 2021-04-27 12:33:33 -04:00
9a09378136 can only use and test fdotr with USER-INTEL when newton pair is off 2021-04-27 09:53:20 -04:00
081b322ecd use the correct way to look up a neighbor list request 2021-04-27 09:51:53 -04:00
73f4346056 add nofdotr test 2021-04-27 09:00:04 -04:00
7ec8d025c8 tweak epsilon to adjust for numeric noise when using pair_modify nofdotr 2021-04-27 08:29:21 -04:00
7d6f7a0984 disable check failing due to inconsistent behavior on different platforms 2021-04-27 07:44:44 -04:00
ae8c48bcec correct expected error message 2021-04-27 07:44:14 -04:00
f856030203 update example inputs and log files for current state of affairs 2021-04-21 15:22:00 -04:00
865759116e update some comments 2021-04-21 15:14:18 -04:00
4eaa45337c reorder functions for simpler side-by-side comparison 2021-04-21 15:14:12 -04:00
b982542ae6 update indentation to 2 blanks. avoid "hanging else" constructs. 2021-04-21 14:56:26 -04:00
598e82d236 small cosmetic changes 2021-04-21 12:16:43 -04:00
1ee8de42d9 minor cleanups and simplifications using fmtlib 2021-04-21 12:08:37 -04:00
cd236776de Merge branch 'master' into OptimizedDynamicalMatrix 2021-04-21 11:46:36 -04:00
9b59e901bc update reax/c tests. disable OpenMP tests as that code is broken. 2021-04-21 09:54:59 -04:00
82ecfabe22 remove more unused code and structs 2021-04-21 01:29:48 -04:00
d2008aa362 add test for reaxff using coulomb tabulation 2021-04-21 01:19:45 -04:00
dbced62a65 reorder code for better plain vs. omp code comparison. remove unused stuff 2021-04-21 00:44:09 -04:00
08f4c30051 Merge branch 'master' into refactor-reaxff-parser 2021-04-20 20:52:18 -04:00
2a7e662d71 more whitespace 2021-04-20 20:14:30 -04:00
daf984835c whitespace 2021-04-20 17:31:43 -04:00
b014e8b94f revert standard reax/c test 2021-04-20 17:15:52 -04:00
66eea0b63a call destroy() before create() for multi-dimensional arrays to avoid leakage 2021-04-20 16:54:17 -04:00
83c1187e47 clear allocated data structure so that all included pointers are initialized to null 2021-04-20 16:53:39 -04:00
c543815692 small tweaks 2021-04-20 15:28:42 -04:00
daaebd55a6 add QEQ parameter file 2021-04-20 14:56:27 -04:00
2045667902 document QEQ package incompatibilities 2021-04-20 14:55:09 -04:00
678e243430 small update of unit test inputs 2021-04-20 14:54:14 -04:00
ae570c05d8 we don't need to hardcode pair styles to skip specific tests, but use YAML file for it 2021-04-20 14:53:44 -04:00
a959d65560 whitespace fixes 2021-04-20 14:52:42 -04:00
fec12020ac add unit tests for fix qeq/point and fix qeq/shielded 2021-04-20 14:52:29 -04:00
fe2efa4cb3 disallow usage of qeq fixes with incompatible GPU and USER-INTEL packages 2021-04-20 14:51:27 -04:00
799fb284c8 small updates to the QEQ package for better testing
- add a "warn no/yes" keyword/value pair to allow turning of the convergence warning
- add a scalar compute to retrieve the number of QEq itration from the fix
- update the buck example input to run all QEq methods from a common restart
- document changes
2021-04-20 14:00:51 -04:00
6c4ad8ad35 implement nowarn flag for qeq/reax fixes and add scalar compute function for number of qeq iterations
make behavior handling the maximum number of iterations consistent
across USER-REAXC, USER-OMP and KOKKOS package variants so that
they all give the same results for the same number of iterations
in serial and parallel
2021-04-19 07:38:50 -04:00
0fc73c9d67 support for centroid virial stress in rigid/small 2021-04-19 16:18:06 +09:00
b904d256cd implement keeping track of geometric center in rigid/small 2021-04-20 14:06:53 +09:00
ac7c5592d7 add centroid virial tally function in preparation for rigid/small support 2021-12-06 17:45:49 +09:00
c11e9cc849 remove unused defines and enumerators 2021-04-18 22:59:55 -04:00
43491b4220 lift compile time limit to 25 atom types 2021-04-18 22:31:35 -04:00
f9d133dcba must use a reference for the shortcut to work 2021-04-18 22:07:38 -04:00
e901fff8b6 remove unused variable 2021-04-18 21:18:42 -04:00
937bfe7dd8 add some convenience variables to improve readability 2021-04-18 21:15:45 -04:00
0c88e57173 remove last remnants of OMP_TIMING code hack 2021-04-18 15:46:27 -04:00
6c88baceb7 remove support for writing "native" trajectory files from USER-REAXC 2021-04-18 05:20:35 -04:00
ab8d78c8f4 convert control file reader code to use text file reader class 2021-04-18 04:33:52 -04:00
238ed55313 small code tweaks and whitespace update 2021-04-18 04:33:06 -04:00
162e4e16a5 fix incorrect indentation 2021-04-18 04:15:58 -04:00
242fc2d212 modernize parameter file parser in QEQ package 2021-04-18 04:06:46 -04:00
09d7fe2fcf don't ignore comments in ReaxFF force field files 2021-04-18 04:05:01 -04:00
6bc6da7657 throw EOF exception in TextFileReader::next_values() if next_line() doesn't do it 2021-04-18 04:04:40 -04:00
6f343aaeed add UNITS keyword comments to fix qeq parameter files 2021-04-18 04:02:18 -04:00
ab3303ed7b fix indexing bug for hydrogen bond parameters 2021-04-18 02:45:23 -04:00
eaa064e01d remove unused tokenizer function 2021-04-18 02:35:08 -04:00
545f551c9d modernize force field parser for ReaxFF 2021-04-17 18:30:04 -04:00
f0ef44a496 fix small memory leak 2021-04-17 18:23:36 -04:00
87e74bc721 small tweaks for better alignment and access to the LAMMPS Memory class 2021-04-17 15:42:56 -04:00
04c5b23d90 add custom constructor for TextFileReader that uses an already opened file descriptor 2021-04-17 15:41:45 -04:00
3b55872a18 updates for legacy build system 2021-04-17 03:10:13 -04:00
1c6db4b0cb some more smaller tweaks 2021-04-17 02:51:18 -04:00
dcdb5cc0e0 whitespace fixes 2021-04-17 02:28:32 -04:00
eb4d7efd32 silence compiler warning 2021-04-17 02:27:45 -04:00
a8f54d097c Merge branch 'master' into refactor-reaxff-parser 2021-04-17 02:19:37 -04:00
224c593846 convert USER-REAXC to use a ReaxFF namespace
also bundle exported functions in fewer header files
2021-04-17 02:18:35 -04:00
0ed44e0b81 Remove leftover merge conflict string 2021-04-16 18:05:20 -07:00
535384b235 Finish updating to current master 2021-04-16 17:14:55 -07:00
81458fe132 convert control file reader to ReaxFF namespace 2021-04-16 16:59:49 -04:00
a46c901be6 remove unused data structure members 2021-04-16 16:59:23 -04:00
b96d1ac1a5 first step of adopting a ReaxFF namespace and reorganizing the ReaxFF headers 2021-04-16 16:45:46 -04:00
f2772e5894 PIMPL-ify reax/c pair styles; first steps toward a ReaxFF namespace 2021-04-16 10:50:53 -04:00
2c38d1b7d4 reax/c native trajectory output cleanup/simplification 2021-04-16 07:22:16 -04:00
6c07d2fb11 replace some more sprintf() calls to local buffers with fmtlib 2021-04-15 20:08:25 -04:00
3eed9f23c8 replace sprintf() into local char buffers with fmtlib 2021-04-15 19:02:59 -04:00
d1f004962a convert fix qeq/reax to use modern LAMMPS file parsing 2021-04-15 17:13:31 -04:00
8b87eb9468 remove unused file pointers and file streams 2021-04-15 15:49:51 -04:00
cc82e9b558 remove unused rtensor data type and support functions for it. 2021-04-15 14:36:07 -04:00
fb75e3e8b1 remove unused and commented out defines 2021-04-15 14:35:28 -04:00
b3bc2d3df1 adjust pair style reax/c to read control file on MPI rank 0 and use tokenizer class 2021-04-15 13:21:54 -04:00
499b685421 clean up workspace management, output control, and enumerators 2021-04-15 10:58:29 -04:00
4dfd06cd8f remove unused communication storage 2021-04-15 10:20:34 -04:00
8118c23a98 remove totals from energy_data struct 2021-04-15 10:11:24 -04:00
1fe2812c2b recover from CI compilation failure 2021-04-15 09:45:10 -04:00
06a8f746cc remove some more unused timer info and unused arguments 2021-04-15 09:36:21 -04:00
def09d4d7a remove unused simulation data struct members and related code 2021-04-15 07:36:02 -04:00
f0369ce72d remove unused timing data structure 2021-04-15 07:06:56 -04:00
7dc21842c2 ignore/remove unused control file settings and related functions and data structures 2021-04-15 06:58:20 -04:00
54ee33fe58 simplify creation of reaxc fix 2021-04-15 04:48:02 -04:00
112142be35 remove some unused structs, typedefs and data members 2021-04-15 00:18:47 -04:00
487e0b041c eliminate mpi_datatypes struct 2021-04-14 23:26:37 -04:00
390b1683f0 remove unusued function pointer typedefs 2021-04-14 17:53:29 -04:00
a2dcbf6a2d remove obsolete define 2021-04-14 17:52:10 -04:00
73cd6f8e4e read control file only on MPI rank 0, then broadcast its data 2021-04-14 17:51:41 -04:00
89b0227849 move file opening step to reax/c function. simplify code. 2021-04-14 16:42:37 -04:00
8255fca58f darwin library error 2021-03-23 12:30:16 +01:00
8af131424a Merge pull request #4 from lammps/master
update my fork
2021-03-23 11:20:29 +01:00
a3e204a99d Simplified reset_extra_dof 2021-03-17 16:23:04 +10:00
97f90f1146 Cleaned up math for clarity 2021-03-17 15:56:48 +10:00
471cfa8ac3 Fixed inconsistent default extra_dof value 2021-03-17 14:31:17 +10:00
aad0a9a0f3 Updated documentation to reflect changes in compute_temp_profile 2021-03-17 14:14:33 +10:00
b1b7f7a248 Fixed treatment of DoF when streaming velocity not subtracted in some dimensions 2021-03-17 13:59:16 +10:00
5e4dd5321c Using local dof and tfactor for compute_array to prevent overwrite 2021-03-17 13:38:51 +10:00
c643389ec4 Treat extra_dof as system-wide in compute_array for consistency, and include fix_dof 2021-03-17 11:38:07 +10:00
ab07427339 Corrected default extra_dof 2021-03-17 09:52:05 +10:00
fed47b9ffc Merged 1/29/2021 master and fixed merge conflicts 2021-01-29 12:33:17 -08:00
1eefc13cdb Merge pull request #3 from lammps/master
update fork
2021-01-27 08:34:04 +01:00
b2f96d92df remove print statement 2021-01-13 10:31:03 -07:00
fc79280548 other USER-DPD uses of dname vs new dvname 2021-01-12 12:37:50 -07:00
6f4d657061 enable pair table/rx for new custom vector syntax 2021-01-12 12:28:06 -07:00
386fe6158a edits to doc pages, including per-atom variables 2021-01-12 09:07:23 -07:00
bddd26ba6c additional changes needed to merge with current master 2021-01-11 17:26:00 -07:00
0b14770468 merge with current master 2021-01-11 16:13:33 -07:00
3ff8d8bf41 update centroid/stress/atom compute to correctly handle fixes with CENTROID_AVAIL 2020-12-14 19:41:34 +09:00
8520a71646 centroid stress support in shake (and rattle) 2020-12-14 19:31:38 +09:00
abba1204a8 support for centroid stress in fixes 2021-12-06 17:12:39 +09:00
3a9796d9b3 add flags for centroid stress 2020-12-14 19:29:18 +09:00
825facf6e0 Fix compile issue with accelerator_kokkos.h 2020-11-06 12:33:31 -07:00
5526cc2c53 Fix issue with Kokkos::finalize and library interface 2020-11-06 12:01:45 -07:00
64257393b9 remove custom vector usage from USER-DPD:fix_rx.cpp 2020-09-09 10:21:59 -06:00
76725731fd changes in package files to match new find_custom() syntax 2020-09-08 13:48:41 -06:00
d1442b0538 enable per-atom custom arrays in addition to vectors 2020-09-04 11:33:49 -06:00
e57b391d40 Add threading capability to both commands 2020-07-20 11:35:10 -07:00
5abddfe68d Fixed nitpicky details, updated output, moved mass out of folded check 2020-07-19 19:12:01 -07:00
9011cfaa96 Added neighbors of neighbors list indexed by tag and return tags. 2020-07-18 02:27:31 -07:00
dd6e5df356 Remove print statement 2020-07-16 14:16:12 -07:00
7133311d2d Change Allreduce to fit bigint 2020-07-16 14:13:45 -07:00
999dd13924 Draft of force calculation reduction through neighbor lists 2020-07-15 12:45:46 -07:00
4b656b3961 Check if atom is part of group before computing forces 2020-07-14 15:47:14 -07:00
35f3aeb15a Merge branch 'master' into OptimizedDynamicalMatrix 2020-07-13 19:48:16 -07:00
d368c46ea9 Merge remote-tracking branch 'origin' 2020-07-13 19:46:44 -07:00
57d674cc81 Merge branch 'master' into OptimizedDynamicalMatrix 2020-07-13 19:46:05 -07:00
3a4652613d Add folded option, change ballistico to eskm, add post force modifications 2020-07-13 19:43:24 -07:00
4295dd2dbc Wrong number 2020-05-25 17:09:32 -06:00
4bfb505123 Added reviewer response doc 2020-05-25 16:35:50 -06:00
4a261f3961 Added python example (!) and turned on switching function 2020-05-23 10:18:16 -06:00
651e9c6397 Initialized arrays to NULL 2020-05-19 11:01:31 -06:00
2fa9e5fefb Completed brute force parallel implementation using MPI_Allreduce() 2019-10-24 19:48:41 -06:00
b44b1f94b7 Merge remote-tracking branch 'upstream/master' into compute-grid 2019-10-24 17:47:03 -06:00
59e3b4c5ba Fixed bug in lammps.py 2019-10-24 16:12:23 -06:00
5956908cfd Added cols for coords 2019-10-23 21:51:36 -06:00
0fc325c98b Got a first pass working for ortho and tri grids 2019-10-23 18:56:21 -06:00
8374280383 Got a first pass working for ortho and tri grids 2019-10-23 18:46:28 -06:00
762ecf8f0e Completed serial version with PBC, but incorrect 2019-10-19 17:03:19 -06:00
ea9c1002fe Created placeholders for ComputeGrid and ComputeSNAGrid classes 2019-10-11 17:51:19 -06:00
255cc85b32 Merge branch 'master' of https://github.com/charlessievers/lammps 2019-09-04 16:18:57 -07:00
2e2b1b3687 Initial commit... 2019-05-02 15:17:31 +01:00
65399a6193 Merge branch 'OptimizedDynamicalMatrix' of https://github.com/charlessievers/lammps 2019-02-01 20:51:08 -08:00
9284 changed files with 880009 additions and 716350 deletions

7
.gitattributes vendored
View File

@ -3,3 +3,10 @@
.github export-ignore
.lgtm.yml export-ignore
SECURITY.md export-ignore
CITATION.cff export-ignore
* text=auto
*.jpg -text
*.pdf -text
*.gz -text
*.png -text
*.ps -text

68
.github/CODEOWNERS vendored
View File

@ -22,41 +22,42 @@ src/MESSAGE/* @sjplimp
src/MLIAP/* @athomps
src/SNAP/* @athomps
src/SPIN/* @julient31
src/USER-BROWNIAN/* @samueljmcameron
src/USER-CGDNA/* @ohenrich
src/USER-CGSDK/* @akohlmey
src/USER-COLVARS/* @giacomofiorin
src/USER-FEP/* @agiliopadua
src/USER-HDNNP/* @singraber
src/USER-INTEL/* @wmbrownintel
src/USER-MANIFOLD/* @Pakketeretet2
src/USER-MDI/* @taylor-a-barnes
src/USER-MEAMC/* @martok
src/USER-MESONT/* @iafoss
src/USER-MOFFF/* @hheenen
src/USER-MOLFILE/* @akohlmey
src/USER-NETCDF/* @pastewka
src/USER-PACE/* @yury-lysogorskiy
src/USER-PLUMED/* @gtribello
src/USER-PHONON/* @lingtikong
src/USER-PTM/* @pmla
src/USER-OMP/* @akohlmey
src/USER-QMMM/* @akohlmey
src/USER-REAXC/* @hasanmetin
src/USER-REACTION/* @jrgissing
src/USER-SCAFACOS/* @rhalver
src/USER-TALLY/* @akohlmey
src/USER-UEF/* @danicholson
src/USER-VTK/* @rbberger
src/BROWNIAN/* @samueljmcameron
src/CG-DNA/* @ohenrich
src/CG-SDK/* @akohlmey
src/COLVARS/* @giacomofiorin
src/DIELECTRIC/* @ndtrung81
src/FEP/* @agiliopadua
src/ML-HDNNP/* @singraber
src/INTEL/* @wmbrownintel
src/MANIFOLD/* @Pakketeretet2
src/MDI/* @taylor-a-barnes
src/MEAM/* @martok
src/MESONT/* @iafoss
src/MOFFF/* @hheenen
src/MOLFILE/* @akohlmey
src/NETCDF/* @pastewka
src/ML-PACE/* @yury-lysogorskiy
src/PLUMED/* @gtribello
src/PHONON/* @lingtikong
src/PTM/* @pmla
src/OPENMP/* @akohlmey
src/QMMM/* @akohlmey
src/REAXFF/* @hasanmetin @stanmoore1
src/REACTION/* @jrgissing
src/SCAFACOS/* @rhalver
src/TALLY/* @akohlmey
src/UEF/* @danicholson
src/VTK/* @rbberger
# individual files in packages
src/GPU/pair_vashishta_gpu.* @andeplane
src/KOKKOS/pair_vashishta_kokkos.* @andeplane
src/MANYBODY/pair_vashishta_table.* @andeplane
src/MANYBODY/pair_atm.* @sergeylishchuk
src/USER-MISC/*_grem.* @dstelter92
src/USER-MISC/compute_stress_mop*.* @RomainVermorel
src/REPLICA/*_grem.* @dstelter92
src/EXTRA-COMPUTE/compute_stress_mop*.* @RomainVermorel
src/MISC/*_tracker.* @jtclemm
# core LAMMPS classes
src/lammps.* @sjplimp
@ -80,8 +81,9 @@ src/kspace.* @sjplimp
src/lmptyp.h @sjplimp
src/library.* @sjplimp
src/main.cpp @sjplimp
src/min_*.* @sjplimp
src/memory.* @sjplimp
src/modify.* @sjplimp
src/modify.* @sjplimp @stanmoore1
src/molecule.* @sjplimp
src/my_page.h @sjplimp
src/my_pool_chunk.h @sjplimp
@ -108,7 +110,6 @@ src/thermo.* @sjplimp
src/universe.* @sjplimp
src/update.* @sjplimp
src/variable.* @sjplimp
src/verlet.* @sjplimp
src/velocity.* @sjplimp
src/write_data.* @sjplimp
src/write_restart.* @sjplimp
@ -121,13 +122,14 @@ src/info.* @akohlmey @rbberger
src/timer.* @akohlmey
src/min* @sjplimp @stanmoore1
src/utils.* @akohlmey @rbberger
src/verlet.* @sjplimp @stanmoore1
src/math_eigen_impl.h @jewettaij
# tools
tools/msi2lmp/* @akohlmey
tools/emacs/* @HaoZeke
tools/singularity/* @akohlmey @rbberger
tools/code_standard/* @rbberger
tools/coding_standard/* @rbberger
tools/valgrind/* @akohlmey
tools/swig/* @akohlmey
tools/offline/* @rbberger
@ -137,7 +139,7 @@ unittest/* @akohlmey @rbberger
# cmake
cmake/* @junghans @rbberger
cmake/Modules/Packages/USER-COLVARS.cmake @junghans @rbberger @giacomofiorin
cmake/Modules/Packages/COLVARS.cmake @junghans @rbberger @giacomofiorin
cmake/Modules/Packages/KIM.cmake @junghans @rbberger @ellio167
cmake/presets/*.cmake @akohlmey

View File

@ -5,8 +5,9 @@ Thank your for considering to contribute to the LAMMPS software project.
The following is a set of guidelines as well as explanations of policies and work flows for contributing to the LAMMPS molecular dynamics software project. These guidelines focus on submitting issues or pull requests on the LAMMPS GitHub project.
Thus please also have a look at:
* [The Section on submitting new features for inclusion in LAMMPS of the Manual](https://lammps.sandia.gov/doc/Modify_contribute.html)
* [The LAMMPS GitHub Tutorial in the Manual](http://lammps.sandia.gov/doc/Howto_github.html)
* [The guide for submitting new features in the LAMMPS manual](https://www.lammps.org/doc/Modify_contribute.html)
* [The guide on programming style and requirement in the LAMMPS manual](https://www.lammps.org/doc/Modify_style.html)
* [The GitHub tutorial in the LAMMPS manual](http://lammps.sandia.gov/doc/Howto_github.html)
## Table of Contents
@ -26,11 +27,11 @@ __
## I don't want to read this whole thing I just have a question!
> **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to either the ['lammps-users' mailing list](https://lammps.sandia.gov/mail.html) or the [LAMMPS Material Science Discourse forum](https://matsci.org/lammps). You do not need to be subscribed to post to the list (but a mailing list subscription avoids having your post delayed until it is approved by a mailing list moderator). Most posts to the mailing list receive a response within less than 24 hours. Before posting to the mailing list, please read the [mailing list guidelines](https://lammps.sandia.gov/guidelines.html). Following those guidelines will help greatly to get a helpful response. Always mention which LAMMPS version you are using. The LAMMPS forum was recently created as part of a larger effort to build a materials science community and have discussions not just about using LAMMPS. Thus the forum may be also used for discussions that would be off-topic for the mailing list. Those will just have to be moved to a more general category.
> **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to either the ['lammps-users' mailing list](https://lammps.sandia.gov/mail.html) or the [LAMMPS Material Science Discourse forum](https://matsci.org/lammps). You do not need to be subscribed to post to the list (but a mailing list subscription avoids having your post delayed until it is approved by a mailing list moderator). Most posts to the mailing list receive a response within less than 24 hours. Before posting to the mailing list, please read the [mailing list guidelines](https://lammps.sandia.gov/guidelines.html). Following those guidelines will help greatly to get a helpful response. Always mention which LAMMPS version you are using. The LAMMPS forum was recently created as part of a larger effort to build a materials science community and have discussions not just about using LAMMPS. Thus the forum may be also used for discussions that would be off-topic for the mailing list. Those will just have to be posted to a more general category.
## How Can I Contribute?
There are several ways how you can actively contribute to the LAMMPS project: you can discuss compiling and using LAMMPS, and solving LAMMPS related problems with other LAMMPS users on the lammps-users mailing list, you can report bugs or suggest enhancements by creating issues on GitHub (or posting them to the lammps-users mailing list or posting in the LAMMPS Materials Science Discourse forum), and you can contribute by submitting pull requests on GitHub or e-mail your code
There are several ways how you can actively contribute to the LAMMPS project: you can discuss compiling and using LAMMPS, and solving LAMMPS related problems with other LAMMPS users on the lammps-users mailing list or the forum, you can report bugs or suggest enhancements by creating issues on GitHub (or posting them to the lammps-users mailing list or posting in the LAMMPS Materials Science Discourse forum), and you can contribute by submitting pull requests on GitHub or e-mail your code
to one of the [LAMMPS core developers](https://lammps.sandia.gov/authors.html). As you may see from the aforementioned developer page, the LAMMPS software package includes the efforts of a very large number of contributors beyond the principal authors and maintainers.
### Discussing How To Use LAMMPS
@ -62,37 +63,12 @@ To be able to submit an issue on GitHub, you have to register for an account (fo
### Contributing Code
We encourage users to submit new features or modifications for LAMMPS to the core developers so they can be added to the LAMMPS distribution. The preferred way to manage and coordinate this is by submitting a pull request at the LAMMPS project on GitHub. For any larger modifications or programming project, you are encouraged to contact the LAMMPS developers ahead of time, in order to discuss implementation strategies and coding guidelines, that will make it easier to integrate your contribution and result in less work for everybody involved. You are also encouraged to search through the list of open issues on GitHub and submit a new issue for a planned feature, so you would not duplicate the work of others (and possibly get scooped by them) or have your work duplicated by others.
We encourage users to submit new features or modifications for LAMMPS. Instructions, guidelines, requirements,
and recommendations are in the following sections of the LAMMPS manual:
* [The guide for submitting new features in the LAMMPS manual](https://lammps.sandia.gov/doc/Modify_contribute.html)
* [The guide on programming style and requirement in the LAMMPS manual](https://lammps.sandia.gov/doc/Modify_contribute.html)
* [The GitHub tutorial in the LAMMPS manual](http://lammps.sandia.gov/doc/Howto_github.html)
How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core code base, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of typical requirements. Once you have prepared everything, see [this tutorial](https://lammps.sandia.gov/doc/Howto_github.html)
for instructions on how to submit your changes or new files through a GitHub pull request
Here is a checklist of steps you need to follow to submit a single file or user package for our consideration. Following these steps will save both you and us time. See existing files in packages in the source directory for examples. If you are uncertain, please ask on the lammps-users mailing list.
* C++ source code must be compatible with the C++-11 standard. Packages may require a later standard, if justified.
* 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 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 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
* 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.
If the new features/files are broadly useful we may add them as core files to LAMMPS or as part of a standard package. Else we will add them as a user-contributed file or package. Examples of user packages are in src sub-directories that start with USER. The USER-MISC package is simply a collection of (mostly) unrelated single files, which is the simplest way to have your contribution quickly added to the LAMMPS distribution. You can see a list of the both standard and user packages by typing "make package" in the LAMMPS src directory.
Note that by providing us files to release, you are agreeing to make them open-source, i.e. we can release them under the terms of the GPL, used as a license for the rest of LAMMPS. See Section 1.4 for details.
With user packages and files, all we are really providing (aside from the fame and fortune that accompanies having your name in the source code and on the Authors page of the LAMMPS WWW site), is a means for you to distribute your work to the LAMMPS user community, and a mechanism for others to easily try out your new feature. This may help you find bugs or make contact with new collaborators. Note that you are also implicitly agreeing to support your code which means answer questions, fix bugs, and maintain it if LAMMPS changes in some way that breaks it (an unusual event).
To be able to submit an issue on GitHub, you have to register for an account (for GitHub in general). If you do not want to do that, or have other reservations or difficulties to submit a pull request, you can - as an alternative - contact one or more of the core LAMMPS developers and ask if one of them would be interested in manually merging your code into LAMMPS and send them your source code. Since the effort to merge a pull request is a small fraction of the effort of integrating source code manually (which would usually be done by converting the contribution into a pull request), your chances to have your new code included quickly are the best with a pull request.
If you prefer to submit patches or full files, you should first make certain, that your code works correctly with the latest patch-level version of LAMMPS and contains all bug fixes from it. Then create a gzipped tar file of all changed or added files or a corresponding patch file using 'diff -u' or 'diff -c' and compress it with gzip. Please only use gzip compression, as this works well on all platforms.
## GitHub Workflows
@ -102,17 +78,17 @@ This section briefly summarizes the steps that will happen **after** you have su
After submitting an issue, one or more of the LAMMPS developers will review it and categorize it by assigning labels. Confirmed bug reports will be labeled `bug`; if the bug report also contains a suggestion for how to fix it, it will be labeled `bugfix`; if the issue is a feature request, it will be labeled `enhancement`. Other labels may be attached as well, depending on which parts of the LAMMPS code are affected. If the assessment is, that the issue does not warrant any changes, the `wontfix` label will be applied and if the submission is incorrect or something that should not be submitted as an issue, the `invalid` label will be applied. In both of the last two cases, the issue will then be closed without further action.
For feature requests, what happens next is that developers may comment on the viability or relevance of the request, discuss and make suggestions for how to implement it. If a LAMMPS developer or user is planning to implement the feature, the issue will be assigned to that developer. For developers, that are not yet listed as LAMMPS project collaborators, they will receive an invitation to be added to the LAMMPS project as a collaborator so they can get assigned. If the requested feature or enhancement is implemented, it will usually be submitted as a pull request, which will contain a reference to the issue number. And once the pull request is reviewed and accepted for inclusion into LAMMPS, the issue will be closed. For details on how pull requests are processed, please see below.
For feature requests, what happens next is that developers may comment on the viability or relevance of the request, discuss and make suggestions for how to implement it. If a LAMMPS developer or user is planning to implement the feature, the issue will be assigned to that developer. For developers, that are not yet listed as LAMMPS project collaborators, they will receive an invitation to be added to the LAMMPS project as a collaborator so they can get assigned. If the requested feature or enhancement is implemented, it will be submitted as a pull request, which will contain a reference to the issue number. And once the pull request is reviewed and accepted for inclusion into LAMMPS, the issue will be closed. For details on how pull requests are processed, please see below. Feature requests may be labeled with `volunteer_needed` if none of the LAMMPS developers has the time and the required knowledge implement the feature.
For bug reports, the next step is that one of the core LAMMPS developers will self-assign to the issue and try to confirm the bug. If confirmed, the `bug` label and potentially other labels are added to classify the issue and its impact to LAMMPS. Before confirming, further questions may be asked or requests for providing additional input files or details about the steps required to reproduce the issue. Any bugfix is likely to be submitted as a pull request (more about that below) and since most bugs require only local changes, the bugfix may be included in a pull request specifically set up to collect such local bugfixes or small enhancements. Once the bugfix is included in the master branch, the issue will be closed.
For bug reports, the next step is that one of the core LAMMPS developers will self-assign to the issue and try to confirm the bug. If confirmed, the `bug` label and potentially other labels are added to classify the issue and its impact to LAMMPS. Otherwise the `unconfirmed` label will be applied and some comment about what was tried to confirm the bug added. Before confirming, further questions may be asked or requests for providing additional input files or details about the steps required to reproduce the issue. Any bugfix will be submitted as a pull request (more about that below) and since most bugs require only local changes, the bugfix may be included in a pull request specifically set up to collect such local bugfixes or small enhancements. Once the bugfix is included in the master branch, the issue will be closed.
### Pull Requests
For submitting pull requests, there is a [detailed tutorial](https://lammps.sandia.gov/doc/Howto_github.html) in the LAMMPS manual. Thus only a brief breakdown of the steps is presented here. Please note, that the LAMMPS developers are still reviewing and trying to improve the process. If you are unsure about something, do not hesitate to post a question on the lammps-users mailing list or contact one fo the core LAMMPS developers.
Immediately after the submission, the LAMMPS continuing integration server at ci.lammps.org will download your submitted branch and perform a simple compilation test, i.e. will test whether your submitted code can be compiled under various conditions. It will also do a check on whether your included documentation translates cleanly. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each the pull request is updated with a push to the remote branch on GitHub.
Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you are not yet registered as a LAMMPS collaborator, you will receive an invitation for that. As part of the assessment, the pull request will be categorized with labels. There are two special labels: `needs_work` (indicates that work from the submitter of the pull request is needed) and `work_in_progress` (indicates, that the assigned LAMMPS developer will make changes, if not done by the contributor who made the submit).
Pull requests are the **only** way that changes get made to the LAMMPS distribution. So also the LAMMPS core developers will submit pull requests for their own changes and discuss them on GitHub. Thus if you submit a pull request it will be treated in a similar fashion. When you submit a pull request you may opt to submit a "Draft" pull request. That means your changes are visible and will be subject to testing, but reviewers will not be (auto-)assigned and comments will take into account that this is not complete. On the other hand, this is a perfect way to ask the LAMMPS developers for comments on non-obvious changes and get feedback and possible suggestions for improvements or recommendations about what to avoid.
Immediately after the submission, the LAMMPS continuing integration server at ci.lammps.org will download your submitted branch and perform a number of tests: it will tests whether it compiles cleanly under various conditions, it will also do a check on whether your included documentation translates cleanly and run some unit tests and other checks. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each time the pull request is updated with a push to the remote branch on GitHub. If you are unsure about what you need to change, ask a question in the discussion area of the pull request.
Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you submitted a draft pull request, this will not happen unless you mark it "ready for review". If you are not yet invited as a LAMMPS collaborator, and your contribution seems significant, you may also receive an invitation for collaboration on the LAMMPS repository. As part of the assessment, the pull request will be categorized with labels. There are two special labels: `needs_work` (indicates that work from the submitter of the pull request is needed) and `work_in_progress` (indicates, that the assigned LAMMPS developer will make changes, if not done by the contributor who made the submit).
You may also receive comments and suggestions on the overall submission or specific details and on occasion specific requests for changes as part of the review. If permitted, also additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes.
The LAMMPS developer may then decide to assign the pull request to another developer (e.g. when that developer is more knowledgeable about the submitted feature or enhancement or has written the modified code). It may also happen, that additional developers are requested to provide a review and approve the changes. For submissions, that may change the general behavior of LAMMPS, or where a possibility of unwanted side effects exists, additional tests may be requested by the assigned developer.
If the assigned developer is satisfied and considers the submission ready for inclusion into LAMMPS, the pull request will receive approvals and be merged into the master branch by one of the core LAMMPS developers. After the pull request is merged, you may delete the feature branch used for the pull request in your personal LAMMPS fork.
Since the learning curve for git is quite steep for efficiently managing remote repositories, local and remote branches, pull requests and more, do not hesitate to ask questions, if you are not sure about how to do certain steps that are asked of you. Even if the changes asked of you do not make sense to you, they may be important for the LAMMPS developers. Please also note, that these all are guidelines and nothing set in stone. So depending on the nature of the contribution, the workflow may be adjusted.
If the assigned developer is satisfied and considers the submission ready for inclusion into LAMMPS, the pull request will receive approvals and be merged into the master branch by one of the core LAMMPS developers. After the pull request is merged, you may delete the feature branch used for the pull request in your personal LAMMPS fork. The minimum requirement to merge a pull request is that all automated tests have to pass and at least one LAMMPS developer has approved integrating the submitted code. Since the approver will not be the person merging a pull request, you will have at least two LAMMPS developers that looked at your contribution.
Since the learning curve for git is quite steep for efficiently managing remote repositories, local and remote branches, pull requests and more, do not hesitate to ask questions, if you are not sure about how to do certain steps that are asked of you. Even if the changes asked of you do not make sense to you, they may be important for the LAMMPS developers. Please also note, that these all are guidelines and nothing set in stone. So depending on the nature of the contribution, the work flow may be adjusted.

6
.github/codecov.yml vendored
View File

@ -7,7 +7,7 @@ coverage:
threshold: 10%
only_pulls: false
branches:
- "master"
- "develop"
flags:
- "unit"
paths:
@ -16,14 +16,14 @@ coverage:
project:
default:
branches:
- "master"
- "develop"
paths:
- "src"
informational: true
patch:
default:
branches:
- "master"
- "develop"
paths:
- "src"
informational: true

6
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

View File

@ -3,7 +3,9 @@ name: "CodeQL Code Analysis"
on:
push:
branches: [master]
branches: [develop]
workflow_dispatch:
jobs:
analyze:
@ -11,6 +13,11 @@ jobs:
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: ubuntu-latest
permissions:
security-events: write
actions: read
contents: read
strategy:
fail-fast: false
matrix:
@ -18,17 +25,17 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql/${{ matrix.language }}.yml
@ -46,4 +53,4 @@ jobs:
cmake --build . --parallel 2
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v2

49
.github/workflows/compile-msvc.yml vendored Normal file
View File

@ -0,0 +1,49 @@
# GitHub action to build LAMMPS on Windows with Visual C++
name: "Native Windows Compilation and Unit Tests"
on:
push:
branches: [develop]
workflow_dispatch:
jobs:
build:
name: Windows Compilation Test
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Select Python version
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Building LAMMPS via CMake
shell: bash
run: |
python3 -m pip install numpy
python3 -m pip install pyyaml
cmake -C cmake/presets/windows.cmake \
-D PKG_PYTHON=on \
-S cmake -B build \
-D BUILD_SHARED_LIBS=on \
-D LAMMPS_EXCEPTIONS=on \
-D ENABLE_TESTING=on
cmake --build build --config Release
- name: Run LAMMPS executable
shell: bash
run: |
./build/Release/lmp.exe -h
./build/Release/lmp.exe -in bench/in.lj
- name: Run Unit Tests
working-directory: build
shell: bash
run: ctest -V -C Release

View File

@ -3,7 +3,9 @@ name: "Unittest for MacOS"
on:
push:
branches: [master]
branches: [develop]
workflow_dispatch:
jobs:
build:
@ -15,7 +17,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 2
@ -26,7 +28,7 @@ jobs:
run: mkdir build
- name: Set up ccache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ${{ env.CCACHE_DIR }}
key: macos-ccache-${{ github.sha }}
@ -37,6 +39,7 @@ jobs:
working-directory: build
run: |
ccache -z
python3 -m pip install pyyaml
cmake -C ../cmake/presets/clang.cmake \
-C ../cmake/presets/most.cmake \
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache \

11
.gitignore vendored
View File

@ -12,6 +12,8 @@
*.sif
*.dll
*.pyc
*.whl
a.out
__pycache__
Obj_*
@ -36,13 +38,20 @@ vgcore.*
.Trashes
ehthumbs.db
Thumbs.db
.clang-format
.lammps_history
.vs
#cmake
/build*
/CMakeCache.txt
/CMakeFiles/
/Testing
/Makefile
/Testing
/cmake_install.cmake
/lmp
out/Debug
out/RelWithDebInfo
out/Release
out/x86
out/x64

View File

@ -4,7 +4,7 @@ extraction:
command:
- "mkdir build"
- "cd build"
- "cmake -G Ninja -C ../cmake/presets/minimal.cmake ../cmake"
- "cmake -G Ninja -C ../cmake/presets/most.cmake ../cmake"
index:
build_command:
- "cd build"

91
CITATION.cff Normal file
View File

@ -0,0 +1,91 @@
# YAML 1.2
---
cff-version: 1.2.0
title: "LAMMPS: Large-scale Atomic/Molecular Massively Parallel Simulator"
type: software
authors:
- family-names: "Plimpton"
given-names: "Steven J."
- family-names: "Kohlmeyer"
given-names: "Axel"
orcid: "https://orcid.org/0000-0001-6204-6475"
- family-names: "Thompson"
given-names: "Aidan P."
orcid: "https://orcid.org/0000-0002-0324-9114"
- family-names: "Moore"
given-names: "Stan G."
- family-names: "Berger"
given-names: "Richard"
orcid: "https://orcid.org/0000-0002-3044-8266"
doi: 10.5281/zenodo.3726416
license: GPL-2.0-only
url: https://www.lammps.org
repository-code: https://github.com/lammps/lammps/
keywords:
- "Molecular Dynamics"
- "Materials Modeling"
message: "If you are referencing LAMMPS in a publication, please cite the paper below."
preferred-citation:
type: article
doi: "10.1016/j.cpc.2021.108171"
url: "https://www.sciencedirect.com/science/article/pii/S0010465521002836"
authors:
- family-names: "Thompson"
given-names: "Aidan P."
orcid: "https://orcid.org/0000-0002-0324-9114"
- family-names: "Aktulga"
given-names: "H. Metin"
- family-names: "Berger"
given-names: "Richard"
orcid: "https://orcid.org/0000-0002-3044-8266"
- family-names: "Bolintineanu"
given-names: "Dan S."
- family-names: "Brown"
given-names: "W. Michael"
- family-names: "Crozier"
given-names: "Paul S."
- family-names: "in 't Veld"
given-names: "Pieter J."
- family-names: "Kohlmeyer"
given-names: "Axel"
orcid: "https://orcid.org/0000-0001-6204-6475"
- family-names: "Moore"
given-names: "Stan G."
- family-names: "Nguyen"
given-names: "Trung Dac"
- family-names: "Shan"
given-names: "Ray"
- family-names: "Stevens"
given-names: "Mark J."
- family-names: "Tranchida"
given-names: "Julien"
- family-names: "Trott"
given-names: "Christian"
- family-names: "Plimpton"
given-names: "Steven J."
title: "LAMMPS - a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales"
journal: "Computer Physics Communications"
keywords:
- Molecular dynamics
- Materials modeling
- Parallel algorithms
- LAMMPS
month: 2
volume: 271
issn: 0010-4655
pages: 108171
year: 2022
references:
- title: "Fast Parallel Algorithms for Short-Range Molecular Dynamics"
type: article
journal: Journal of Computational Physics
volume: 117
number: 1
pages: "1-19"
year: 1995
issn: 0021-9991
doi: 10.1006/jcph.1995.1039
url: https://www.sciencedirect.com/science/article/pii/S002199918571039X
authors:
- family-names: "Plimpton"
given-names: "Steve"

View File

@ -23,6 +23,10 @@ either a user mistake or a bug in the code. Bugs can be reported in
the LAMMPS project
[issue tracker on GitHub](https://github.com/lammps/lammps/issues).
To mitigate issues with using homoglyphs or bidirectional reordering in
unicode, which have been demonstrated as a vector to obfuscate and hide
malicious changes to the source code, all LAMMPS submissions are checked
for unicode characters and only all-ASCII source code is accepted.
# Version Updates

View File

@ -1,98 +1,98 @@
# COMB parameters for various elements (Si, Cu, Hf, Ti, Zr, U, O) and mixtures (their oxides and alloys)
# Edited by Tzu-Ray Shan from MSE, Univ. FL in Apr 2010
#
# Elements currently available: Si, Cu, Hf, Ti, Zr, U, O
# Oxides currently available: Si-O, Cu-O, Hf-O, Ti-O
#
# Si parameter set from (JG Yu, SB Sinnott, SR Phillpot, Phys. Rev. B 75 085311 2007)
# ,and (TR Shan, BD Devine, SR Phillpot, SB Sinnott, to be sub to Phys. Rev. B)
# O parameter set from (TR Shan, BD Devine, SB Sinnott, SR Phillpot, Phys. Rev. B 81 125328 2010)
# Cu parameter set from (BD Devine, TR Shan, SB Sinnott, SR Phillpot, to be sub to Phys. Rev. B)
# Hf parameter set from (TR Shan, BD Devine, SB Sinnott, SR Phillpot, Phys. Rev. B 81 125328 2010)
# Ti parameter set from (TR Shan, SR Phillpot, SB Sinnott, in preparation)
# U parameter set from (Y Li, TR Shan, SB Sinnott, SR Phillpot, in preparation)
# Zr parameter set from (T Iwasaki, J. Mater. Res. 20 5 1300 2005)
#
# Multiple entries can be added to this file, LAMMPS reads the ones it needs
# Only M-O are added in the potential table, using mixing rules to generate desired alloy (A-B) parameters
# 8 entries for a desired A-B type: AAA, BBB, AAB, ABA, ABB, BAA, BBA, BBA
# 27 entries for a system containing three elements A, B and C
# These entries are in LAMMPS "metal" units
#
Hf Hf Hf 1 0 1 0 1.011011 0.046511 0.959614 0.959614 55.9421 55.9421 3.90 0.10 2.069563 2.069563 707.53 707.53 0 0 0.008 0 0 0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 0.26152 -0.25918 0 3.139520d0 0 0.009410d0 0 0.679131 -3.92875 -3.92875 4.83958 4.83958 12 0.0
Ti Ti Ti 1 0 1 0 1.255016 0.089078 1.226342 1.226342 99.3916 99.3916 3.40 0.10 2.082408 2.082408 546.386 546.386 0 0 0.0084 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -4 4 2.508854 -2.511416 0 2.46820415900968 0 0.151351003255176 0 0.873685 0.392632 0.392632 1.78349 1.78349 12 0.0
O O O 1 6.6 1 -0.229 1 2 2.68 2.68 260.893 260.893 2.8 0.2 5.36 5.36 3326.69 3326.69 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -1.8349 5.5046 0.00148 -0.00112 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.922011 0.971086 0.971086 12 0.0
Cu Cu Cu 1 0 1 0 1 0.140835 1.681711 1.681711 146.987 146.987 2.95 0.05 2.794608 2.794608 952.693 952.693 0.077 0.0095 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -6 2 0.1677645 -0.161007 0 5.946437 0 0 0 0.454784 0.72571 0.72571 0.274649 0.274649 12 -2.0
Si Si Si 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.7322 471.18 471.18 2.90 0.10 2.4799 2.4799 1830.8 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 1.651725 -1.658949 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -0.499378 2.999911 2.999911 12 0.0
Zr Zr Zr 1 0 1 0 1 0 0.929 0.929 39.9454 39.9454 3.8 0.31 1.857 1.857 382.6 382.6 0 0 0 0 0 0 1 1 1 1 -4 4 1.64 -1.5 -4 4 1.64 -1.5 0 3.139520d0 0 0.009410d0 0 0.679131 -3.92875 -3.92875 4.83958 4.83958 12 0.0
U U U 1 0 1 0 4.346966 0.77617 0.832 0.832 162.6 162.6 3.9 0.15 1.835 1.835 795.6 795.6 0 0 0 0 0 0 1 1 1 1 -4 4 2 -2 -4 4 2 -2 0 3.139520d0 0 0.009410d0 0 0.679131 -3.92875 -3.92875 4.83958 4.83958 12 0.0
#
Si O O 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 2.68 471.18 260.893 2.80 0.25 2.4799 5.36 1830.8 3326.69 0 0 0 109.47 0.3122 0 1 1 1 1 -4 4 1.651725 -1.658949 -1.8349 5.5046 0.00148 -0.00112 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.922011 2.999911 0.971086 12 0
O Si Si 1 6.6 1 -0.229 1 2 2.68 1.7322 260.893 471.18 2.80 0.25 5.36 2.4799 3326.69 1830.8 0 0 0 143.73 2.6 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 1.651725 -1.658949 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -0.499378 0.971086 2.999911 12 0
Si O Si 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 2.68 471.18 260.893 2.80 0.25 2.4799 5.36 1830.8 3326.69 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -1.8349 5.5046 0.00148 -0.00112 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.922011 2.999911 0.971086 12 0
O Si O 1 6.6 1 -0.229 1 2 2.68 1.7322 260.893 471.18 3.20 0.25 5.36 2.4799 3326.69 1830.8 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 1.651725 -1.658949 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -0.499378 0.971086 2.999911 12 0
Si Si O 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.7322 471.18 471.18 2.80 0.25 2.4799 2.4799 1830.8 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 1.651725 -1.658949 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -0.499378 2.999911 2.999911 12 0
O O Si 1 6.6 1 -0.229 1 2 2.68 2.68 260.893 260.893 2.80 0.25 5.36 5.36 3326.69 3326.69 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -1.8349 5.5046 0.00148 -0.00112 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.922011 0.971086 0.971086 12 0
#
Si Cu Cu 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.681711 471.18 146.987 2.70 0.10 2.4799 2.794608 1830.8 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -6 2 0.1677645 -0.161007 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 0.72571 2.999911 0.274649 12 0
Cu Si Si 1 0 1 0 1 0.140835 1.681711 1.7322 146.987 471.18 2.70 0.10 2.794608 2.4799 952.693 1830.8 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 1.651725 -1.658949 0 5.946437 0 0 0 0.454784 0.72571 -0.499378 0.274649 2.999911 12 0
Si Cu Si 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.681711 471.18 146.987 2.70 0.10 2.4799 2.794608 1830.8 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -6 2 0.1677645 -0.161007 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 0.72571 2.999911 0.274649 12 0
Cu Si Cu 1 0 1 0 1 0.140835 1.681711 1.7322 146.987 471.18 2.70 0.10 2.794608 2.4799 952.693 1830.8 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 1.651725 -1.658949 0 5.946437 0 0 0 0.454784 0.72571 -0.499378 0.274649 2.999911 12 0
Si Si Cu 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.7322 471.18 471.18 2.70 0.10 2.4799 2.4799 1830.8 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 1.651725 -1.658949 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -0.499378 2.999911 2.999911 12 0
Cu Cu Si 1 0 1 0 1 0.140835 1.681711 1.681711 146.987 146.987 2.70 0.10 2.794608 2.794608 952.693 952.693 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -6 2 0.1677645 -0.161007 0 5.946437 0 0 0 0.454784 0.72571 0.72571 0.274649 0.274649 12 0
#
Si O Cu 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 2.68 471.18 260.893 2.80 0.10 2.4799 5.36 1830.8 3326.69 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -1.8349 5.5046 0.00148 -0.00112 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.922011 2.999911 0.971086 12 0
Cu O Si 1 0 1 0 1 0.140835 1.681711 2.68 146.987 260.893 2.40 0.10 2.794608 5.36 952.693 3326.69 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -6 2 0.1677645 -0.161007 -1.8349 5.5046 0.00148 -0.00112 0 5.946437 0 0 0 0.454784 0.72571 -3.922011 0.274649 0.971086 12 0
Si Cu O 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.681711 471.18 146.987 2.70 0.10 2.4799 2.794608 1830.8 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -6 2 0.1677645 -0.161007 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 0.72571 2.999911 0.274649 12 0
Cu Si O 1 0 1 0 1 0.140835 1.681711 1.7322 146.987 471.18 2.70 0.10 2.794608 2.4799 952.693 1830.8 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 1.651725 -1.658949 0 5.946437 0 0 0 0.454784 0.72571 -0.499378 0.274649 2.999911 12 0
O Si Cu 1 6.6 1 -0.229 1 2 2.68 1.7322 260.893 471.18 2.80 0.10 5.36 2.4799 3326.69 1830.8 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 1.651725 -1.658949 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -0.499378 0.971086 2.999911 12 0
O Cu Si 1 6.6 1 -0.229 1 2 2.68 1.681711 260.893 146.987 2.40 0.10 5.36 2.794608 3326.69 952.693 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -1.8349 5.5046 0.00148 -0.00112 -6 2 0.1677645 -0.161007 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.72571 0.971086 0.274649 12 0
#
Cu O O 1 0 1 0 1 0.140835 1.681711 2.68 146.987 260.893 2.40 0.110 2.794608 5.36 952.693 3326.69 0 0 0 360 3.0 0 0.15867 1.106214 0.533319 1.857837 -6 2 0.1677645 -0.161007 -1.8349 5.5046 0.00148 -0.00112 0 5.946437 0 0 0 0.454784 0.72571 -3.922011 0.274649 0.971086 12 -1.0
O Cu Cu 1 6.6 1 -0.229 1 2 2.68 1.681711 260.893 146.987 2.40 0.110 5.36 2.794608 3326.69 952.693 0 0 0 109.47 2.98 0 0.15867 1.106214 0.533319 1.857837 -1.8349 5.5046 0.00148 -0.00112 -6 2 0.1677645 -0.161007 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.72571 0.971086 0.274649 12 0
Cu O Cu 1 0 1 0 1 0.140835 1.681711 2.68 146.987 260.893 2.40 0.110 2.794608 5.36 952.693 3326.69 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -6 2 0.1677645 -0.161007 -1.8349 5.5046 0.00148 -0.00112 0 5.946437 0 0 0 0.454784 0.72571 -3.922011 0.274649 0.971086 12 0
O Cu O 1 6.6 1 -0.229 1 2 2.68 1.681711 260.893 146.987 2.40 0.110 5.36 2.794608 3326.69 952.693 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -1.8349 5.5046 0.00148 -0.00112 -6 2 0.1677645 -0.161007 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.72571 0.971086 0.274649 12 0
Cu Cu O 1 0 1 0 1 0.140835 1.681711 1.681711 146.987 146.987 2.90 0.05 2.794608 2.794608 952.693 952.693 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -6 2 0.1677645 -0.161007 0 5.946437 0 0 0 0.454784 0.72571 0.72571 0.274649 0.274649 12 0
O O Cu 1 6.6 1 -0.229 1 2 2.68 2.68 260.893 260.893 2.80 0.20 5.36 5.36 3326.69 3326.69 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -1.8349 5.5046 0.00148 -0.00112 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.922011 0.971086 0.971086 12 0
#
Si Hf Hf 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 0.959614 471.18 55.9421 3.26 0.15 2.4799 2.069563 1830.8 707.53 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 0.26152 -0.25918 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.92875 2.999911 4.83958 12 0
Hf Si Si 1 0 1 0 1.011011 0.046511 0.959614 1.7322 55.9421 471.18 3.26 0.15 2.069563 2.4799 707.53 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 1.651725 -1.658949 0 3.13952 0 0.00941 0 0.719131 -3.92875 -0.499378 4.83958 2.999911 12 0
Si Hf Si 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 0.959614 471.18 55.9421 3.26 0.15 2.4799 2.069563 1830.8 707.53 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 0.26152 -0.25918 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.92875 2.999911 4.83958 12 0
Hf Si Hf 1 0 1 0 1.011011 0.046511 0.959614 1.7322 55.9421 471.18 3.26 0.15 2.069563 2.4799 707.53 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 1.651725 -1.658949 0 3.13952 0 0.00941 0 0.719131 -3.92875 -0.499378 4.83958 2.999911 12 0
Si Si Hf 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.7322 471.18 471.18 3.26 0.15 2.4799 2.4799 1830.8 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 1.651725 -1.658949 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -0.499378 2.999911 2.999911 12 0
Hf Hf Si 1 0 1 0 1.011011 0.046511 0.959614 0.959614 55.9421 55.9421 3.26 0.15 2.069563 2.069563 707.53 707.53 0 0 0 0 0 0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 0.26152 -0.25918 0 3.13952 0 0.00941 0 0.719131 -3.92875 -3.92875 4.83958 4.83958 12 0
#
Si O Hf 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 2.68 471.18 260.893 3.196 0.21 2.4799 5.36 1830.8 3326.69 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -1.8349 5.5046 0.00148 -0.00112 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.922011 2.999911 0.971086 12 0
Hf O Si 1 0 1 0 1.011011 0.046511 0.959614 2.68 55.9421 260.893 3.196 0.21 2.069563 5.36 707.53 3326.69 0 0 0 0 0 0.14 1 1 1 1 -4 4 0.26152 -0.25918 -1.8349 5.5046 0.00148 -0.00112 0 3.13952 0 0.00941 0 0.719131 -3.92875 -3.922011 4.83958 0.971086 12 0.16
Si Hf O 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 0.959614 471.18 55.9421 3.26 0.15 2.4799 2.069563 1830.8 707.53 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 0.26152 -0.25918 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.92875 2.999911 4.83958 12 0
Hf Si O 1 0 1 0 1.011011 0.046511 0.959614 1.7322 55.9421 471.18 3.26 0.15 2.069563 2.4799 707.53 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 1.651725 -1.658949 0 3.13952 0 0.00941 0 0.719131 -3.92875 -0.499378 4.83958 2.999911 12 0
O Si Hf 1 6.6 1 -0.229 1 2 2.68 1.7322 260.893 471.18 3.196 0.21 5.36 2.4799 3326.69 1830.8 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 1.651725 -1.658949 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -0.499378 0.971086 2.999911 12 0
O Hf Si 1 6.6 1 -0.229 1 2 2.68 0.959614 260.893 55.9421 3.196 0.21 5.36 2.069563 3326.69 707.53 0 0 0 0 0 0.14 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 0.26152 -0.25918 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.92875 0.971086 4.83958 12 0.16
#
Hf O O 1 0 1 0 1.011011 0.046511 0.959614 2.68 55.9421 260.893 3.29 0.12 2.069563 5.36 707.53 3326.69 0 0 0 0 0 0.14 1 1 1 1 -4 4 0.26152 -0.25918 -1.8349 5.5046 0.00148 -0.00112 0 3.13952 0 0.00941 0 0.679131 -3.92875 -3.922011 4.83958 0.971086 12 0.30
O Hf Hf 1 6.6 1 -0.229 1 2 2.68 0.959614 260.893 55.9421 3.29 0.12 5.36 2.069563 3326.69 707.53 0 0 0 0 0 0.14 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 0.26152 -0.25918 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.92875 0.971086 4.83958 12 0.30
Hf O Hf 1 0 1 0 1.011011 0.046511 0.959614 2.68 55.9421 260.893 3.29 0.12 2.069563 5.36 707.53 3326.69 0 0 0 0 0 0.14 1 1 1 1 -4 4 0.26152 -0.25918 -1.8349 5.5046 0.00148 -0.00112 0 3.13952 0 0.00941 0 0.679131 -3.92875 -3.922011 4.83958 0.971086 12 0.30
O Hf O 1 6.6 1 -0.229 1 2 2.68 0.959614 260.893 55.9421 3.29 0.12 5.36 2.069563 3326.69 707.53 0 0 0 0 0 0.14 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 0.26152 -0.25918 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.92875 0.971086 4.83958 12 0.30
Hf Hf O 1 0 1 0 1.011011 0.046511 0.959614 0.959614 55.9421 55.9421 3.29 0.12 2.069563 2.069563 707.53 707.53 0 0 0 0 0 0.0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 0.26152 -0.25918 0 3.13952 0 0.00941 0 0.679131 -3.92875 -3.92875 4.83958 4.83958 12 0.30
O O Hf 1 6.6 1 -0.229 1 2 2.68 2.68 260.893 260.893 3.29 0.12 5.36 5.36 3326.69 3326.69 0 0 0 0 0 0.0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -1.8349 5.5046 0.00148 -0.00112 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.922011 0.971086 0.971086 12 0.30
#
Ti O O 1 0 1 0 1.255016 0.089078 1.226342 2.68 99.3916 260.893 3.25 0.10 2.082408 5.36 546.386 3326.69 0 0 0 90 0.403105 8.45 0.088406 0.969934 0.296577 1.326746 -4 4 2.508854 -2.511416 -1.8349 5.5046 0.00148 -0.00112 0 1.943430774 0 0.254695274 0 0.873685 0.392632 -3.922011 1.78349 0.971086 12 0.0
O Ti Ti 1 6.6 1 -0.229 1 2 2.68 1.226342 260.893 99.3916 3.25 0.10 5.36 2.082408 3326.69 546.386 0 0 0 130.54 0.202777 8.45 0.088406 0.969934 0.296577 1.326746 -1.8349 5.5046 0.00148 -0.00112 -4 4 2.508854 -2.511416 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.392632 0.971086 1.78349 12 0.0
Ti O Ti 1 0 1 0 1.255016 0.089078 1.226342 2.68 99.3916 260.893 3.25 0.10 2.082408 5.36 546.386 3326.69 0 0 0 0 0 8.45 0.088406 0.969934 0.296577 1.326746 -4 4 2.508854 -2.511416 -1.8349 5.5046 0.00148 -0.00112 0 1.943430774 0 0.254695274 0 0.873685 0.392632 -3.922011 1.78349 0.971086 12 0.0
O Ti O 1 6.6 1 -0.229 1 2 2.68 1.226342 260.893 99.3916 3.25 0.10 5.36 2.082408 3326.69 546.386 0 0 0 0 0 8.45 0.088406 0.969934 0.296577 1.326746 -1.8349 5.5046 0.00148 -0.00112 -4 4 2.508854 -2.511416 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.392632 0.971086 1.78349 12 0.0
Ti Ti O 1 0 1 0 1.255016 0.089078 1.226342 1.226342 99.3916 99.3916 3.25 0.10 2.082408 2.082408 546.386 546.386 0 0 0 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -4 4 2.508854 -2.511416 0 1.943430774 0 0.254695274 0 0.873685 0.392632 0.392632 1.78349 1.78349 12 0.0
O O Ti 1 6.6 1 -0.229 1 2 2.68 2.68 260.893 260.893 2.80 0.20 5.36 5.36 3326.69 3326.69 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -1.8349 5.5046 0.00148 -0.00112 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.922011 0.971086 0.971086 12 0.0
#
Ti Cu Cu 1 0 1 0 1.255016 0.089078 1.226342 1.681711 99.3916 146.987 3.40 0.15 2.082408 2.794608 546.386 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -6 2 0.1677645 -0.161007 0 1.943430774 0 0.254695274 0 0.873685 0.392632 0.72571 1.78349 0.274649 12 0
Cu Ti Ti 1 0 1 0 1 0.140835 1.681711 1.226342 146.987 99.3916 3.40 0.15 2.794608 2.082408 952.693 546.386 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 2.508854 -2.511416 0 5.946437 0 0 0 0.454784 0.72571 0.392632 0.274649 1.78349 12 0
Ti Cu Ti 1 0 1 0 1.255016 0.089078 1.226342 1.681711 99.3916 146.987 3.40 0.15 2.082408 2.794608 546.386 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -6 2 0.1677645 -0.161007 0 1.943430774 0 0.254695274 0 0.873685 0.392632 0.72571 1.78349 0.274649 12 0
Cu Ti Cu 1 0 1 0 1 0.140835 1.681711 1.226342 146.987 99.3916 3.40 0.15 2.794608 2.082408 952.693 546.386 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 2.508854 -2.511416 0 5.946437 0 0 0 0.454784 0.72571 0.392632 0.274649 1.78349 12 0
Ti Ti Cu 1 0 1 0 1.255016 0.089078 1.226342 1.226342 99.3916 99.3916 3.40 0.10 2.082408 2.082408 546.386 546.386 0 0 0 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -4 4 2.508854 -2.511416 0 1.943430774 0 0.254695274 0 0.873685 0.392632 0.392632 1.78349 1.78349 12 0
Cu Cu Ti 1 0 1 0 1 0.140835 1.681711 1.681711 146.987 146.987 2.90 0.05 2.794608 2.794608 952.693 952.693 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -6 2 0.1677645 -0.161007 0 5.946437 0 0 0 0.454784 0.72571 0.72571 0.274649 0.274649 12 0
#
Ti O Cu 1 0 1 0 1.255016 0.089078 1.226342 2.68 99.3916 260.893 3.25 0.10 2.082408 5.36 546.386 3326.69 0 0 0 0 0 8.45 0.088406 0.969934 0.296577 1.326746 -4 4 2.508854 -2.511416 -1.8349 5.5046 0.00148 -0.00112 0 1.943430774 0 0.254695274 0 0.873685 0.392632 -3.922011 1.78349 0.971086 12 0
Cu O Ti 1 0 1 0 1 0.140835 1.681711 2.68 146.987 260.893 2.40 0.10 2.794608 5.36 952.693 3326.69 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -6 2 0.1677645 -0.161007 -1.8349 5.5046 0.00148 -0.00112 0 5.946437 0 0 0 0.454784 0.72571 -3.922011 0.274649 0.971086 12 0
Ti Cu O 1 0 1 0 1.255016 0.089078 1.226342 1.681711 99.3916 146.987 3.40 0.15 2.082408 2.794608 546.386 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -6 2 0.1677645 -0.161007 0 1.943430774 0 0.254695274 0 0.873685 0.392632 0.72571 1.78349 0.274649 12 0
Cu Ti O 1 0 1 0 1 0.140835 1.681711 1.226342 146.987 99.3916 3.40 0.15 2.794608 2.082408 952.693 546.386 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 2.508854 -2.511416 0 5.946437 0 0 0 0.454784 0.72571 0.392632 0.274649 1.78349 12 0
O Ti Cu 1 6.6 1 -0.229 1 2 2.68 1.226342 260.893 99.3916 3.25 0.10 5.36 2.082408 3326.69 546.386 0 0 0 0 0 8.45 0.088406 0.969934 0.296577 1.326746 -1.8349 5.5046 0.00148 -0.00112 -4 4 2.508854 -2.511416 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.392632 0.971086 1.78349 12 0
O Cu Ti 1 6.6 1 -0.229 1 2 2.68 1.681711 260.893 146.987 2.40 0.10 5.36 2.794608 3326.69 952.693 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -1.8349 5.5046 0.00148 -0.00112 -6 2 0.1677645 -0.161007 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.72571 0.971086 0.274649 12 0
# COMB parameters for various elements (Si, Cu, Hf, Ti, Zr, U, O) and mixtures (their oxides and alloys)
# Edited by Tzu-Ray Shan from MSE, Univ. FL in Apr 2010
#
# Elements currently available: Si, Cu, Hf, Ti, Zr, U, O
# Oxides currently available: Si-O, Cu-O, Hf-O, Ti-O
#
# Si parameter set from (JG Yu, SB Sinnott, SR Phillpot, Phys. Rev. B 75 085311 2007)
# ,and (TR Shan, BD Devine, SR Phillpot, SB Sinnott, to be sub to Phys. Rev. B)
# O parameter set from (TR Shan, BD Devine, SB Sinnott, SR Phillpot, Phys. Rev. B 81 125328 2010)
# Cu parameter set from (BD Devine, TR Shan, SB Sinnott, SR Phillpot, to be sub to Phys. Rev. B)
# Hf parameter set from (TR Shan, BD Devine, SB Sinnott, SR Phillpot, Phys. Rev. B 81 125328 2010)
# Ti parameter set from (TR Shan, SR Phillpot, SB Sinnott, in preparation)
# U parameter set from (Y Li, TR Shan, SB Sinnott, SR Phillpot, in preparation)
# Zr parameter set from (T Iwasaki, J. Mater. Res. 20 5 1300 2005)
#
# Multiple entries can be added to this file, LAMMPS reads the ones it needs
# Only M-O are added in the potential table, using mixing rules to generate desired alloy (A-B) parameters
# 8 entries for a desired A-B type: AAA, BBB, AAB, ABA, ABB, BAA, BBA, BBA
# 27 entries for a system containing three elements A, B and C
# These entries are in LAMMPS "metal" units
#
Hf Hf Hf 1 0 1 0 1.011011 0.046511 0.959614 0.959614 55.9421 55.9421 3.90 0.10 2.069563 2.069563 707.53 707.53 0 0 0.008 0 0 0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 0.26152 -0.25918 0 3.139520d0 0 0.009410d0 0 0.679131 -3.92875 -3.92875 4.83958 4.83958 12 0.0
Ti Ti Ti 1 0 1 0 1.255016 0.089078 1.226342 1.226342 99.3916 99.3916 3.40 0.10 2.082408 2.082408 546.386 546.386 0 0 0.0084 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -4 4 2.508854 -2.511416 0 2.46820415900968 0 0.151351003255176 0 0.873685 0.392632 0.392632 1.78349 1.78349 12 0.0
O O O 1 6.6 1 -0.229 1 2 2.68 2.68 260.893 260.893 2.8 0.2 5.36 5.36 3326.69 3326.69 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -1.8349 5.5046 0.00148 -0.00112 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.922011 0.971086 0.971086 12 0.0
Cu Cu Cu 1 0 1 0 1 0.140835 1.681711 1.681711 146.987 146.987 2.95 0.05 2.794608 2.794608 952.693 952.693 0.077 0.0095 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -6 2 0.1677645 -0.161007 0 5.946437 0 0 0 0.454784 0.72571 0.72571 0.274649 0.274649 12 -2.0
Si Si Si 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.7322 471.18 471.18 2.90 0.10 2.4799 2.4799 1830.8 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 1.651725 -1.658949 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -0.499378 2.999911 2.999911 12 0.0
Zr Zr Zr 1 0 1 0 1 0 0.929 0.929 39.9454 39.9454 3.8 0.31 1.857 1.857 382.6 382.6 0 0 0 0 0 0 1 1 1 1 -4 4 1.64 -1.5 -4 4 1.64 -1.5 0 3.139520d0 0 0.009410d0 0 0.679131 -3.92875 -3.92875 4.83958 4.83958 12 0.0
U U U 1 0 1 0 4.346966 0.77617 0.832 0.832 162.6 162.6 3.9 0.15 1.835 1.835 795.6 795.6 0 0 0 0 0 0 1 1 1 1 -4 4 2 -2 -4 4 2 -2 0 3.139520d0 0 0.009410d0 0 0.679131 -3.92875 -3.92875 4.83958 4.83958 12 0.0
#
Si O O 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 2.68 471.18 260.893 2.80 0.25 2.4799 5.36 1830.8 3326.69 0 0 0 109.47 0.3122 0 1 1 1 1 -4 4 1.651725 -1.658949 -1.8349 5.5046 0.00148 -0.00112 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.922011 2.999911 0.971086 12 0
O Si Si 1 6.6 1 -0.229 1 2 2.68 1.7322 260.893 471.18 2.80 0.25 5.36 2.4799 3326.69 1830.8 0 0 0 143.73 2.6 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 1.651725 -1.658949 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -0.499378 0.971086 2.999911 12 0
Si O Si 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 2.68 471.18 260.893 2.80 0.25 2.4799 5.36 1830.8 3326.69 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -1.8349 5.5046 0.00148 -0.00112 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.922011 2.999911 0.971086 12 0
O Si O 1 6.6 1 -0.229 1 2 2.68 1.7322 260.893 471.18 3.20 0.25 5.36 2.4799 3326.69 1830.8 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 1.651725 -1.658949 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -0.499378 0.971086 2.999911 12 0
Si Si O 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.7322 471.18 471.18 2.80 0.25 2.4799 2.4799 1830.8 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 1.651725 -1.658949 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -0.499378 2.999911 2.999911 12 0
O O Si 1 6.6 1 -0.229 1 2 2.68 2.68 260.893 260.893 2.80 0.25 5.36 5.36 3326.69 3326.69 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -1.8349 5.5046 0.00148 -0.00112 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.922011 0.971086 0.971086 12 0
#
Si Cu Cu 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.681711 471.18 146.987 2.70 0.10 2.4799 2.794608 1830.8 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -6 2 0.1677645 -0.161007 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 0.72571 2.999911 0.274649 12 0
Cu Si Si 1 0 1 0 1 0.140835 1.681711 1.7322 146.987 471.18 2.70 0.10 2.794608 2.4799 952.693 1830.8 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 1.651725 -1.658949 0 5.946437 0 0 0 0.454784 0.72571 -0.499378 0.274649 2.999911 12 0
Si Cu Si 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.681711 471.18 146.987 2.70 0.10 2.4799 2.794608 1830.8 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -6 2 0.1677645 -0.161007 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 0.72571 2.999911 0.274649 12 0
Cu Si Cu 1 0 1 0 1 0.140835 1.681711 1.7322 146.987 471.18 2.70 0.10 2.794608 2.4799 952.693 1830.8 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 1.651725 -1.658949 0 5.946437 0 0 0 0.454784 0.72571 -0.499378 0.274649 2.999911 12 0
Si Si Cu 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.7322 471.18 471.18 2.70 0.10 2.4799 2.4799 1830.8 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 1.651725 -1.658949 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -0.499378 2.999911 2.999911 12 0
Cu Cu Si 1 0 1 0 1 0.140835 1.681711 1.681711 146.987 146.987 2.70 0.10 2.794608 2.794608 952.693 952.693 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -6 2 0.1677645 -0.161007 0 5.946437 0 0 0 0.454784 0.72571 0.72571 0.274649 0.274649 12 0
#
Si O Cu 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 2.68 471.18 260.893 2.80 0.10 2.4799 5.36 1830.8 3326.69 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -1.8349 5.5046 0.00148 -0.00112 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.922011 2.999911 0.971086 12 0
Cu O Si 1 0 1 0 1 0.140835 1.681711 2.68 146.987 260.893 2.40 0.10 2.794608 5.36 952.693 3326.69 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -6 2 0.1677645 -0.161007 -1.8349 5.5046 0.00148 -0.00112 0 5.946437 0 0 0 0.454784 0.72571 -3.922011 0.274649 0.971086 12 0
Si Cu O 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.681711 471.18 146.987 2.70 0.10 2.4799 2.794608 1830.8 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -6 2 0.1677645 -0.161007 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 0.72571 2.999911 0.274649 12 0
Cu Si O 1 0 1 0 1 0.140835 1.681711 1.7322 146.987 471.18 2.70 0.10 2.794608 2.4799 952.693 1830.8 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 1.651725 -1.658949 0 5.946437 0 0 0 0.454784 0.72571 -0.499378 0.274649 2.999911 12 0
O Si Cu 1 6.6 1 -0.229 1 2 2.68 1.7322 260.893 471.18 2.80 0.10 5.36 2.4799 3326.69 1830.8 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 1.651725 -1.658949 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -0.499378 0.971086 2.999911 12 0
O Cu Si 1 6.6 1 -0.229 1 2 2.68 1.681711 260.893 146.987 2.40 0.10 5.36 2.794608 3326.69 952.693 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -1.8349 5.5046 0.00148 -0.00112 -6 2 0.1677645 -0.161007 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.72571 0.971086 0.274649 12 0
#
Cu O O 1 0 1 0 1 0.140835 1.681711 2.68 146.987 260.893 2.40 0.110 2.794608 5.36 952.693 3326.69 0 0 0 360 3.0 0 0.15867 1.106214 0.533319 1.857837 -6 2 0.1677645 -0.161007 -1.8349 5.5046 0.00148 -0.00112 0 5.946437 0 0 0 0.454784 0.72571 -3.922011 0.274649 0.971086 12 -1.0
O Cu Cu 1 6.6 1 -0.229 1 2 2.68 1.681711 260.893 146.987 2.40 0.110 5.36 2.794608 3326.69 952.693 0 0 0 109.47 2.98 0 0.15867 1.106214 0.533319 1.857837 -1.8349 5.5046 0.00148 -0.00112 -6 2 0.1677645 -0.161007 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.72571 0.971086 0.274649 12 0
Cu O Cu 1 0 1 0 1 0.140835 1.681711 2.68 146.987 260.893 2.40 0.110 2.794608 5.36 952.693 3326.69 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -6 2 0.1677645 -0.161007 -1.8349 5.5046 0.00148 -0.00112 0 5.946437 0 0 0 0.454784 0.72571 -3.922011 0.274649 0.971086 12 0
O Cu O 1 6.6 1 -0.229 1 2 2.68 1.681711 260.893 146.987 2.40 0.110 5.36 2.794608 3326.69 952.693 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -1.8349 5.5046 0.00148 -0.00112 -6 2 0.1677645 -0.161007 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.72571 0.971086 0.274649 12 0
Cu Cu O 1 0 1 0 1 0.140835 1.681711 1.681711 146.987 146.987 2.90 0.05 2.794608 2.794608 952.693 952.693 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -6 2 0.1677645 -0.161007 0 5.946437 0 0 0 0.454784 0.72571 0.72571 0.274649 0.274649 12 0
O O Cu 1 6.6 1 -0.229 1 2 2.68 2.68 260.893 260.893 2.80 0.20 5.36 5.36 3326.69 3326.69 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -1.8349 5.5046 0.00148 -0.00112 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.922011 0.971086 0.971086 12 0
#
Si Hf Hf 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 0.959614 471.18 55.9421 3.26 0.15 2.4799 2.069563 1830.8 707.53 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 0.26152 -0.25918 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.92875 2.999911 4.83958 12 0
Hf Si Si 1 0 1 0 1.011011 0.046511 0.959614 1.7322 55.9421 471.18 3.26 0.15 2.069563 2.4799 707.53 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 1.651725 -1.658949 0 3.13952 0 0.00941 0 0.719131 -3.92875 -0.499378 4.83958 2.999911 12 0
Si Hf Si 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 0.959614 471.18 55.9421 3.26 0.15 2.4799 2.069563 1830.8 707.53 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 0.26152 -0.25918 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.92875 2.999911 4.83958 12 0
Hf Si Hf 1 0 1 0 1.011011 0.046511 0.959614 1.7322 55.9421 471.18 3.26 0.15 2.069563 2.4799 707.53 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 1.651725 -1.658949 0 3.13952 0 0.00941 0 0.719131 -3.92875 -0.499378 4.83958 2.999911 12 0
Si Si Hf 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 1.7322 471.18 471.18 3.26 0.15 2.4799 2.4799 1830.8 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 1.651725 -1.658949 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -0.499378 2.999911 2.999911 12 0
Hf Hf Si 1 0 1 0 1.011011 0.046511 0.959614 0.959614 55.9421 55.9421 3.26 0.15 2.069563 2.069563 707.53 707.53 0 0 0 0 0 0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 0.26152 -0.25918 0 3.13952 0 0.00941 0 0.719131 -3.92875 -3.92875 4.83958 4.83958 12 0
#
Si O Hf 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 2.68 471.18 260.893 3.196 0.21 2.4799 5.36 1830.8 3326.69 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -1.8349 5.5046 0.00148 -0.00112 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.922011 2.999911 0.971086 12 0
Hf O Si 1 0 1 0 1.011011 0.046511 0.959614 2.68 55.9421 260.893 3.196 0.21 2.069563 5.36 707.53 3326.69 0 0 0 0 0 0.14 1 1 1 1 -4 4 0.26152 -0.25918 -1.8349 5.5046 0.00148 -0.00112 0 3.13952 0 0.00941 0 0.719131 -3.92875 -3.922011 4.83958 0.971086 12 0.16
Si Hf O 3 100390 16.218 -0.59826 0.78734 1.0999E-06 1.7322 0.959614 471.18 55.9421 3.26 0.15 2.4799 2.069563 1830.8 707.53 0 0 0 0 0 0 1 1 1 1 -4 4 1.651725 -1.658949 -4 4 0.26152 -0.25918 0 3.625144859 0 0.087067714 0 0.772871 -0.499378 -3.92875 2.999911 4.83958 12 0
Hf Si O 1 0 1 0 1.011011 0.046511 0.959614 1.7322 55.9421 471.18 3.26 0.15 2.069563 2.4799 707.53 1830.8 0 0 0 0 0 0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 1.651725 -1.658949 0 3.13952 0 0.00941 0 0.719131 -3.92875 -0.499378 4.83958 2.999911 12 0
O Si Hf 1 6.6 1 -0.229 1 2 2.68 1.7322 260.893 471.18 3.196 0.21 5.36 2.4799 3326.69 1830.8 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 1.651725 -1.658949 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -0.499378 0.971086 2.999911 12 0
O Hf Si 1 6.6 1 -0.229 1 2 2.68 0.959614 260.893 55.9421 3.196 0.21 5.36 2.069563 3326.69 707.53 0 0 0 0 0 0.14 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 0.26152 -0.25918 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.92875 0.971086 4.83958 12 0.16
#
Hf O O 1 0 1 0 1.011011 0.046511 0.959614 2.68 55.9421 260.893 3.29 0.12 2.069563 5.36 707.53 3326.69 0 0 0 0 0 0.14 1 1 1 1 -4 4 0.26152 -0.25918 -1.8349 5.5046 0.00148 -0.00112 0 3.13952 0 0.00941 0 0.679131 -3.92875 -3.922011 4.83958 0.971086 12 0.30
O Hf Hf 1 6.6 1 -0.229 1 2 2.68 0.959614 260.893 55.9421 3.29 0.12 5.36 2.069563 3326.69 707.53 0 0 0 0 0 0.14 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 0.26152 -0.25918 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.92875 0.971086 4.83958 12 0.30
Hf O Hf 1 0 1 0 1.011011 0.046511 0.959614 2.68 55.9421 260.893 3.29 0.12 2.069563 5.36 707.53 3326.69 0 0 0 0 0 0.14 1 1 1 1 -4 4 0.26152 -0.25918 -1.8349 5.5046 0.00148 -0.00112 0 3.13952 0 0.00941 0 0.679131 -3.92875 -3.922011 4.83958 0.971086 12 0.30
O Hf O 1 6.6 1 -0.229 1 2 2.68 0.959614 260.893 55.9421 3.29 0.12 5.36 2.069563 3326.69 707.53 0 0 0 0 0 0.14 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -4 4 0.26152 -0.25918 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.92875 0.971086 4.83958 12 0.30
Hf Hf O 1 0 1 0 1.011011 0.046511 0.959614 0.959614 55.9421 55.9421 3.29 0.12 2.069563 2.069563 707.53 707.53 0 0 0 0 0 0.0 1 1 1 1 -4 4 0.26152 -0.25918 -4 4 0.26152 -0.25918 0 3.13952 0 0.00941 0 0.679131 -3.92875 -3.92875 4.83958 4.83958 12 0.30
O O Hf 1 6.6 1 -0.229 1 2 2.68 2.68 260.893 260.893 3.29 0.12 5.36 5.36 3326.69 3326.69 0 0 0 0 0 0.0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -1.8349 5.5046 0.00148 -0.00112 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.922011 0.971086 0.971086 12 0.30
#
Ti O O 1 0 1 0 1.255016 0.089078 1.226342 2.68 99.3916 260.893 3.25 0.10 2.082408 5.36 546.386 3326.69 0 0 0 90 0.403105 8.45 0.088406 0.969934 0.296577 1.326746 -4 4 2.508854 -2.511416 -1.8349 5.5046 0.00148 -0.00112 0 1.943430774 0 0.254695274 0 0.873685 0.392632 -3.922011 1.78349 0.971086 12 0.0
O Ti Ti 1 6.6 1 -0.229 1 2 2.68 1.226342 260.893 99.3916 3.25 0.10 5.36 2.082408 3326.69 546.386 0 0 0 130.54 0.202777 8.45 0.088406 0.969934 0.296577 1.326746 -1.8349 5.5046 0.00148 -0.00112 -4 4 2.508854 -2.511416 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.392632 0.971086 1.78349 12 0.0
Ti O Ti 1 0 1 0 1.255016 0.089078 1.226342 2.68 99.3916 260.893 3.25 0.10 2.082408 5.36 546.386 3326.69 0 0 0 0 0 8.45 0.088406 0.969934 0.296577 1.326746 -4 4 2.508854 -2.511416 -1.8349 5.5046 0.00148 -0.00112 0 1.943430774 0 0.254695274 0 0.873685 0.392632 -3.922011 1.78349 0.971086 12 0.0
O Ti O 1 6.6 1 -0.229 1 2 2.68 1.226342 260.893 99.3916 3.25 0.10 5.36 2.082408 3326.69 546.386 0 0 0 0 0 8.45 0.088406 0.969934 0.296577 1.326746 -1.8349 5.5046 0.00148 -0.00112 -4 4 2.508854 -2.511416 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.392632 0.971086 1.78349 12 0.0
Ti Ti O 1 0 1 0 1.255016 0.089078 1.226342 1.226342 99.3916 99.3916 3.25 0.10 2.082408 2.082408 546.386 546.386 0 0 0 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -4 4 2.508854 -2.511416 0 1.943430774 0 0.254695274 0 0.873685 0.392632 0.392632 1.78349 1.78349 12 0.0
O O Ti 1 6.6 1 -0.229 1 2 2.68 2.68 260.893 260.893 2.80 0.20 5.36 5.36 3326.69 3326.69 0 0 0 0 0 0 1 1 1 1 -1.8349 5.5046 0.00148 -0.00112 -1.8349 5.5046 0.00148 -0.00112 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 -3.922011 0.971086 0.971086 12 0.0
#
Ti Cu Cu 1 0 1 0 1.255016 0.089078 1.226342 1.681711 99.3916 146.987 3.40 0.15 2.082408 2.794608 546.386 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -6 2 0.1677645 -0.161007 0 1.943430774 0 0.254695274 0 0.873685 0.392632 0.72571 1.78349 0.274649 12 0
Cu Ti Ti 1 0 1 0 1 0.140835 1.681711 1.226342 146.987 99.3916 3.40 0.15 2.794608 2.082408 952.693 546.386 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 2.508854 -2.511416 0 5.946437 0 0 0 0.454784 0.72571 0.392632 0.274649 1.78349 12 0
Ti Cu Ti 1 0 1 0 1.255016 0.089078 1.226342 1.681711 99.3916 146.987 3.40 0.15 2.082408 2.794608 546.386 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -6 2 0.1677645 -0.161007 0 1.943430774 0 0.254695274 0 0.873685 0.392632 0.72571 1.78349 0.274649 12 0
Cu Ti Cu 1 0 1 0 1 0.140835 1.681711 1.226342 146.987 99.3916 3.40 0.15 2.794608 2.082408 952.693 546.386 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 2.508854 -2.511416 0 5.946437 0 0 0 0.454784 0.72571 0.392632 0.274649 1.78349 12 0
Ti Ti Cu 1 0 1 0 1.255016 0.089078 1.226342 1.226342 99.3916 99.3916 3.40 0.10 2.082408 2.082408 546.386 546.386 0 0 0 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -4 4 2.508854 -2.511416 0 1.943430774 0 0.254695274 0 0.873685 0.392632 0.392632 1.78349 1.78349 12 0
Cu Cu Ti 1 0 1 0 1 0.140835 1.681711 1.681711 146.987 146.987 2.90 0.05 2.794608 2.794608 952.693 952.693 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -6 2 0.1677645 -0.161007 0 5.946437 0 0 0 0.454784 0.72571 0.72571 0.274649 0.274649 12 0
#
Ti O Cu 1 0 1 0 1.255016 0.089078 1.226342 2.68 99.3916 260.893 3.25 0.10 2.082408 5.36 546.386 3326.69 0 0 0 0 0 8.45 0.088406 0.969934 0.296577 1.326746 -4 4 2.508854 -2.511416 -1.8349 5.5046 0.00148 -0.00112 0 1.943430774 0 0.254695274 0 0.873685 0.392632 -3.922011 1.78349 0.971086 12 0
Cu O Ti 1 0 1 0 1 0.140835 1.681711 2.68 146.987 260.893 2.40 0.10 2.794608 5.36 952.693 3326.69 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -6 2 0.1677645 -0.161007 -1.8349 5.5046 0.00148 -0.00112 0 5.946437 0 0 0 0.454784 0.72571 -3.922011 0.274649 0.971086 12 0
Ti Cu O 1 0 1 0 1.255016 0.089078 1.226342 1.681711 99.3916 146.987 3.40 0.15 2.082408 2.794608 546.386 952.693 0 0 0 0 0 0 1 1 1 1 -4 4 2.508854 -2.511416 -6 2 0.1677645 -0.161007 0 1.943430774 0 0.254695274 0 0.873685 0.392632 0.72571 1.78349 0.274649 12 0
Cu Ti O 1 0 1 0 1 0.140835 1.681711 1.226342 146.987 99.3916 3.40 0.15 2.794608 2.082408 952.693 546.386 0 0 0 0 0 0 1 1 1 1 -6 2 0.1677645 -0.161007 -4 4 2.508854 -2.511416 0 5.946437 0 0 0 0.454784 0.72571 0.392632 0.274649 1.78349 12 0
O Ti Cu 1 6.6 1 -0.229 1 2 2.68 1.226342 260.893 99.3916 3.25 0.10 5.36 2.082408 3326.69 546.386 0 0 0 0 0 8.45 0.088406 0.969934 0.296577 1.326746 -1.8349 5.5046 0.00148 -0.00112 -4 4 2.508854 -2.511416 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.392632 0.971086 1.78349 12 0
O Cu Ti 1 6.6 1 -0.229 1 2 2.68 1.681711 260.893 146.987 2.40 0.10 5.36 2.794608 3326.69 952.693 0 0 0 0 0 0 0.15867 1.106214 0.533319 1.857837 -1.8349 5.5046 0.00148 -0.00112 -6 2 0.1677645 -0.161007 5.63441383 7.689598017 4.51426991 1.330079082 0 2.243072 -3.922011 0.72571 0.971086 0.274649 12 0

24
bench/POTENTIALS/in.meam Normal file
View File

@ -0,0 +1,24 @@
# 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,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/c
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

@ -0,0 +1,84 @@
LAMMPS (9 Oct 2020)
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.5200000 3.5200000 3.5200000
region box block 0 20 0 20 0 20
create_box 1 box
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (70.400000 70.400000 70.400000)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 32000 atoms
create_atoms CPU = 0.002 seconds
pair_style meam
pair_coeff * * library.meam Ni4 Ni.meam Ni4
Reading potential file library.meam with DATE: 2012-06-29
Reading potential file Ni.meam with DATE: 2007-06-11
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.92 | 55.92 | 55.92 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.431
100 895.50973 -139454.3 0 -135750.3 31804.185
Loop time of 21.655 on 1 procs for 100 steps with 32000 atoms
Performance: 1.995 ns/day, 12.031 hours/ns, 4.618 timesteps/s
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 21.181 | 21.181 | 21.181 | 0.0 | 97.81
Neigh | 0.42787 | 0.42787 | 0.42787 | 0.0 | 1.98
Comm | 0.013557 | 0.013557 | 0.013557 | 0.0 | 0.06
Output | 0.00020766 | 0.00020766 | 0.00020766 | 0.0 | 0.00
Modify | 0.023456 | 0.023456 | 0.023456 | 0.0 | 0.11
Other | | 0.008504 | | | 0.04
Nlocal: 32000.0 ave 32000 max 32000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 13576.0 ave 13576 max 13576 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 780360.0 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.772500
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:21

View File

@ -0,0 +1,84 @@
LAMMPS (9 Oct 2020)
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.5200000 3.5200000 3.5200000
region box block 0 20 0 20 0 20
create_box 1 box
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (70.400000 70.400000 70.400000)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 32000 atoms
create_atoms CPU = 0.001 seconds
pair_style meam
pair_coeff * * library.meam Ni4 Ni.meam Ni4
Reading potential file library.meam with DATE: 2012-06-29
Reading potential file Ni.meam with DATE: 2007-06-11
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.42 | 17.42 | 17.42 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.431
100 895.50973 -139454.3 0 -135750.3 31804.185
Loop time of 6.34746 on 4 procs for 100 steps with 32000 atoms
Performance: 6.806 ns/day, 3.526 hours/ns, 15.754 timesteps/s
98.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 | 6.0585 | 6.1109 | 6.1535 | 1.4 | 96.27
Neigh | 0.11286 | 0.11651 | 0.12455 | 1.4 | 1.84
Comm | 0.058046 | 0.099641 | 0.15569 | 11.7 | 1.57
Output | 9.0122e-05 | 0.00016046 | 0.0003624 | 0.0 | 0.00
Modify | 0.010822 | 0.011674 | 0.014224 | 1.4 | 0.18
Other | | 0.008601 | | | 0.14
Nlocal: 8000.00 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.0 ave 196403 max 193697 min
Histogram: 1 0 0 1 0 0 0 1 0 1
FullNghs: 390180.0 ave 392616 max 387490 min
Histogram: 1 0 0 1 0 0 0 1 0 1
Total # of neighbors = 1560720
Ave neighs/atom = 48.772500
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:06

View File

@ -1,84 +0,0 @@
LAMMPS (9 Oct 2020)
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.5200000 3.5200000 3.5200000
region box block 0 20 0 20 0 20
create_box 1 box
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (70.400000 70.400000 70.400000)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 32000 atoms
create_atoms CPU = 0.002 seconds
pair_style meam/c
pair_coeff * * library.meam Ni4 Ni.meam Ni4
Reading potential file library.meam with DATE: 2012-06-29
Reading potential file Ni.meam with DATE: 2007-06-11
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/c, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair meam/c, 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.92 | 55.92 | 55.92 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.431
100 895.50973 -139454.3 0 -135750.3 31804.185
Loop time of 21.655 on 1 procs for 100 steps with 32000 atoms
Performance: 1.995 ns/day, 12.031 hours/ns, 4.618 timesteps/s
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 21.181 | 21.181 | 21.181 | 0.0 | 97.81
Neigh | 0.42787 | 0.42787 | 0.42787 | 0.0 | 1.98
Comm | 0.013557 | 0.013557 | 0.013557 | 0.0 | 0.06
Output | 0.00020766 | 0.00020766 | 0.00020766 | 0.0 | 0.00
Modify | 0.023456 | 0.023456 | 0.023456 | 0.0 | 0.11
Other | | 0.008504 | | | 0.04
Nlocal: 32000.0 ave 32000 max 32000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 13576.0 ave 13576 max 13576 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 780360.0 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.772500
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:21

View File

@ -1,84 +0,0 @@
LAMMPS (9 Oct 2020)
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.5200000 3.5200000 3.5200000
region box block 0 20 0 20 0 20
create_box 1 box
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (70.400000 70.400000 70.400000)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 32000 atoms
create_atoms CPU = 0.001 seconds
pair_style meam/c
pair_coeff * * library.meam Ni4 Ni.meam Ni4
Reading potential file library.meam with DATE: 2012-06-29
Reading potential file Ni.meam with DATE: 2007-06-11
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/c, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair meam/c, 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.42 | 17.42 | 17.42 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.431
100 895.50973 -139454.3 0 -135750.3 31804.185
Loop time of 6.34746 on 4 procs for 100 steps with 32000 atoms
Performance: 6.806 ns/day, 3.526 hours/ns, 15.754 timesteps/s
98.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 | 6.0585 | 6.1109 | 6.1535 | 1.4 | 96.27
Neigh | 0.11286 | 0.11651 | 0.12455 | 1.4 | 1.84
Comm | 0.058046 | 0.099641 | 0.15569 | 11.7 | 1.57
Output | 9.0122e-05 | 0.00016046 | 0.0003624 | 0.0 | 0.00
Modify | 0.010822 | 0.011674 | 0.014224 | 1.4 | 0.18
Other | | 0.008601 | | | 0.14
Nlocal: 8000.00 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.0 ave 196403 max 193697 min
Histogram: 1 0 0 1 0 0 0 1 0 1
FullNghs: 390180.0 ave 392616 max 387490 min
Histogram: 1 0 0 1 0 0 0 1 0 1
Total # of neighbors = 1560720
Ave neighs/atom = 48.772500
Neighbor list builds = 8
Dangerous builds = 0
Total wall time: 0:00:06

View File

@ -24,7 +24,7 @@ velocity all create 300.0 9999
pair_style reax/c NULL
pair_coeff * * ffield.reax C H O N
WARNING: Changed valency_val to valency_boc for X (src/USER-REAXC/reaxc_ffield.cpp:315)
WARNING: Changed valency_val to valency_boc for X (src/REAXFF/reaxc_ffield.cpp:315)
timestep 0.1
fix 1 all nve

View File

@ -24,7 +24,7 @@ velocity all create 300.0 9999
pair_style reax/c NULL
pair_coeff * * ffield.reax C H O N
WARNING: Changed valency_val to valency_boc for X (src/USER-REAXC/reaxc_ffield.cpp:315)
WARNING: Changed valency_val to valency_boc for X (src/REAXFF/reaxc_ffield.cpp:315)
timestep 0.1
fix 1 all nve

View File

@ -4,10 +4,8 @@ This directory contains 5 benchmark problems which are discussed in
the Benchmark section of the LAMMPS documentation, and on the
Benchmark page of the LAMMPS WWW site (https://www.lammps.org/bench.html).
This directory also has several sub-directories:
This directory also has one sub-directories:
FERMI benchmark scripts for desktop machine with Fermi GPUs (Tesla)
KEPLER benchmark scripts for GPU cluster with Kepler GPUs
POTENTIALS benchmarks scripts for various potentials in LAMMPS
The results for all of these benchmarks are displayed and discussed on

10
cmake/.coveragerc.in Normal file
View File

@ -0,0 +1,10 @@
[run]
source = @LAMMPS_PYTHON_DIR@
parallel=True
branch=True
omit=*/install.py
*/setup.py
[paths]
sources = python
@LAMMPS_PYTHON_DIR@

615
cmake/CMakeLists.jpeg Normal file
View File

@ -0,0 +1,615 @@
cmake_minimum_required(VERSION 3.10)
# When using CMake 3.4 and later, don't export symbols from executables unless
# the CMAKE_ENABLE_EXPORTS variable is set.
if(POLICY CMP0065)
cmake_policy(SET CMP0065 NEW)
endif()
if (POLICY CMP0077)
cmake_policy(SET CMP0077 NEW)
endif()
if(CMAKE_EXECUTABLE_SUFFIX)
set(CMAKE_EXECUTABLE_SUFFIX_TMP ${CMAKE_EXECUTABLE_SUFFIX})
endif()
project(libjpeg-turbo C)
set(VERSION 2.1.3)
set(COPYRIGHT_YEAR "1991-2022")
string(REPLACE "." ";" VERSION_TRIPLET ${VERSION})
list(GET VERSION_TRIPLET 0 VERSION_MAJOR)
list(GET VERSION_TRIPLET 1 VERSION_MINOR)
list(GET VERSION_TRIPLET 2 VERSION_REVISION)
function(pad_number NUMBER OUTPUT_LEN)
string(LENGTH "${${NUMBER}}" INPUT_LEN)
if(INPUT_LEN LESS OUTPUT_LEN)
math(EXPR ZEROES "${OUTPUT_LEN} - ${INPUT_LEN} - 1")
set(NUM ${${NUMBER}})
foreach(C RANGE ${ZEROES})
set(NUM "0${NUM}")
endforeach()
set(${NUMBER} ${NUM} PARENT_SCOPE)
endif()
endfunction()
pad_number(VERSION_MINOR 3)
pad_number(VERSION_REVISION 3)
set(LIBJPEG_TURBO_VERSION_NUMBER ${VERSION_MAJOR}${VERSION_MINOR}${VERSION_REVISION})
# CMake 3.14 and later sets CMAKE_MACOSX_BUNDLE to TRUE by default when
# CMAKE_SYSTEM_NAME is iOS, tvOS, or watchOS, which breaks the libjpeg-turbo
# build. (Specifically, when CMAKE_MACOSX_BUNDLE is TRUE, executables for
# Apple platforms are built as application bundles, which causes CMake to
# complain that our install() directives for executables do not specify a
# BUNDLE DESTINATION. Even if CMake did not complain, building executables as
# application bundles would break our iOS packages.)
set(CMAKE_MACOSX_BUNDLE FALSE)
string(TIMESTAMP DEFAULT_BUILD "%Y%m%d")
set(BUILD ${DEFAULT_BUILD} CACHE STRING "Build string (default: ${DEFAULT_BUILD})")
# NOTE: On Windows, this does nothing except when using MinGW or Cygwin.
# CMAKE_BUILD_TYPE has no meaning in Visual Studio, and it always defaults to
# Debug when using NMake.
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
message(STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
message(STATUS "VERSION = ${VERSION}, BUILD = ${BUILD}")
include(cmakescripts/PackageInfo.cmake)
# Detect CPU type and whether we're building 64-bit or 32-bit code
math(EXPR BITS "${CMAKE_SIZEOF_VOID_P} * 8")
string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} CMAKE_SYSTEM_PROCESSOR_LC)
set(COUNT 1)
foreach(ARCH ${CMAKE_OSX_ARCHITECTURES})
if(COUNT GREATER 1)
message(FATAL_ERROR "The libjpeg-turbo build system does not support multiple values in CMAKE_OSX_ARCHITECTURES.")
endif()
math(EXPR COUNT "${COUNT}+1")
endforeach()
if(CMAKE_SYSTEM_PROCESSOR_LC MATCHES "x86_64" OR
CMAKE_SYSTEM_PROCESSOR_LC MATCHES "amd64" OR
CMAKE_SYSTEM_PROCESSOR_LC MATCHES "i[0-9]86" OR
CMAKE_SYSTEM_PROCESSOR_LC MATCHES "x86" OR
CMAKE_SYSTEM_PROCESSOR_LC MATCHES "ia32")
if(BITS EQUAL 64 OR CMAKE_C_COMPILER_ABI MATCHES "ELF X32")
set(CPU_TYPE x86_64)
else()
set(CPU_TYPE i386)
endif()
if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL ${CPU_TYPE})
set(CMAKE_SYSTEM_PROCESSOR ${CPU_TYPE})
endif()
elseif(CMAKE_SYSTEM_PROCESSOR_LC STREQUAL "aarch64" OR
CMAKE_SYSTEM_PROCESSOR_LC MATCHES "^arm")
if(BITS EQUAL 64)
set(CPU_TYPE arm64)
else()
set(CPU_TYPE arm)
endif()
elseif(CMAKE_SYSTEM_PROCESSOR_LC MATCHES "^ppc" OR
CMAKE_SYSTEM_PROCESSOR_LC MATCHES "^powerpc")
set(CPU_TYPE powerpc)
else()
set(CPU_TYPE ${CMAKE_SYSTEM_PROCESSOR_LC})
endif()
if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR
CMAKE_OSX_ARCHITECTURES MATCHES "arm64" OR
CMAKE_OSX_ARCHITECTURES MATCHES "i386")
set(CPU_TYPE ${CMAKE_OSX_ARCHITECTURES})
endif()
if(CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
set(CPU_TYPE powerpc)
endif()
if(MSVC_IDE AND CMAKE_GENERATOR_PLATFORM MATCHES "arm64")
set(CPU_TYPE arm64)
endif()
message(STATUS "${BITS}-bit build (${CPU_TYPE})")
macro(report_directory var)
if(CMAKE_INSTALL_${var} STREQUAL CMAKE_INSTALL_FULL_${var})
message(STATUS "CMAKE_INSTALL_${var} = ${CMAKE_INSTALL_${var}}")
else()
message(STATUS "CMAKE_INSTALL_${var} = ${CMAKE_INSTALL_${var}} (${CMAKE_INSTALL_FULL_${var}})")
endif()
mark_as_advanced(CLEAR CMAKE_INSTALL_${var})
endmacro()
set(DIRLIST "BINDIR;DATAROOTDIR;DOCDIR;INCLUDEDIR;LIBDIR")
if(UNIX)
list(APPEND DIRLIST "MANDIR")
endif()
foreach(dir ${DIRLIST})
report_directory(${dir})
endforeach()
###############################################################################
# CONFIGURATION OPTIONS
###############################################################################
macro(boolean_number var)
if(${var})
set(${var} 1 ${ARGN})
else()
set(${var} 0 ${ARGN})
endif()
endmacro()
option(ENABLE_SHARED "Build shared libraries" FALSE)
boolean_number(ENABLE_SHARED)
option(ENABLE_STATIC "Build static libraries" TRUE)
boolean_number(ENABLE_STATIC)
option(REQUIRE_SIMD "Generate a fatal error if SIMD extensions are not available for this platform (default is to fall back to a non-SIMD build)" FALSE)
boolean_number(REQUIRE_SIMD)
option(WITH_12BIT "Encode/decode JPEG images with 12-bit samples (implies WITH_ARITH_DEC=0 WITH_ARITH_ENC=0 WITH_JAVA=0 WITH_SIMD=0 WITH_TURBOJPEG=0 )" FALSE)
boolean_number(WITH_12BIT)
option(WITH_ARITH_DEC "Include arithmetic decoding support when emulating the libjpeg v6b API/ABI" TRUE)
boolean_number(WITH_ARITH_DEC)
option(WITH_ARITH_ENC "Include arithmetic encoding support when emulating the libjpeg v6b API/ABI" TRUE)
boolean_number(WITH_ARITH_ENC)
if(CMAKE_C_COMPILER_ABI MATCHES "ELF X32")
set(WITH_JAVA 0)
else()
option(WITH_JAVA "Build Java wrapper for the TurboJPEG API library (implies ENABLE_SHARED=1)" FALSE)
boolean_number(WITH_JAVA)
endif()
option(WITH_JPEG7 "Emulate libjpeg v7 API/ABI (this makes ${CMAKE_PROJECT_NAME} backward-incompatible with libjpeg v6b)" FALSE)
boolean_number(WITH_JPEG7)
option(WITH_JPEG8 "Emulate libjpeg v8 API/ABI (this makes ${CMAKE_PROJECT_NAME} backward-incompatible with libjpeg v6b)" FALSE)
boolean_number(WITH_JPEG8)
option(WITH_MEM_SRCDST "Include in-memory source/destination manager functions when emulating the libjpeg v6b or v7 API/ABI" TRUE)
boolean_number(WITH_MEM_SRCDST)
option(WITH_SIMD "Include SIMD extensions, if available for this platform" FALSE)
boolean_number(WITH_SIMD)
option(WITH_TURBOJPEG "Include the TurboJPEG API library and associated test programs" FALSE)
boolean_number(WITH_TURBOJPEG)
option(WITH_FUZZ "Build fuzz targets" FALSE)
macro(report_option var desc)
if(${var})
message(STATUS "${desc} enabled (${var} = ${${var}})")
else()
message(STATUS "${desc} disabled (${var} = ${${var}})")
endif()
endmacro()
if(WITH_JAVA)
set(ENABLE_SHARED 1)
endif()
# Explicitly setting CMAKE_POSITION_INDEPENDENT_CODE=FALSE disables PIC for all
# targets, which will cause the shared library builds to fail. Thus, if shared
# libraries are enabled and CMAKE_POSITION_INDEPENDENT_CODE is explicitly set
# to FALSE, we need to unset it, thus restoring the default behavior
# (automatically using PIC for shared library targets.)
if(DEFINED CMAKE_POSITION_INDEPENDENT_CODE AND
NOT CMAKE_POSITION_INDEPENDENT_CODE AND ENABLE_SHARED)
unset(CMAKE_POSITION_INDEPENDENT_CODE CACHE)
endif()
report_option(ENABLE_SHARED "Shared libraries")
report_option(ENABLE_STATIC "Static libraries")
if(ENABLE_SHARED)
set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
endif()
if(WITH_JPEG8 OR WITH_JPEG7)
set(WITH_ARITH_ENC 1)
set(WITH_ARITH_DEC 1)
endif()
if(WITH_JPEG8)
set(WITH_MEM_SRCDST 0)
endif()
if(WITH_12BIT)
set(WITH_ARITH_DEC 0)
set(WITH_ARITH_ENC 0)
set(WITH_JAVA 0)
set(WITH_SIMD 0)
set(WITH_TURBOJPEG 0)
set(BITS_IN_JSAMPLE 12)
else()
set(BITS_IN_JSAMPLE 8)
endif()
report_option(WITH_12BIT "12-bit JPEG support")
if(WITH_ARITH_DEC)
set(D_ARITH_CODING_SUPPORTED 1)
endif()
if(NOT WITH_12BIT)
report_option(WITH_ARITH_DEC "Arithmetic decoding support")
endif()
if(WITH_ARITH_ENC)
set(C_ARITH_CODING_SUPPORTED 1)
endif()
if(NOT WITH_12BIT)
report_option(WITH_ARITH_ENC "Arithmetic encoding support")
endif()
if(NOT WITH_12BIT)
report_option(WITH_TURBOJPEG "TurboJPEG API library")
report_option(WITH_JAVA "TurboJPEG Java wrapper")
endif()
if(WITH_MEM_SRCDST)
set(MEM_SRCDST_SUPPORTED 1)
set(MEM_SRCDST_FUNCTIONS "global: jpeg_mem_dest; jpeg_mem_src;")
endif()
if(NOT WITH_JPEG8)
report_option(WITH_MEM_SRCDST "In-memory source/destination managers")
endif()
set(SO_AGE 2)
if(WITH_MEM_SRCDST)
set(SO_AGE 3)
endif()
if(WITH_JPEG8)
set(JPEG_LIB_VERSION 80)
elseif(WITH_JPEG7)
set(JPEG_LIB_VERSION 70)
else()
set(JPEG_LIB_VERSION 62)
endif()
math(EXPR JPEG_LIB_VERSION_DIV10 "${JPEG_LIB_VERSION} / 10")
math(EXPR JPEG_LIB_VERSION_MOD10 "${JPEG_LIB_VERSION} % 10")
if(JPEG_LIB_VERSION STREQUAL "62")
set(DEFAULT_SO_MAJOR_VERSION ${JPEG_LIB_VERSION})
else()
set(DEFAULT_SO_MAJOR_VERSION ${JPEG_LIB_VERSION_DIV10})
endif()
if(JPEG_LIB_VERSION STREQUAL "80")
set(DEFAULT_SO_MINOR_VERSION 2)
else()
set(DEFAULT_SO_MINOR_VERSION 0)
endif()
# This causes SO_MAJOR_VERSION/SO_MINOR_VERSION to reset to defaults if
# WITH_JPEG7 or WITH_JPEG8 has changed.
if((DEFINED WITH_JPEG7_INT AND NOT WITH_JPEG7 EQUAL WITH_JPEG7_INT) OR
(DEFINED WITH_JPEG8_INT AND NOT WITH_JPEG8 EQUAL WITH_JPEG8_INT))
set(FORCE_SO_VERSION "FORCE")
endif()
set(WITH_JPEG7_INT ${WITH_JPEG7} CACHE INTERNAL "")
set(WITH_JPEG8_INT ${WITH_JPEG8} CACHE INTERNAL "")
set(SO_MAJOR_VERSION ${DEFAULT_SO_MAJOR_VERSION} CACHE STRING
"Major version of the libjpeg API shared library (default: ${DEFAULT_SO_MAJOR_VERSION})"
${FORCE_SO_VERSION})
set(SO_MINOR_VERSION ${DEFAULT_SO_MINOR_VERSION} CACHE STRING
"Minor version of the libjpeg API shared library (default: ${DEFAULT_SO_MINOR_VERSION})"
${FORCE_SO_VERSION})
set(JPEG_LIB_VERSION_DECIMAL "${JPEG_LIB_VERSION_DIV10}.${JPEG_LIB_VERSION_MOD10}")
message(STATUS "Emulating libjpeg API/ABI v${JPEG_LIB_VERSION_DECIMAL} (WITH_JPEG7 = ${WITH_JPEG7}, WITH_JPEG8 = ${WITH_JPEG8})")
message(STATUS "libjpeg API shared library version = ${SO_MAJOR_VERSION}.${SO_AGE}.${SO_MINOR_VERSION}")
# Because the TurboJPEG API library uses versioned symbols and changes the
# names of functions whenever they are modified in a backward-incompatible
# manner, it is always backward-ABI-compatible with itself, so the major and
# minor SO versions don't change. However, we increase the middle number (the
# SO "age") whenever functions are added to the API.
set(TURBOJPEG_SO_MAJOR_VERSION 0)
set(TURBOJPEG_SO_AGE 2)
set(TURBOJPEG_SO_VERSION 0.${TURBOJPEG_SO_AGE}.0)
###############################################################################
# COMPILER SETTINGS
###############################################################################
if(MSVC)
option(WITH_CRT_DLL
"Link all ${CMAKE_PROJECT_NAME} libraries and executables with the C run-time DLL (msvcr*.dll) instead of the static C run-time library (libcmt*.lib.) The default is to use the C run-time DLL only with the libraries and executables that need it."
FALSE)
if(NOT WITH_CRT_DLL)
# Use the static C library for all build types
foreach(var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
if(${var} MATCHES "/MD")
string(REGEX REPLACE "/MD" "/MT" ${var} "${${var}}")
endif()
endforeach()
endif()
add_definitions(-D_CRT_NONSTDC_NO_WARNINGS)
endif()
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
# Use the maximum optimization level for release builds
foreach(var CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO)
if(${var} MATCHES "-O2")
string(REGEX REPLACE "-O2" "-O3" ${var} "${${var}}")
endif()
endforeach()
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
if(CMAKE_C_COMPILER_ID MATCHES "SunPro")
# Use the maximum optimization level for release builds
foreach(var CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO)
if(${var} MATCHES "-xO3")
string(REGEX REPLACE "-xO3" "-xO5" ${var} "${${var}}")
endif()
if(${var} MATCHES "-xO2")
string(REGEX REPLACE "-xO2" "-xO5" ${var} "${${var}}")
endif()
endforeach()
endif()
endif()
string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC)
set(EFFECTIVE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
message(STATUS "Compiler flags = ${EFFECTIVE_C_FLAGS}")
set(EFFECTIVE_LD_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
message(STATUS "Linker flags = ${EFFECTIVE_LD_FLAGS}")
include(CheckCSourceCompiles)
include(CheckIncludeFiles)
include(CheckTypeSize)
check_type_size("size_t" SIZE_T)
check_type_size("unsigned long" UNSIGNED_LONG)
if(SIZE_T EQUAL UNSIGNED_LONG)
check_c_source_compiles("int main(int argc, char **argv) { unsigned long a = argc; return __builtin_ctzl(a); }"
HAVE_BUILTIN_CTZL)
endif()
if(MSVC)
check_include_files("intrin.h" HAVE_INTRIN_H)
endif()
if(UNIX)
if(CMAKE_CROSSCOMPILING)
set(RIGHT_SHIFT_IS_UNSIGNED 0)
else()
include(CheckCSourceRuns)
check_c_source_runs("
#include <stdio.h>
#include <stdlib.h>
int is_shifting_signed (long arg) {
long res = arg >> 4;
if (res == -0x7F7E80CL)
return 1; /* right shift is signed */
/* see if unsigned-shift hack will fix it. */
/* we can't just test exact value since it depends on width of long... */
res |= (~0L) << (32-4);
if (res == -0x7F7E80CL)
return 0; /* right shift is unsigned */
printf(\"Right shift isn't acting as I expect it to.\\\\n\");
printf(\"I fear the JPEG software will not work at all.\\\\n\\\\n\");
return 0; /* try it with unsigned anyway */
}
int main (void) {
exit(is_shifting_signed(-0x7F7E80B1L));
}" RIGHT_SHIFT_IS_UNSIGNED)
endif()
endif()
if(MSVC)
set(INLINE_OPTIONS "__inline;inline")
else()
set(INLINE_OPTIONS "__inline__;inline")
endif()
option(FORCE_INLINE "Force function inlining" TRUE)
boolean_number(FORCE_INLINE)
if(FORCE_INLINE)
if(MSVC)
list(INSERT INLINE_OPTIONS 0 "__forceinline")
else()
list(INSERT INLINE_OPTIONS 0 "inline __attribute__((always_inline))")
list(INSERT INLINE_OPTIONS 0 "__inline__ __attribute__((always_inline))")
endif()
endif()
foreach(inline ${INLINE_OPTIONS})
check_c_source_compiles("${inline} static int foo(void) { return 0; } int main(void) { return foo(); }"
INLINE_WORKS)
if(INLINE_WORKS)
set(INLINE ${inline})
break()
endif()
endforeach()
if(NOT INLINE_WORKS)
message(FATAL_ERROR "Could not determine how to inline functions.")
endif()
message(STATUS "INLINE = ${INLINE} (FORCE_INLINE = ${FORCE_INLINE})")
if(WITH_TURBOJPEG)
if(MSVC)
set(THREAD_LOCAL "__declspec(thread)")
else()
set(THREAD_LOCAL "__thread")
endif()
check_c_source_compiles("${THREAD_LOCAL} int i; int main(void) { i = 0; return i; }" HAVE_THREAD_LOCAL)
if(HAVE_THREAD_LOCAL)
message(STATUS "THREAD_LOCAL = ${THREAD_LOCAL}")
else()
message(WARNING "Thread-local storage is not available. The TurboJPEG API library's global error handler will not be thread-safe.")
unset(THREAD_LOCAL)
endif()
endif()
if(UNIX AND NOT APPLE)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/conftest.map "VERS_1 { global: *; };")
set(CMAKE_REQUIRED_FLAGS
"-Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/conftest.map")
check_c_source_compiles("int main(void) { return 0; }" HAVE_VERSION_SCRIPT)
set(CMAKE_REQUIRED_FLAGS)
file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/conftest.map)
if(HAVE_VERSION_SCRIPT)
message(STATUS "Linker supports GNU-style version scripts")
set(MAPFLAG "-Wl,--version-script,")
set(TJMAPFLAG "-Wl,--version-script,")
else()
message(STATUS "Linker does not support GNU-style version scripts")
if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
# The Solaris linker doesn't like our version script for the libjpeg API
# library, but the version script for the TurboJPEG API library should
# still work.
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/conftest.map
"VERS_1 { global: foo; local: *; }; VERS_2 { global: foo2; } VERS_1;")
set(CMAKE_REQUIRED_FLAGS "-Wl,-M,${CMAKE_CURRENT_BINARY_DIR}/conftest.map -shared")
check_c_source_compiles("int foo() { return 0; } int foo2() { return 2; }"
HAVE_MAPFILE)
set(CMAKE_REQUIRED_FLAGS)
file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/conftest.map)
if(HAVE_MAPFILE)
message(STATUS "Linker supports mapfiles")
set(TJMAPFLAG "-Wl,-M,")
else()
message(STATUS "Linker does not support mapfiles")
endif()
endif()
endif()
endif()
# Generate files
if(WIN32)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/win/jconfig.h.in jconfig.h)
else()
configure_file(jconfig.h.in jconfig.h)
endif()
configure_file(jconfigint.h.in jconfigint.h)
configure_file(jversion.h.in jversion.h)
if(UNIX)
configure_file(libjpeg.map.in libjpeg.map)
endif()
# Include directories and compiler definitions
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
###############################################################################
# TARGETS
###############################################################################
if(CMAKE_EXECUTABLE_SUFFIX_TMP)
set(CMAKE_EXECUTABLE_SUFFIX ${CMAKE_EXECUTABLE_SUFFIX_TMP})
endif()
message(STATUS "CMAKE_EXECUTABLE_SUFFIX = ${CMAKE_EXECUTABLE_SUFFIX}")
set(JPEG_SOURCES jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c
jcicc.c jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c
jcphuff.c jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c jdatadst.c
jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c jdicc.c jdinput.c
jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdphuff.c jdpostct.c jdsample.c
jdtrans.c jerror.c jfdctflt.c jfdctfst.c jfdctint.c jidctflt.c jidctfst.c
jidctint.c jidctred.c jquant1.c jquant2.c jutils.c jmemmgr.c jmemnobs.c)
if(WITH_ARITH_ENC OR WITH_ARITH_DEC)
set(JPEG_SOURCES ${JPEG_SOURCES} jaricom.c)
endif()
if(WITH_ARITH_ENC)
set(JPEG_SOURCES ${JPEG_SOURCES} jcarith.c)
endif()
if(WITH_ARITH_DEC)
set(JPEG_SOURCES ${JPEG_SOURCES} jdarith.c)
endif()
if(WITH_SIMD)
add_subdirectory(simd)
if(NEON_INTRINSICS)
add_definitions(-DNEON_INTRINSICS)
endif()
elseif(NOT WITH_12BIT)
message(STATUS "SIMD extensions: None (WITH_SIMD = ${WITH_SIMD})")
endif()
if(WITH_SIMD)
message(STATUS "SIMD extensions: ${CPU_TYPE} (WITH_SIMD = ${WITH_SIMD})")
if(MSVC_IDE OR XCODE)
set_source_files_properties(${SIMD_OBJS} PROPERTIES GENERATED 1)
endif()
else()
add_library(simd OBJECT jsimd_none.c)
if(NOT WIN32 AND (CMAKE_POSITION_INDEPENDENT_CODE OR ENABLE_SHARED))
set_target_properties(simd PROPERTIES POSITION_INDEPENDENT_CODE 1)
endif()
endif()
if(WITH_JAVA)
add_subdirectory(java)
endif()
if(ENABLE_SHARED)
add_subdirectory(sharedlib)
endif()
if(ENABLE_STATIC)
add_library(jpeg-static STATIC ${JPEG_SOURCES} $<TARGET_OBJECTS:simd>
${SIMD_OBJS})
if(NOT MSVC)
set_target_properties(jpeg-static PROPERTIES OUTPUT_NAME jpeg)
endif()
endif()
if(WITH_TURBOJPEG)
if(ENABLE_SHARED)
set(TURBOJPEG_SOURCES ${JPEG_SOURCES} $<TARGET_OBJECTS:simd> ${SIMD_OBJS}
turbojpeg.c transupp.c jdatadst-tj.c jdatasrc-tj.c rdbmp.c rdppm.c
wrbmp.c wrppm.c)
set(TJMAPFILE ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg-mapfile)
if(WITH_JAVA)
set(TURBOJPEG_SOURCES ${TURBOJPEG_SOURCES} turbojpeg-jni.c)
include_directories(${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
set(TJMAPFILE ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg-mapfile.jni)
endif()
if(MSVC)
configure_file(${CMAKE_SOURCE_DIR}/win/turbojpeg.rc.in
${CMAKE_BINARY_DIR}/win/turbojpeg.rc)
set(TURBOJPEG_SOURCES ${TURBOJPEG_SOURCES}
${CMAKE_BINARY_DIR}/win/turbojpeg.rc)
endif()
add_library(turbojpeg SHARED ${TURBOJPEG_SOURCES})
set_property(TARGET turbojpeg PROPERTY COMPILE_FLAGS
"-DBMP_SUPPORTED -DPPM_SUPPORTED")
if(WIN32)
set_target_properties(turbojpeg PROPERTIES DEFINE_SYMBOL DLLDEFINE)
endif()
if(MINGW)
set_target_properties(turbojpeg PROPERTIES LINK_FLAGS -Wl,--kill-at)
endif()
if(APPLE AND (NOT CMAKE_OSX_DEPLOYMENT_TARGET OR
CMAKE_OSX_DEPLOYMENT_TARGET VERSION_GREATER 10.4))
if(NOT CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG)
set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
endif()
set_target_properties(turbojpeg PROPERTIES MACOSX_RPATH 1)
endif()
set_target_properties(turbojpeg PROPERTIES
SOVERSION ${TURBOJPEG_SO_MAJOR_VERSION} VERSION ${TURBOJPEG_SO_VERSION})
if(TJMAPFLAG)
set_target_properties(turbojpeg PROPERTIES
LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}")
endif()
endif()
if(ENABLE_STATIC)
add_library(turbojpeg-static STATIC ${JPEG_SOURCES} $<TARGET_OBJECTS:simd>
${SIMD_OBJS} turbojpeg.c transupp.c jdatadst-tj.c jdatasrc-tj.c rdbmp.c
rdppm.c wrbmp.c wrppm.c)
set_property(TARGET turbojpeg-static PROPERTY COMPILE_FLAGS
"-DBMP_SUPPORTED -DPPM_SUPPORTED")
if(NOT MSVC)
set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg)
endif()
endif()
endif()
if(WIN32)
set(USE_SETMODE "-DUSE_SETMODE")
endif()
if(WITH_12BIT)
set(COMPILE_FLAGS "-DGIF_SUPPORTED -DPPM_SUPPORTED ${USE_SETMODE}")
else()
set(COMPILE_FLAGS "-DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED -DTARGA_SUPPORTED ${USE_SETMODE}")
set(CJPEG_BMP_SOURCES rdbmp.c rdtarga.c)
set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c)
endif()

741
cmake/CMakeLists.png Normal file
View File

@ -0,0 +1,741 @@
# CMakeLists.txt
# Copyright (C) 2018 Cosmin Truta
# Copyright (C) 2007,2009-2018 Glenn Randers-Pehrson
# Written by Christian Ehrlicher, 2007
# Revised by Roger Lowman, 2009-2010
# Revised by Clifford Yapp, 2011-2012,2017
# Revised by Roger Leigh, 2016
# Revised by Andreas Franek, 2016
# Revised by Sam Serrels, 2017
# Revised by Vadim Barkov, 2017
# Revised by Vicky Pfau, 2018
# Revised by Cameron Cawley, 2018
# Revised by Cosmin Truta, 2018
# Revised by Kyle Bentley, 2018
# This code is released under the libpng license.
# For conditions of distribution and use, see the disclaimer
# and license in png.h
cmake_minimum_required(VERSION 3.10)
cmake_policy(VERSION 3.1)
# When using CMake 3.4 and later, don't export symbols from executables unless
# the CMAKE_ENABLE_EXPORTS variable is set.
if(POLICY CMP0065)
cmake_policy(SET CMP0065 NEW)
endif()
if (POLICY CMP0077)
cmake_policy(SET CMP0077 NEW)
endif()
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
project(libpng C ASM)
enable_testing()
set(PNGLIB_MAJOR 1)
set(PNGLIB_MINOR 6)
set(PNGLIB_RELEASE 37)
set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR})
set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE})
include(GNUInstallDirs)
# needed packages
# Allow users to specify location of Zlib.
# Useful if zlib is being built alongside this as a sub-project.
option(PNG_BUILD_ZLIB "Custom zlib Location, else find_package is used" ON)
if(NOT PNG_BUILD_ZLIB)
find_package(ZLIB REQUIRED)
include_directories(${ZLIB_INCLUDE_DIR})
endif()
if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU)
find_library(M_LIBRARY m)
else()
# libm is not needed and/or not available
set(M_LIBRARY "")
endif()
# COMMAND LINE OPTIONS
option(PNG_SHARED "Build shared lib" OFF)
option(PNG_STATIC "Build static lib" ON)
option(PNG_TESTS "Build libpng tests" OFF)
# Many more configuration options could be added here
option(PNG_FRAMEWORK "Build OS X framework" OFF)
option(PNG_DEBUG "Build with debug output" OFF)
option(PNG_HARDWARE_OPTIMIZATIONS "Enable hardware optimizations" OFF)
set(PNG_PREFIX "" CACHE STRING "Prefix to add to the API function names")
set(DFA_XTRA "" CACHE FILEPATH "File containing extra configuration settings")
if(PNG_HARDWARE_OPTIMIZATIONS)
# set definitions and sources for arm
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")
set(PNG_ARM_NEON_POSSIBLE_VALUES check on off)
set(PNG_ARM_NEON "check" CACHE STRING "Enable ARM NEON optimizations:
check: (default) use internal checking code;
off: disable the optimizations;
on: turn on unconditionally.")
set_property(CACHE PNG_ARM_NEON PROPERTY STRINGS
${PNG_ARM_NEON_POSSIBLE_VALUES})
list(FIND PNG_ARM_NEON_POSSIBLE_VALUES ${PNG_ARM_NEON} index)
if(index EQUAL -1)
message(FATAL_ERROR
"PNG_ARM_NEON must be one of [${PNG_ARM_NEON_POSSIBLE_VALUES}]")
elseif(NOT ${PNG_ARM_NEON} STREQUAL "off")
set(libpng_arm_sources
arm/arm_init.c
arm/filter_neon.S
arm/filter_neon_intrinsics.c
arm/palette_neon_intrinsics.c)
if(${PNG_ARM_NEON} STREQUAL "on")
add_definitions(-DPNG_ARM_NEON_OPT=2)
elseif(${PNG_ARM_NEON} STREQUAL "check")
add_definitions(-DPNG_ARM_NEON_CHECK_SUPPORTED)
endif()
else()
add_definitions(-DPNG_ARM_NEON_OPT=0)
endif()
endif()
# set definitions and sources for powerpc
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64*")
set(PNG_POWERPC_VSX_POSSIBLE_VALUES on off)
set(PNG_POWERPC_VSX "on" CACHE STRING "Enable POWERPC VSX optimizations:
off: disable the optimizations.")
set_property(CACHE PNG_POWERPC_VSX PROPERTY STRINGS
${PNG_POWERPC_VSX_POSSIBLE_VALUES})
list(FIND PNG_POWERPC_VSX_POSSIBLE_VALUES ${PNG_POWERPC_VSX} index)
if(index EQUAL -1)
message(FATAL_ERROR
"PNG_POWERPC_VSX must be one of [${PNG_POWERPC_VSX_POSSIBLE_VALUES}]")
elseif(NOT ${PNG_POWERPC_VSX} STREQUAL "off")
set(libpng_powerpc_sources
powerpc/powerpc_init.c
powerpc/filter_vsx_intrinsics.c)
if(${PNG_POWERPC_VSX} STREQUAL "on")
add_definitions(-DPNG_POWERPC_VSX_OPT=2)
endif()
else()
add_definitions(-DPNG_POWERPC_VSX_OPT=0)
endif()
endif()
# set definitions and sources for intel
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*")
set(PNG_INTEL_SSE_POSSIBLE_VALUES on off)
set(PNG_INTEL_SSE "on" CACHE STRING "Enable INTEL_SSE optimizations:
off: disable the optimizations")
set_property(CACHE PNG_INTEL_SSE PROPERTY STRINGS
${PNG_INTEL_SSE_POSSIBLE_VALUES})
list(FIND PNG_INTEL_SSE_POSSIBLE_VALUES ${PNG_INTEL_SSE} index)
if(index EQUAL -1)
message(FATAL_ERROR
"PNG_INTEL_SSE must be one of [${PNG_INTEL_SSE_POSSIBLE_VALUES}]")
elseif(NOT ${PNG_INTEL_SSE} STREQUAL "off")
set(libpng_intel_sources
intel/intel_init.c
intel/filter_sse2_intrinsics.c)
if(${PNG_INTEL_SSE} STREQUAL "on")
add_definitions(-DPNG_INTEL_SSE_OPT=1)
endif()
else()
add_definitions(-DPNG_INTEL_SSE_OPT=0)
endif()
endif()
# set definitions and sources for MIPS
if(CMAKE_SYSTEM_PROCESSOR MATCHES "mipsel*" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "mips64el*")
set(PNG_MIPS_MSA_POSSIBLE_VALUES on off)
set(PNG_MIPS_MSA "on" CACHE STRING "Enable MIPS_MSA optimizations:
off: disable the optimizations")
set_property(CACHE PNG_MIPS_MSA PROPERTY STRINGS
${PNG_MIPS_MSA_POSSIBLE_VALUES})
list(FIND PNG_MIPS_MSA_POSSIBLE_VALUES ${PNG_MIPS_MSA} index)
if(index EQUAL -1)
message(FATAL_ERROR
"PNG_MIPS_MSA must be one of [${PNG_MIPS_MSA_POSSIBLE_VALUES}]")
elseif(NOT ${PNG_MIPS_MSA} STREQUAL "off")
set(libpng_mips_sources
mips/mips_init.c
mips/filter_msa_intrinsics.c)
if(${PNG_MIPS_MSA} STREQUAL "on")
add_definitions(-DPNG_MIPS_MSA_OPT=2)
endif()
else()
add_definitions(-DPNG_MIPS_MSA_OPT=0)
endif()
endif()
else(PNG_HARDWARE_OPTIMIZATIONS)
# set definitions and sources for arm
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")
add_definitions(-DPNG_ARM_NEON_OPT=0)
endif()
# set definitions and sources for powerpc
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64*")
add_definitions(-DPNG_POWERPC_VSX_OPT=0)
endif()
# set definitions and sources for intel
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*")
add_definitions(-DPNG_INTEL_SSE_OPT=0)
endif()
# set definitions and sources for MIPS
if(CMAKE_SYSTEM_PROCESSOR MATCHES "mipsel*" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "mips64el*")
add_definitions(-DPNG_MIPS_MSA_OPT=0)
endif()
endif(PNG_HARDWARE_OPTIMIZATIONS)
# SET LIBNAME
set(PNG_LIB_NAME png${PNGLIB_MAJOR}${PNGLIB_MINOR})
# to distinguish between debug and release lib
set(CMAKE_DEBUG_POSTFIX "d")
include(CheckCSourceCompiles)
option(ld-version-script "Enable linker version script" ON)
if(ld-version-script AND NOT APPLE)
# Check if LD supports linker scripts.
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/conftest.map" "VERS_1 {
global: sym;
local: *;
};
VERS_2 {
global: sym2;
main;
} VERS_1;
")
set(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS})
set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script='${CMAKE_CURRENT_BINARY_DIR}/conftest.map'")
check_c_source_compiles("void sym(void) {}
void sym2(void) {}
int main(void) {return 0;}
" HAVE_LD_VERSION_SCRIPT)
if(NOT HAVE_LD_VERSION_SCRIPT)
set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE} "-Wl,-M -Wl,${CMAKE_CURRENT_BINARY_DIR}/conftest.map")
check_c_source_compiles("void sym(void) {}
void sym2(void) {}
int main(void) {return 0;}
" HAVE_SOLARIS_LD_VERSION_SCRIPT)
endif()
set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE})
file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/conftest.map")
endif()
# Find symbol prefix. Likely obsolete and unnecessary with recent
# toolchains (it's not done in many other projects).
function(symbol_prefix)
set(SYMBOL_PREFIX)
execute_process(COMMAND "${CMAKE_C_COMPILER}" "-E" "-"
INPUT_FILE /dev/null
OUTPUT_VARIABLE OUT
RESULT_VARIABLE STATUS)
if(CPP_FAIL)
message(WARNING "Failed to run the C preprocessor")
endif()
string(REPLACE "\n" ";" OUT "${OUT}")
foreach(line ${OUT})
string(REGEX MATCH "^PREFIX=" found_match "${line}")
if(found_match)
string(REGEX REPLACE "^PREFIX=(.*\)" "\\1" prefix "${line}")
string(REGEX MATCH "__USER_LABEL_PREFIX__" found_match "${prefix}")
if(found_match)
string(REGEX REPLACE "(.*)__USER_LABEL_PREFIX__(.*)" "\\1\\2" prefix "${prefix}")
endif()
set(SYMBOL_PREFIX "${prefix}")
endif()
endforeach()
message(STATUS "Symbol prefix: ${SYMBOL_PREFIX}")
set(SYMBOL_PREFIX "${SYMBOL_PREFIX}" PARENT_SCOPE)
endfunction()
if(UNIX)
symbol_prefix()
endif()
find_program(AWK NAMES gawk awk)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
if(NOT AWK OR ANDROID)
# No awk available to generate sources; use pre-built pnglibconf.h
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.h.prebuilt
${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h)
add_custom_target(genfiles) # Dummy
else()
include(CMakeParseArguments)
# Generate .chk from .out with awk
# generate_chk(INPUT inputfile OUTPUT outputfile [DEPENDS dep1 [dep2...]])
function(generate_chk)
set(options)
set(oneValueArgs INPUT OUTPUT)
set(multiValueArgs DEPENDS)
cmake_parse_arguments(_GC "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT _GC_INPUT)
message(FATAL_ERROR "generate_chk: Missing INPUT argument")
endif()
if(NOT _GC_OUTPUT)
message(FATAL_ERROR "generate_chk: Missing OUTPUT argument")
endif()
add_custom_command(OUTPUT "${_GC_OUTPUT}"
COMMAND "${CMAKE_COMMAND}"
"-DINPUT=${_GC_INPUT}"
"-DOUTPUT=${_GC_OUTPUT}"
-P "${CMAKE_CURRENT_BINARY_DIR}/scripts/genchk.cmake"
DEPENDS "${_GC_INPUT}" ${_GC_DEPENDS}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
endfunction()
# Generate .out from .c with awk
# generate_out(INPUT inputfile OUTPUT outputfile [DEPENDS dep1 [dep2...]])
function(generate_out)
set(options)
set(oneValueArgs INPUT OUTPUT)
set(multiValueArgs DEPENDS)
cmake_parse_arguments(_GO "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT _GO_INPUT)
message(FATAL_ERROR "generate_out: Missing INPUT argument")
endif()
if(NOT _GO_OUTPUT)
message(FATAL_ERROR "generate_out: Missing OUTPUT argument")
endif()
add_custom_command(OUTPUT "${_GO_OUTPUT}"
COMMAND "${CMAKE_COMMAND}"
"-DINPUT=${_GO_INPUT}"
"-DOUTPUT=${_GO_OUTPUT}"
-P "${CMAKE_CURRENT_BINARY_DIR}/scripts/genout.cmake"
DEPENDS "${_GO_INPUT}" ${_GO_DEPENDS}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
endfunction()
# Generate specific source file with awk
# generate_source(OUTPUT outputfile [DEPENDS dep1 [dep2...]])
function(generate_source)
set(options)
set(oneValueArgs OUTPUT)
set(multiValueArgs DEPENDS)
cmake_parse_arguments(_GSO "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT _GSO_OUTPUT)
message(FATAL_ERROR "generate_source: Missing OUTPUT argument")
endif()
add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_GSO_OUTPUT}"
COMMAND "${CMAKE_COMMAND}"
"-DOUTPUT=${_GSO_OUTPUT}"
-P "${CMAKE_CURRENT_BINARY_DIR}/scripts/gensrc.cmake"
DEPENDS ${_GSO_DEPENDS}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
endfunction()
# Copy file
function(generate_copy source destination)
add_custom_command(OUTPUT "${destination}"
COMMAND "${CMAKE_COMMAND}" -E remove "${destination}"
COMMAND "${CMAKE_COMMAND}" -E copy "${source}"
"${destination}"
DEPENDS "${source}")
endfunction()
# Generate scripts/pnglibconf.h
generate_source(OUTPUT "scripts/pnglibconf.c"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.dfa"
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/options.awk"
"${CMAKE_CURRENT_SOURCE_DIR}/pngconf.h")
# Generate pnglibconf.c
generate_source(OUTPUT "pnglibconf.c"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.dfa"
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/options.awk"
"${CMAKE_CURRENT_SOURCE_DIR}/pngconf.h")
if(PNG_PREFIX)
set(PNGLIBCONF_H_EXTRA_DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/scripts/prefix.out"
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/macro.lst")
set(PNGPREFIX_H_EXTRA_DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/scripts/intprefix.out")
endif()
generate_out(INPUT "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.c"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.out")
# Generate pnglibconf.h
generate_source(OUTPUT "pnglibconf.h"
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.out"
${PNGLIBCONF_H_EXTRA_DEPENDS})
generate_out(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/scripts/intprefix.c"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/intprefix.out"
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h")
generate_out(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/scripts/prefix.c"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/prefix.out"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/png.h"
"${CMAKE_CURRENT_SOURCE_DIR}/pngconf.h"
"${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.out")
# Generate pngprefix.h
generate_source(OUTPUT "pngprefix.h"
DEPENDS ${PNGPREFIX_H_EXTRA_DEPENDS})
generate_out(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/scripts/sym.c"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/sym.out"
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h")
generate_out(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/scripts/symbols.c"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.out"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/png.h"
"${CMAKE_CURRENT_SOURCE_DIR}/pngconf.h"
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.h.prebuilt")
generate_out(INPUT "${CMAKE_CURRENT_SOURCE_DIR}/scripts/vers.c"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/vers.out"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/png.h"
"${CMAKE_CURRENT_SOURCE_DIR}/pngconf.h"
"${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h")
generate_chk(INPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.out"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.chk"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/scripts/checksym.awk"
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/symbols.def")
add_custom_target(symbol-check DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.chk")
generate_copy("${CMAKE_CURRENT_BINARY_DIR}/scripts/sym.out"
"${CMAKE_CURRENT_BINARY_DIR}/libpng.sym")
generate_copy("${CMAKE_CURRENT_BINARY_DIR}/scripts/vers.out"
"${CMAKE_CURRENT_BINARY_DIR}/libpng.vers")
add_custom_target(genvers DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libpng.vers")
add_custom_target(gensym DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/libpng.sym")
add_custom_target("genprebuilt"
COMMAND "${CMAKE_COMMAND}"
"-DOUTPUT=scripts/pnglibconf.h.prebuilt"
-P "${CMAKE_CURRENT_BINARY_DIR}/scripts/gensrc.cmake"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
# A single target handles generation of all generated files. If
# they are depended upon separately by multiple targets, this
# confuses parallel make (it would require a separate top-level
# target for each file to track the dependencies properly).
add_custom_target(genfiles DEPENDS
"${CMAKE_CURRENT_BINARY_DIR}/libpng.sym"
"${CMAKE_CURRENT_BINARY_DIR}/libpng.vers"
"${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.c"
"${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h"
"${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.out"
"${CMAKE_CURRENT_BINARY_DIR}/pngprefix.h"
"${CMAKE_CURRENT_BINARY_DIR}/scripts/intprefix.out"
"${CMAKE_CURRENT_BINARY_DIR}/scripts/pnglibconf.c"
"${CMAKE_CURRENT_BINARY_DIR}/scripts/prefix.out"
"${CMAKE_CURRENT_BINARY_DIR}/scripts/sym.out"
"${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.chk"
"${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.out"
"${CMAKE_CURRENT_BINARY_DIR}/scripts/vers.out")
endif(NOT AWK OR ANDROID)
# OUR SOURCES
set(libpng_public_hdrs
png.h
pngconf.h
"${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h"
)
set(libpng_private_hdrs
pngpriv.h
pngdebug.h
pnginfo.h
pngstruct.h
)
if(AWK AND NOT ANDROID)
list(APPEND libpng_private_hdrs "${CMAKE_CURRENT_BINARY_DIR}/pngprefix.h")
endif()
set(libpng_sources
${libpng_public_hdrs}
${libpng_private_hdrs}
png.c
pngerror.c
pngget.c
pngmem.c
pngpread.c
pngread.c
pngrio.c
pngrtran.c
pngrutil.c
pngset.c
pngtrans.c
pngwio.c
pngwrite.c
pngwtran.c
pngwutil.c
${libpng_arm_sources}
${libpng_intel_sources}
${libpng_mips_sources}
${libpng_powerpc_sources}
)
set(pngtest_sources
pngtest.c
)
set(pngvalid_sources
contrib/libtests/pngvalid.c
)
set(pngstest_sources
contrib/libtests/pngstest.c
)
set(pngunknown_sources
contrib/libtests/pngunknown.c
)
set(pngimage_sources
contrib/libtests/pngimage.c
)
set(pngfix_sources
contrib/tools/pngfix.c
)
set(png_fix_itxt_sources
contrib/tools/png-fix-itxt.c
)
if(MSVC)
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
endif()
if(PNG_DEBUG)
add_definitions(-DPNG_DEBUG)
endif()
# NOW BUILD OUR TARGET
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR})
unset(PNG_LIB_TARGETS)
if(PNG_STATIC)
# does not work without changing name
set(PNG_LIB_NAME_STATIC png_static)
add_library(png_static STATIC ${libpng_sources})
add_dependencies(png_static genfiles)
# MSVC doesn't use a different file extension for shared vs. static
# libs. We are able to change OUTPUT_NAME to remove the _static
# for all other platforms.
if(NOT MSVC)
set_target_properties(png_static PROPERTIES
OUTPUT_NAME "${PNG_LIB_NAME}"
CLEAN_DIRECT_OUTPUT 1)
else()
set_target_properties(png_static PROPERTIES
OUTPUT_NAME "${PNG_LIB_NAME}_static"
CLEAN_DIRECT_OUTPUT 1)
endif()
list(APPEND PNG_LIB_TARGETS png_static)
if(MSVC)
# msvc does not append 'lib' - do it here to have consistent name
set_target_properties(png_static PROPERTIES PREFIX "lib")
endif()
target_link_libraries(png_static ${M_LIBRARY})
endif()
if(NOT PNG_LIB_TARGETS)
message(SEND_ERROR
"No library variant selected to build. "
"Please enable at least one of the following options: "
"PNG_STATIC, PNG_SHARED, PNG_FRAMEWORK")
endif()
# Set a variable with CMake code which:
# Creates a symlink from src to dest (if possible) or alternatively
# copies if different.
include(CMakeParseArguments)
function(create_symlink DEST_FILE)
cmake_parse_arguments(S "" "FILE;TARGET" "" ${ARGN})
if(NOT S_TARGET AND NOT S_FILE)
message(FATAL_ERROR "create_symlink: Missing TARGET or FILE argument")
endif()
if(S_TARGET AND S_FILE)
message(FATAL_ERROR "create_symlink: Both source file ${S_FILE} and build target ${S_TARGET} arguments are present; can only have one.")
endif()
if(S_FILE)
# If we don't need to symlink something that's coming from a build target,
# we can go ahead and symlink/copy at configure time.
if(CMAKE_HOST_WIN32 AND NOT CYGWIN)
execute_process(
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${S_FILE} ${DEST_FILE}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
else()
execute_process(
COMMAND ${CMAKE_COMMAND} -E create_symlink ${S_FILE} ${DEST_FILE}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
endif()
endif()
if(S_TARGET)
# We need to use generator expressions, which can be a bit tricky, so for
# simplicity make the symlink a POST_BUILD step and use the TARGET
# signature of add_custom_command.
if(CMAKE_HOST_WIN32 AND NOT CYGWIN)
add_custom_command(TARGET ${S_TARGET} POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy_if_different $<TARGET_LINKER_FILE_NAME:${S_TARGET}> $<TARGET_LINKER_FILE_DIR:${S_TARGET}>/${DEST_FILE})
else()
add_custom_command(TARGET ${S_TARGET} POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E create_symlink $<TARGET_LINKER_FILE_NAME:${S_TARGET}> $<TARGET_LINKER_FILE_DIR:${S_TARGET}>/${DEST_FILE})
endif()
endif()
endfunction()
# Create source generation scripts.
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/genchk.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/scripts/genchk.cmake @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/genout.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/scripts/genout.cmake @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/gensrc.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/scripts/gensrc.cmake @ONLY)
# libpng is a library so default to 'lib'
if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
set(CMAKE_INSTALL_LIBDIR lib)
endif()
# CREATE PKGCONFIG FILES
# We use the same files like ./configure, so we have to set its vars.
# Only do this on Windows for Cygwin - the files don't make much sense outside
# of a UNIX look-alike.
if(NOT WIN32 OR CYGWIN OR MINGW)
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
set(LIBS "-lz -lm")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in
${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc @ONLY)
create_symlink(libpng.pc FILE ${PNGLIB_NAME}.pc)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in
${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config @ONLY)
create_symlink(libpng-config FILE ${PNGLIB_NAME}-config)
endif()
# SET UP LINKS
if(PNG_SHARED)
set_target_properties(png PROPERTIES
# VERSION 16.${PNGLIB_RELEASE}.1.6.37
VERSION 16.${PNGLIB_RELEASE}.0
SOVERSION 16
CLEAN_DIRECT_OUTPUT 1)
endif()
# INSTALL
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
install(TARGETS ${PNG_LIB_TARGETS}
EXPORT libpng
RUNTIME DESTINATION bin
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR})
if(PNG_SHARED)
# Create a symlink for libpng.dll.a => libpng16.dll.a on Cygwin
if(CYGWIN OR MINGW)
create_symlink(libpng${CMAKE_IMPORT_LIBRARY_SUFFIX} TARGET png)
install(FILES $<TARGET_LINKER_FILE_DIR:png>/libpng${CMAKE_IMPORT_LIBRARY_SUFFIX}
DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
if(NOT WIN32)
create_symlink(libpng${CMAKE_SHARED_LIBRARY_SUFFIX} TARGET png)
install(FILES $<TARGET_LINKER_FILE_DIR:png>/libpng${CMAKE_SHARED_LIBRARY_SUFFIX}
DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
endif()
if(PNG_STATIC)
if(NOT WIN32 OR CYGWIN OR MINGW)
create_symlink(libpng${CMAKE_STATIC_LIBRARY_SUFFIX} TARGET png_static)
install(FILES $<TARGET_LINKER_FILE_DIR:png_static>/libpng${CMAKE_STATIC_LIBRARY_SUFFIX}
DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
endif()
endif()
if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL)
install(FILES ${libpng_public_hdrs} DESTINATION include)
install(FILES ${libpng_public_hdrs} DESTINATION include/${PNGLIB_NAME})
endif()
if(NOT SKIP_INSTALL_EXECUTABLES AND NOT SKIP_INSTALL_ALL)
if(NOT WIN32 OR CYGWIN OR MINGW)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config DESTINATION bin)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config DESTINATION bin)
endif()
endif()
if(NOT SKIP_INSTALL_PROGRAMS AND NOT SKIP_INSTALL_ALL)
install(TARGETS ${PNG_BIN_TARGETS}
RUNTIME DESTINATION bin)
endif()
if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL)
# Install man pages
if(NOT PNG_MAN_DIR)
set(PNG_MAN_DIR "share/man")
endif()
install(FILES libpng.3 libpngpf.3 DESTINATION ${PNG_MAN_DIR}/man3)
install(FILES png.5 DESTINATION ${PNG_MAN_DIR}/man5)
# Install pkg-config files
if(NOT CMAKE_HOST_WIN32 OR CYGWIN OR MINGW)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config
DESTINATION bin)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config
DESTINATION bin)
endif()
endif()
# Create an export file that CMake users can include() to import our targets.
if(NOT SKIP_INSTALL_EXPORT AND NOT SKIP_INSTALL_ALL)
install(EXPORT libpng DESTINATION lib/libpng FILE lib${PNG_LIB_NAME}.cmake)
endif()
# what's with libpng-manual.txt and all the extra files?
# UNINSTALL
# do we need this?
# DIST
# do we need this?
# to create msvc import lib for mingw compiled shared lib
# pexports libpng.dll > libpng.def
# lib /def:libpng.def /machine:x86

View File

@ -16,9 +16,13 @@ endif()
project(lammps CXX)
set(SOVERSION 0)
get_property(BUILD_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
get_filename_component(LAMMPS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. ABSOLUTE)
get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE)
# collect all executables and shared libs in the top level build folder
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(LAMMPS_SOURCE_DIR ${LAMMPS_DIR}/src)
set(LAMMPS_LIB_SOURCE_DIR ${LAMMPS_DIR}/lib)
@ -36,7 +40,11 @@ find_package(Git)
# by default, install into $HOME/.local (not /usr/local), so that no root access (and sudo!!) is needed
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "Default install path" FORCE)
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND (NOT CMAKE_CROSSCOMPILING))
set(CMAKE_INSTALL_PREFIX "$ENV{USERPROFILE}/LAMMPS" CACHE PATH "Default install path" FORCE)
else()
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "Default install path" FORCE)
endif()
endif()
# If enabled, no need to use LD_LIBRARY_PATH / DYLD_LIBRARY_PATH when installed
@ -78,18 +86,65 @@ 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")
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512")
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Qrestrict")
endif()
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
set(CMAKE_TUNE_DEFAULT "/QxCOMMON-AVX512")
else()
set(CMAKE_TUNE_DEFAULT "/QxHost")
endif()
else()
set(CMAKE_TUNE_DEFAULT "-xHost")
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()
endif()
# we require C++11 without extensions
set(CMAKE_CXX_STANDARD 11)
# silence excessive warnings for new Intel Compilers
if(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
set(CMAKE_TUNE_DEFAULT "-Wno-tautological-constant-compare -Wno-unused-command-line-argument")
endif()
# silence excessive warnings for PGI/NVHPC compilers
if((CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC") OR (CMAKE_CXX_COMPILER_ID STREQUAL "PGI"))
set(CMAKE_TUNE_DEFAULT "-Minform=severe")
endif()
# silence nvcc warnings
if((PKG_KOKKOS) AND (Kokkos_ENABLE_CUDA) AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
set(CMAKE_TUNE_DEFAULT "${CMAKE_TUNE_DEFAULT} -Xcudafe --diag_suppress=unrecognized_pragma")
endif()
# we require C++11 without extensions. Kokkos requires at least C++14 (currently)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11)
endif()
if(CMAKE_CXX_STANDARD LESS 11)
message(FATAL_ERROR "C++ standard must be set to at least 11")
endif()
if(PKG_KOKKOS AND (CMAKE_CXX_STANDARD LESS 14))
set(CMAKE_CXX_STANDARD 14)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Use compiler extensions")
# ugly hacks for MSVC which by default always reports an old C++ standard in the __cplusplus macro
# and prints lots of pointless warnings about "unsafe" functions
if(MSVC)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
add_compile_options(/Zc:__cplusplus)
add_compile_options(/wd4244)
add_compile_options(/wd4267)
if(LAMMPS_EXCEPTIONS)
add_compile_options(/EHsc)
endif()
endif()
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
endif()
# export all symbols when building a .dll file on windows
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND BUILD_SHARED_LIBS)
@ -99,6 +154,19 @@ endif()
########################################################################
# User input options #
########################################################################
# set path to python interpreter and thus enforcing python version if
# when in a virtual environment and PYTHON_EXECUTABLE is not set on command line
if(DEFINED ENV{VIRTUAL_ENV} AND NOT PYTHON_EXECUTABLE)
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
set(PYTHON_EXECUTABLE "$ENV{VIRTUAL_ENV}/Scripts/python.exe")
else()
set(PYTHON_EXECUTABLE "$ENV{VIRTUAL_ENV}/bin/python")
endif()
set(Python_EXECUTABLE "${PYTHON_EXECUTABLE}")
message(STATUS "Running in virtual environment: $ENV{VIRTUAL_ENV}\n"
" Setting Python interpreter to: ${PYTHON_EXECUTABLE}")
endif()
set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically")
mark_as_advanced(LAMMPS_MACHINE)
if(LAMMPS_MACHINE)
@ -107,17 +175,16 @@ endif()
set(LAMMPS_BINARY lmp${LAMMPS_MACHINE})
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(CMAKE_POSITION_INDEPENDENT_CODE "Create object compatible with shared libraries" ON)
option(BUILD_TOOLS "Build and install LAMMPS tools (msi2lmp, binary2txt, chain)" OFF)
option(BUILD_LAMMPS_SHELL "Build and install the LAMMPS shell" OFF)
# allow enabling clang-tidy for C++ files
# Support using clang-tidy for C++ files with selected options
set(ENABLE_CLANG_TIDY OFF CACHE BOOL "Include clang-tidy processing when compiling")
if(ENABLE_CLANG_TIDY)
set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=*-header-filter=.*" CACHE STRING "")
set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=-*,performance-trivially-destructible,performance-unnecessary-copy-initialization,performance-unnecessary-value-param,readability-redundant-control-flow,readability-redundant-declaration,readability-redundant-function-ptr-dereference,readability-redundant-member-init,readability-redundant-string-cstr,readability-redundant-string-init,readability-simplify-boolean-expr,readability-static-accessed-through-instance,readability-static-definition-in-anonymous-namespace,modernize-use-override,modernize-use-bool-literals,modernize-use-emplace,modernize-return-braced-init-list,modernize-use-equals-default,modernize-use-equals-delete,modernize-replace-random-shuffle,modernize-deprecated-headers,modernize-use-nullptr,modernize-use-noexcept,modernize-redundant-void-arg;-fix;-header-filter=.*,header-filter=library.h,header-filter=fmt/*.h" CACHE STRING "clang-tidy settings")
else()
unset(CMAKE_CXX_CLANG_TIDY CACHE)
endif()
include(GNUInstallDirs)
@ -138,17 +205,94 @@ install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR})
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE
GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE PERI POEMS
PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI
USER-ADIOS 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-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC
USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB
USER-RANN 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-PACE USER-BROWNIAN)
set(STANDARD_PACKAGES
ADIOS
AMOEBA
ASPHERE
ATC
AWPMD
BOCS
BODY
BPM
BROWNIAN
CG-DNA
CG-SPICA
CLASS2
COLLOID
COLVARS
COMPRESS
DIELECTRIC
DIFFRACTION
DIPOLE
DPD-BASIC
DPD-MESO
DPD-REACT
DPD-SMOOTH
DRUDE
EFF
ELECTRODE
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP
GRANULAR
H5MD
INTERLAYER
KIM
KSPACE
LATBOLTZ
LATTE
MACHDYN
MANIFOLD
MANYBODY
MC
MDI
MEAM
MESONT
MGPT
MISC
ML-HDNNP
ML-IAP
ML-PACE
ML-QUIP
ML-RANN
ML-SNAP
MOFFF
MOLECULE
MOLFILE
MPIIO
MSCG
NETCDF
ORIENT
PERI
PHONON
PLUGIN
PLUMED
POEMS
PTM
PYTHON
QEQ
QMMM
QTB
REACTION
REAXFF
REPLICA
RIGID
SCAFACOS
SHOCK
SMTBQ
SPH
SPIN
SRD
TALLY
UEF
VORONOI
VTK
YAFF)
set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP)
set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT INTEL OPENMP)
foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
@ -159,7 +303,7 @@ endforeach()
######################################################
target_include_directories(lammps PUBLIC $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}>)
if(PKG_USER-ADIOS)
if(PKG_ADIOS)
# The search for ADIOS2 must come before MPI because
# it includes its own MPI search with the latest FindMPI.cmake
# script that defines the MPI::MPI_C target
@ -169,40 +313,32 @@ if(PKG_USER-ADIOS)
endif()
if(NOT CMAKE_CROSSCOMPILING)
set(MPI_CXX_SKIP_MPICXX TRUE)
find_package(MPI QUIET)
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
else()
set(MPI_CXX_SKIP_MPICXX TRUE)
option(BUILD_MPI "Build MPI version" OFF)
endif()
if(BUILD_MPI)
# do not include the (obsolete) MPI C++ bindings which makes
# for leaner object files and avoids namespace conflicts
set(MPI_CXX_SKIP_MPICXX TRUE)
# We use a non-standard procedure to cross-compile with MPI on Windows
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
include(MPI4WIN)
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()
target_link_libraries(lammps PUBLIC MPI::MPI_CXX)
else()
file(GLOB MPI_SOURCES ${LAMMPS_SOURCE_DIR}/STUBS/mpi.cpp)
add_library(mpi_stubs STATIC ${MPI_SOURCES})
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>)
if(BUILD_SHARED_LIBS)
target_link_libraries(lammps PRIVATE mpi_stubs)
target_include_directories(lammps INTERFACE $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}/STUBS>)
target_compile_definitions(lammps INTERFACE $<INSTALL_INTERFACE:LAMMPS_LIB_NO_MPI>)
else()
target_link_libraries(lammps PUBLIC mpi_stubs)
endif()
add_library(MPI::MPI_CXX ALIAS mpi_stubs)
target_sources(lammps PRIVATE ${LAMMPS_SOURCE_DIR}/STUBS/mpi.cpp)
add_library(mpi_stubs INTERFACE)
target_include_directories(mpi_stubs INTERFACE $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}/STUBS>)
target_link_libraries(lammps PUBLIC mpi_stubs)
endif()
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
@ -213,7 +349,9 @@ string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES)
target_compile_definitions(lammps PUBLIC -DLAMMPS_${LAMMPS_SIZES})
# posix_memalign is not available on Windows
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
# with INTEL package and Intel compilers we use TBB's aligned malloc
if((CMAKE_SYSTEM_NAME STREQUAL "Windows")
AND NOT (PKG_INTEL AND ((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM"))))
set(LAMMPS_MEMALIGN "0" CACHE STRING "posix_memalign() is not available on Windows" FORCE)
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")
@ -229,12 +367,17 @@ endif()
# "hard" dependencies between packages resulting
# in an error instead of skipping over files
pkg_depends(MLIAP SNAP)
pkg_depends(ML-IAP ML-SNAP)
pkg_depends(MPIIO MPI)
pkg_depends(USER-ATC MANYBODY)
pkg_depends(USER-LB MPI)
pkg_depends(USER-PHONON KSPACE)
pkg_depends(USER-SCAFACOS MPI)
pkg_depends(ATC MANYBODY)
pkg_depends(LATBOLTZ MPI)
pkg_depends(SCAFACOS MPI)
pkg_depends(AMOEBA KSPACE)
pkg_depends(DIELECTRIC KSPACE)
pkg_depends(DIELECTRIC EXTRA-PAIR)
pkg_depends(CG-DNA MOLECULE)
pkg_depends(CG-DNA ASPHERE)
pkg_depends(ELECTRODE KSPACE)
# detect if we may enable OpenMP support by default
set(BUILD_OMP_DEFAULT OFF)
@ -256,24 +399,29 @@ if(BUILD_OMP)
endif()
if(((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)) OR
(CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR
(CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR (CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC") OR
(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM") OR (CMAKE_CXX_COMPILER_ID STREQUAL "XLClang") OR
((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0)))
# GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts.
# Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe.
target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=4)
set(LAMMPS_OMP_COMPAT_LEVEL 4)
else()
target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=3)
set(LAMMPS_OMP_COMPAT_LEVEL 3)
endif()
target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=${LAMMPS_OMP_COMPAT_LEVEL})
target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX)
target_link_libraries(lmp PRIVATE OpenMP::OpenMP_CXX)
endif()
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
if(PKG_MSCG OR PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_LATTE OR PKG_ELECTRODE)
enable_language(C)
find_package(LAPACK)
find_package(BLAS)
if(NOT LAPACK_FOUND OR NOT BLAS_FOUND)
if (NOT USE_INTERNAL_LINALG)
find_package(LAPACK)
find_package(BLAS)
endif()
if(NOT LAPACK_FOUND OR NOT BLAS_FOUND OR USE_INTERNAL_LINALG)
include(CheckGeneratorSupport)
if(NOT CMAKE_GENERATOR_SUPPORT_FORTRAN)
status(FATAL_ERROR "Cannot build internal linear algebra library as CMake build tool lacks Fortran support")
@ -289,6 +437,8 @@ if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
endif()
endif()
# tweak jpeg library names to avoid linker errors with MinGW cross-compilation
set(JPEG_NAMES libjpeg libjpeg-62)
find_package(JPEG QUIET)
option(WITH_JPEG "Enable JPEG support" ${JPEG_FOUND})
if(WITH_JPEG)
@ -348,8 +498,8 @@ else()
set(CUDA_REQUEST_PIC)
endif()
foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED
USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE)
foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI COLVARS ML-HDNNP MDI MOLFILE NETCDF
PLUMED QMMM ML-QUIP SCAFACOS MACHDYN VTK KIM LATTE MSCG COMPRESS ML-PACE)
if(PKG_${PKG_WITH_INCL})
include(Packages/${PKG_WITH_INCL})
endif()
@ -366,6 +516,7 @@ set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler and machine
separate_arguments(CMAKE_TUNE_FLAGS)
foreach(_FLAG ${CMAKE_TUNE_FLAGS})
target_compile_options(lammps PRIVATE ${_FLAG})
target_compile_options(lmp PRIVATE ${_FLAG})
endforeach()
########################################################################
# Basic system tests (standard libraries, headers, functions, types) #
@ -377,9 +528,12 @@ foreach(HEADER cmath)
endif(NOT FOUND_${HEADER})
endforeach(HEADER)
set(MATH_LIBRARIES "m" CACHE STRING "math library")
mark_as_advanced( MATH_LIBRARIES )
target_link_libraries(lammps PRIVATE ${MATH_LIBRARIES})
# make the standard math library overrideable and autodetected (for systems that don't have it)
find_library(STANDARD_MATH_LIB m DOC "Standard Math library")
mark_as_advanced(STANDARD_MATH_LIB)
if(STANDARD_MATH_LIB)
target_link_libraries(lammps PRIVATE ${STANDARD_MATH_LIB})
endif()
######################################
# Generate Basic Style files
@ -442,9 +596,8 @@ endforeach()
##############################################
# add lib sources of (simple) enabled packages
############################################
foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-MESONT)
if(PKG_${SIMPLE_LIB})
string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}")
foreach(PKG_LIB POEMS ATC AWPMD H5MD MESONT)
if(PKG_${PKG_LIB})
string(TOLOWER "${PKG_LIB}" PKG_LIB)
if(PKG_LIB STREQUAL "mesont")
enable_language(Fortran)
@ -468,48 +621,48 @@ foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-MESONT)
endif()
endforeach()
if(PKG_USER-AWPMD)
if(PKG_ELECTRODE)
target_link_libraries(lammps PRIVATE ${LAPACK_LIBRARIES})
endif()
if(PKG_AWPMD)
target_link_libraries(awpmd PRIVATE ${LAPACK_LIBRARIES})
endif()
if(PKG_USER-ATC)
if(PKG_ATC)
if(LAMMPS_SIZES STREQUAL "BIGBIG")
message(FATAL_ERROR "The USER-ATC Package is not compatible with -DLAMMPS_BIGBIG")
message(FATAL_ERROR "The ATC Package is not compatible with -DLAMMPS_BIGBIG")
endif()
target_link_libraries(atc PRIVATE ${LAPACK_LIBRARIES})
if(BUILD_MPI)
target_link_libraries(atc PRIVATE MPI::MPI_CXX)
target_link_libraries(atc PRIVATE ${LAPACK_LIBRARIES} MPI::MPI_CXX)
else()
target_link_libraries(atc PRIVATE mpi_stubs)
target_link_libraries(atc PRIVATE ${LAPACK_LIBRARIES} mpi_stubs)
endif()
target_include_directories(atc PRIVATE ${LAMMPS_SOURCE_DIR})
target_compile_definitions(atc PRIVATE -DLAMMPS_${LAMMPS_SIZES})
endif()
if(PKG_USER-H5MD)
include(Packages/USER-H5MD)
if(PKG_H5MD)
include(Packages/H5MD)
endif()
######################################################################
# packages which selectively include variants based on enabled styles
# e.g. accelerator packages
######################################################################
foreach(PKG_WITH_INCL CORESHELL QEQ USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU)
foreach(PKG_WITH_INCL CORESHELL DPD-SMOOTH MISC PHONON QEQ OPENMP KOKKOS OPT INTEL GPU)
if(PKG_${PKG_WITH_INCL})
include(Packages/${PKG_WITH_INCL})
endif()
endforeach()
if(PKG_PLUGIN)
if(BUILD_SHARED_LIBS)
target_compile_definitions(lammps PRIVATE -DLMP_PLUGIN)
else()
message(WARNING "Plugin loading will not work unless BUILD_SHARED_LIBS is enabled")
endif()
# link with -ldl or equivalent for plugin loading; except on Windows
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
target_link_libraries(lammps PRIVATE ${CMAKE_DL_LIBS})
endif()
target_compile_definitions(lammps PRIVATE -DLMP_PLUGIN)
endif()
# link with -ldl or equivalent for plugin loading; except on Windows
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
target_link_libraries(lammps PRIVATE ${CMAKE_DL_LIBS})
endif()
######################################################################
@ -518,7 +671,7 @@ endif()
# and after everything else that is compiled locally
######################################################################
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
target_link_libraries(lammps PRIVATE -lwsock32 -lpsapi)
target_link_libraries(lammps PRIVATE "wsock32;psapi")
endif()
######################################################
@ -579,6 +732,7 @@ endif()
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_MACHINE})
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
set_target_properties(lammps PROPERTIES PREFIX "lib")
target_include_directories(lammps PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/lammps>)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps)
foreach(_HEADER ${LAMMPS_CXX_HEADERS})
@ -598,6 +752,9 @@ foreach(_DEF ${LAMMPS_DEFINES})
endforeach()
if(BUILD_SHARED_LIBS)
install(TARGETS lammps EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
if(NOT BUILD_MPI)
install(TARGETS mpi_stubs EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(EXPORT LAMMPS_Targets FILE LAMMPS_Targets.cmake NAMESPACE LAMMPS:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS)
@ -637,21 +794,29 @@ install(
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.9 3.8 3.7 3.6 3.5)
set(Python_ADDITIONAL_VERSIONS 3.12 3.11 3.10 3.9 3.8 3.7 3.6)
find_package(PythonInterp) # Deprecated since version 3.12
if(PYTHONINTERP_FOUND)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
else()
# backward compatibility
if(PYTHON_EXECUTABLE)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
find_package(Python COMPONENTS Interpreter)
endif()
if(BUILD_IS_MULTI_CONFIG)
set(MY_BUILD_DIR ${CMAKE_BINARY_DIR}/$<CONFIG>)
else()
set(MY_BUILD_DIR ${CMAKE_BINARY_DIR})
endif()
set(LIBLAMMPS_SHARED_BINARY ${MY_BUILD_DIR}/liblammps${LAMMPS_MACHINE}${CMAKE_SHARED_LIBRARY_SUFFIX})
if(Python_EXECUTABLE)
add_custom_target(
install-python ${CMAKE_COMMAND} -E remove_directory build
COMMAND ${Python_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h
-p ${LAMMPS_PYTHON_DIR}/lammps
-l ${CMAKE_BINARY_DIR}/liblammps${LAMMPS_MACHINE}${CMAKE_SHARED_LIBRARY_SUFFIX}
WORKING_DIRECTORY ${LAMMPS_PYTHON_DIR}
COMMAND ${Python_EXECUTABLE} ${LAMMPS_PYTHON_DIR}/install.py -p ${LAMMPS_PYTHON_DIR}/lammps
-l ${LIBLAMMPS_SHARED_BINARY} -w ${MY_BUILD_DIR}
COMMENT "Installing LAMMPS Python module")
else()
add_custom_target(
@ -671,11 +836,17 @@ endif()
###############################################################################
if(BUILD_SHARED_LIBS OR PKG_PYTHON)
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.12 3.11 3.10 3.9 3.8 3.7 3.6)
find_package(PythonInterp) # Deprecated since version 3.12
if(PYTHONINTERP_FOUND)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
else()
# backward compatibility
if(PYTHON_EXECUTABLE)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
find_package(Python COMPONENTS Interpreter)
endif()
if(Python_EXECUTABLE)
@ -687,13 +858,26 @@ endif()
include(Testing)
include(CodeCoverage)
include(CodingStandard)
find_package(ClangFormat 8.0)
if(ClangFormat_FOUND)
add_custom_target(format-src
COMMAND ${ClangFormat_EXECUTABLE} --verbose -i -style=file *.cpp *.h */*.cpp */*.h
WORKING_DIRECTORY ${LAMMPS_SOURCE_DIR})
endif()
get_target_property(DEFINES lammps COMPILE_DEFINITIONS)
if(BUILD_IS_MULTI_CONFIG)
set(LAMMPS_BUILD_TYPE "Multi-Config")
else()
set(LAMMPS_BUILD_TYPE ${CMAKE_BUILD_TYPE})
endif()
include(FeatureSummary)
feature_summary(DESCRIPTION "The following tools and libraries have been found and configured:" WHAT PACKAGES_FOUND)
message(STATUS "<<< Build configuration >>>
LAMMPS Version: ${PROJECT_VERSION}
Operating System: ${CMAKE_SYSTEM_NAME} ${CMAKE_LINUX_DISTRO} ${CMAKE_DISTRO_VERSION}
Build type: ${CMAKE_BUILD_TYPE}
Build type: ${LAMMPS_BUILD_TYPE}
Install path: ${CMAKE_INSTALL_PREFIX}
Generator: ${CMAKE_GENERATOR} using ${CMAKE_MAKE_PROGRAM}")
###############################################################################
@ -801,6 +985,12 @@ if(PKG_KSPACE)
else()
message(STATUS "Kokkos FFT: cuFFT")
endif()
elseif(Kokkos_ENABLE_HIP)
if(FFT STREQUAL "KISS")
message(STATUS "Kokkos FFT: KISS")
else()
message(STATUS "Kokkos FFT: hipFFT")
endif()
else()
message(STATUS "Kokkos FFT: ${FFT}")
endif()

195
cmake/CMakeLists.zlib Normal file
View File

@ -0,0 +1,195 @@
cmake_minimum_required(VERSION 3.10)
# When using CMake 3.4 and later, don't export symbols from executables unless
# the CMAKE_ENABLE_EXPORTS variable is set.
if(POLICY CMP0065)
cmake_policy(SET CMP0065 NEW)
endif()
if (POLICY CMP0077)
cmake_policy(SET CMP0077 NEW)
endif()
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
project(zlib C)
set(VERSION "1.2.11")
option(ASM686 "Enable building i686 assembly implementation" OFF)
option(AMD64 "Enable building amd64 assembly implementation" OFF)
set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
include(CheckTypeSize)
include(CheckFunctionExists)
include(CheckIncludeFile)
include(CheckCSourceCompiles)
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
check_include_file(stdint.h HAVE_STDINT_H)
check_include_file(stddef.h HAVE_STDDEF_H)
#
# Check to see if we have large file support
#
set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1)
# We add these other definitions here because CheckTypeSize.cmake
# in CMake 2.4.x does not automatically do so and we want
# compatibility with CMake 2.4.x.
if(HAVE_SYS_TYPES_H)
list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H)
endif()
if(HAVE_STDINT_H)
list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H)
endif()
if(HAVE_STDDEF_H)
list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H)
endif()
check_type_size(off64_t OFF64_T)
check_type_size(off64_t OFF64_T)
if(HAVE_OFF64_T)
add_definitions(-D_LARGEFILE64_SOURCE=1)
endif()
set(CMAKE_REQUIRED_DEFINITIONS) # clear variable
#
# Check for fseeko
#
check_function_exists(fseeko HAVE_FSEEKO)
if(NOT HAVE_FSEEKO)
add_definitions(-DNO_FSEEKO)
endif()
#
# Check for unistd.h
#
check_include_file(unistd.h Z_HAVE_UNISTD_H)
if(MSVC)
set(CMAKE_DEBUG_POSTFIX "d")
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
endif()
if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
# If we're doing an out of source build and the user has a zconf.h
# in their source tree...
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h)
file(RENAME ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.included)
endif()
endif()
set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein
${ZLIB_PC} @ONLY)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
#============================================================================
# zlib
#============================================================================
set(ZLIB_PUBLIC_HDRS
${CMAKE_CURRENT_BINARY_DIR}/zconf.h
zlib.h
)
set(ZLIB_PRIVATE_HDRS
crc32.h
deflate.h
gzguts.h
inffast.h
inffixed.h
inflate.h
inftrees.h
trees.h
zutil.h
)
set(ZLIB_SRCS
adler32.c
compress.c
crc32.c
deflate.c
gzclose.c
gzlib.c
gzread.c
gzwrite.c
inflate.c
infback.c
inftrees.c
inffast.c
trees.c
uncompr.c
zutil.c
)
if(NOT MINGW)
set(ZLIB_DLL_SRCS
win32/zlib1.rc # If present will override custom build rule below.
)
endif()
if(CMAKE_COMPILER_IS_GNUCC)
if(ASM686)
set(ZLIB_ASMS contrib/asm686/match.S)
elseif (AMD64)
set(ZLIB_ASMS contrib/amd64/amd64-match.S)
endif ()
if(ZLIB_ASMS)
add_definitions(-DASMV)
set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
endif()
endif()
if(MSVC)
if(ASM686)
ENABLE_LANGUAGE(ASM_MASM)
set(ZLIB_ASMS
contrib/masmx86/inffas32.asm
contrib/masmx86/match686.asm
)
elseif (AMD64)
ENABLE_LANGUAGE(ASM_MASM)
set(ZLIB_ASMS
contrib/masmx64/gvmat64.asm
contrib/masmx64/inffasx64.asm
)
endif()
if(ZLIB_ASMS)
add_definitions(-DASMV -DASMINF)
endif()
endif()
# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
"\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
if(MINGW)
# This gets us DLL resource information when compiling on MinGW.
if(NOT CMAKE_RC_COMPILER)
set(CMAKE_RC_COMPILER windres.exe)
endif()
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
COMMAND ${CMAKE_RC_COMPILER}
-D GCC_WINDRES
-I ${CMAKE_CURRENT_SOURCE_DIR}
-I ${CMAKE_CURRENT_BINARY_DIR}
-o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
-i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
endif(MINGW)
add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
if(UNIX)
# On unix-like platforms the library is almost always called libz
set_target_properties(zlibstatic PROPERTIES OUTPUT_NAME z)
endif()

308
cmake/CMakeSettings.json Normal file
View File

@ -0,0 +1,308 @@
{
"configurations": [
{
"name": "x64-Debug-MSVC",
"generator": "Ninja",
"configurationType": "Debug",
"buildRoot": "${workspaceRoot}\\build\\${name}",
"installRoot": "${workspaceRoot}\\install\\${name}",
"cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows.cmake",
"buildCommandArgs": "",
"ctestCommandArgs": "-V",
"inheritEnvironments": [ "msvc_x64_x64" ],
"variables": [
{
"name": "BUILD_SHARED_LIBS",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_TOOLS",
"value": "True",
"type": "BOOL"
},
{
"name": "LAMMPS_EXCEPTIONS",
"value": "True",
"type": "BOOL"
},
{
"name": "ENABLE_TESTING",
"value": "True",
"type": "BOOL"
}
]
},
{
"name": "x64-Release-MSVC",
"generator": "Ninja",
"configurationType": "Release",
"buildRoot": "${workspaceRoot}\\build\\${name}",
"installRoot": "${workspaceRoot}\\install\\${name}",
"cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows.cmake",
"buildCommandArgs": "",
"ctestCommandArgs": "-V",
"inheritEnvironments": [ "msvc_x64_x64" ],
"variables": [
{
"name": "BUILD_SHARED_LIBS",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_TOOLS",
"value": "True",
"type": "BOOL"
},
{
"name": "LAMMPS_EXCEPTIONS",
"value": "True",
"type": "BOOL"
},
{
"name": "ENABLE_TESTING",
"value": "True",
"type": "BOOL"
}
]
},
{
"name": "x64-Debug-Clang",
"generator": "Ninja",
"configurationType": "Debug",
"buildRoot": "${workspaceRoot}\\build\\${name}",
"installRoot": "${workspaceRoot}\\install\\${name}",
"cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows.cmake -DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl.exe",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "clang_cl_x64" ],
"variables": [
{
"name": "BUILD_SHARED_LIBS",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_TOOLS",
"value": "True",
"type": "BOOL"
},
{
"name": "LAMMPS_EXCEPTIONS",
"value": "True",
"type": "BOOL"
},
{
"name": "ENABLE_TESTING",
"value": "True",
"type": "BOOL"
}
]
},
{
"name": "x64-Release-Clang",
"generator": "Ninja",
"configurationType": "Release",
"buildRoot": "${workspaceRoot}\\build\\${name}",
"installRoot": "${workspaceRoot}\\install\\${name}",
"cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows.cmake -DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl.exe",
"buildCommandArgs": "",
"ctestCommandArgs": "-V",
"inheritEnvironments": [ "clang_cl_x64" ],
"variables": [
{
"name": "BUILD_SHARED_LIBS",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_TOOLS",
"value": "True",
"type": "BOOL"
},
{
"name": "LAMMPS_EXCEPTIONS",
"value": "True",
"type": "BOOL"
},
{
"name": "ENABLE_TESTING",
"value": "True",
"type": "BOOL"
}
]
},
{
"name": "x64-Debug-IntelLLVM",
"generator": "Ninja",
"configurationType": "Debug",
"buildRoot": "${workspaceRoot}\\build\\${name}",
"installRoot": "${workspaceRoot}\\install\\${name}",
"buildCommandArgs": "",
"ctestCommandArgs": "-V",
"inheritEnvironments": [],
"cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows-intel-llvm.cmake -C ${workspaceRoot}\\cmake\\presets\\windows.cmake",
"variables": [
{
"name": "PKG_ELECTRODE",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_SHARED_LIBS",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_TOOLS",
"value": "True",
"type": "BOOL"
},
{
"name": "LAMMPS_EXCEPTIONS",
"value": "True",
"type": "BOOL"
},
{
"name": "ENABLE_TESTING",
"value": "True",
"type": "BOOL"
},
{
"name": "FFT",
"value": "MKL",
"type": "STRING"
}
]
},
{
"name": "x64-Release-IntelLLVM",
"generator": "Ninja",
"configurationType": "Release",
"buildRoot": "${workspaceRoot}\\build\\${name}",
"installRoot": "${workspaceRoot}\\install\\${name}",
"cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows-intel-llvm.cmake -C ${workspaceRoot}\\cmake\\presets\\windows.cmake",
"buildCommandArgs": "",
"ctestCommandArgs": "-V",
"inheritEnvironments": [],
"variables": [
{
"name": "PKG_ELECTRODE",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_SHARED_LIBS",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_TOOLS",
"value": "True",
"type": "BOOL"
},
{
"name": "LAMMPS_EXCEPTIONS",
"value": "True",
"type": "BOOL"
},
{
"name": "ENABLE_TESTING",
"value": "True",
"type": "BOOL"
},
{
"name": "FFT",
"value": "MKL",
"type": "STRING"
}
]
},
{
"name": "x64-Debug-Intel-Classic",
"generator": "Ninja",
"configurationType": "Debug",
"buildRoot": "${workspaceRoot}\\build\\${name}",
"installRoot": "${workspaceRoot}\\install\\${name}",
"cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows-intel-classic.cmake -C ${workspaceRoot}\\cmake\\presets\\windows.cmake",
"buildCommandArgs": "",
"ctestCommandArgs": "-V",
"inheritEnvironments": [],
"variables": [
{
"name": "PKG_ELECTRODE",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_SHARED_LIBS",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_TOOLS",
"value": "True",
"type": "BOOL"
},
{
"name": "LAMMPS_EXCEPTIONS",
"value": "True",
"type": "BOOL"
},
{
"name": "ENABLE_TESTING",
"value": "False",
"type": "BOOL"
},
{
"name": "FFT",
"value": "MKL",
"type": "STRING"
}
]
},
{
"name": "x64-Release-Intel-Classic",
"generator": "Ninja",
"configurationType": "Release",
"buildRoot": "${workspaceRoot}\\build\\${name}",
"installRoot": "${workspaceRoot}\\install\\${name}",
"cmakeCommandArgs": "-C ${workspaceRoot}\\cmake\\presets\\windows-intel-classic.cmake -C ${workspaceRoot}\\cmake\\presets\\windows.cmake",
"buildCommandArgs": "",
"ctestCommandArgs": "-V",
"inheritEnvironments": [],
"variables": [
{
"name": "PKG_ELECTRODE",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_SHARED_LIBS",
"value": "True",
"type": "BOOL"
},
{
"name": "BUILD_TOOLS",
"value": "True",
"type": "BOOL"
},
{
"name": "LAMMPS_EXCEPTIONS",
"value": "True",
"type": "BOOL"
},
{
"name": "ENABLE_TESTING",
"value": "False",
"type": "BOOL"
},
{
"name": "FFT",
"value": "MKL",
"type": "STRING"
}
]
}
]
}

View File

@ -54,6 +54,8 @@ if(ENABLE_COVERAGE)
if(COVERAGE_FOUND)
set(PYTHON_COVERAGE_HTML_DIR ${CMAKE_BINARY_DIR}/python_coverage_html)
configure_file(.coveragerc.in ${CMAKE_BINARY_DIR}/.coveragerc @ONLY)
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/unittest/python/.coverage
COMMAND ${COVERAGE_BINARY} combine
@ -63,16 +65,16 @@ if(ENABLE_COVERAGE)
add_custom_target(
gen_python_coverage_html
COMMAND ${COVERAGE_BINARY} html -d ${PYTHON_COVERAGE_HTML_DIR}
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage
COMMAND ${COVERAGE_BINARY} html --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -d ${PYTHON_COVERAGE_HTML_DIR}
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
COMMENT "Generating HTML Python coverage report..."
)
add_custom_target(
gen_python_coverage_xml
COMMAND ${COVERAGE_BINARY} xml -o ${CMAKE_BINARY_DIR}/python_coverage.xml
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage
COMMAND ${COVERAGE_BINARY} xml --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -o ${CMAKE_BINARY_DIR}/python_coverage.xml
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
COMMENT "Generating XML Python coverage report..."
)

View File

@ -7,13 +7,13 @@ if(BUILD_DOC)
# 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})
set(VIRTUALENV ${PYTHON_EXECUTABLE} -m venv)
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})
set(VIRTUALENV ${Python3_EXECUTABLE} -m venv)
endif()
find_package(Doxygen 1.8.10 REQUIRED)

View File

@ -0,0 +1,33 @@
# Build a CMake based external library as subdirectory.
# The sources will be unpacked to ${CMAKE_BINARY_DIR}/_deps/${target}-src
# The binaries will be built in ${CMAKE_BINARY_DIR}/_deps/${target}-build
#
function(ExternalCMakeProject target url hash basedir cmakedir cmakefile)
# change settings locally
set(BUILD_SHARED_LIBS OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
get_filename_component(archive ${url} NAME)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/_deps/src)
message(STATUS "Downloading ${url}")
file(DOWNLOAD ${url} ${CMAKE_BINARY_DIR}/_deps/${archive} EXPECTED_HASH MD5=${hash} SHOW_PROGRESS)
message(STATUS "Unpacking and configuring ${archive}")
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf ${CMAKE_BINARY_DIR}/_deps/${archive}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/_deps/src)
file(GLOB TARGET_SOURCE "${CMAKE_BINARY_DIR}/_deps/src/${basedir}*")
list(LENGTH TARGET_SOURCE _num)
if(_num GREATER 1)
message(FATAL_ERROR "Inconsistent ${target} library sources. "
"Please delete ${CMAKE_BINARY_DIR}/_deps/src and re-run cmake")
endif()
file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/_deps/${target}-src)
file(RENAME ${TARGET_SOURCE} ${CMAKE_BINARY_DIR}/_deps/${target}-src)
if(NOT (cmakefile STREQUAL ""))
file(COPY ${cmakefile} DESTINATION ${CMAKE_BINARY_DIR}/_deps/${target}-src/${cmakedir}/)
get_filename_component(_cmakefile ${cmakefile} NAME)
file(RENAME "${CMAKE_BINARY_DIR}/_deps/${target}-src/${cmakedir}/${_cmakefile}"
"${CMAKE_BINARY_DIR}/_deps/${target}-src/${cmakedir}/CMakeLists.txt")
endif()
add_subdirectory("${CMAKE_BINARY_DIR}/_deps/${target}-src/${cmakedir}"
"${CMAKE_BINARY_DIR}/_deps/${target}-build")
endfunction(ExternalCMakeProject)

View File

@ -8,18 +8,19 @@
#=============================================================================
if(CMAKE_VERSION VERSION_LESS 3.12)
set(Python_ADDITIONAL_VERSIONS 3.12 3.11 3.10 3.9 3.8 3.7 3.6)
find_package(PythonInterp 3.6 QUIET) # Deprecated since version 3.12
if(PYTHONINTERP_FOUND)
set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
else()
find_package(Python3 3.6 COMPONENTS Interpreter QUIET)
find_package(Python 3.6 COMPONENTS Interpreter QUIET)
endif()
# Use the Cython executable that lives next to the Python executable
# if it is a local installation.
if(Python3_EXECUTABLE)
get_filename_component(_python_path ${Python3_EXECUTABLE} PATH)
if(Python_EXECUTABLE)
get_filename_component(_python_path ${Python_EXECUTABLE} PATH)
find_program(Cythonize_EXECUTABLE
NAMES cythonize3 cythonize cythonize.bat
HINTS ${_python_path})

View File

@ -38,7 +38,7 @@ if(FFTW3_FOUND)
add_library(FFTW3::FFTW3_OMP UNKNOWN IMPORTED)
set_target_properties(FFTW3::FFTW3_OMP PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${FFTW3_OMP_LIBRARY}"
IMPORTED_LOCATION "${FFTW3_OMP_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${FFTW3_INCLUDE_DIRS}")
endif()
endif()

View File

@ -37,7 +37,7 @@ if(FFTW3F_FOUND)
add_library(FFTW3F::FFTW3F_OMP UNKNOWN IMPORTED)
set_target_properties(FFTW3F::FFTW3F_OMP PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${FFTW3F_OMP_LIBRARY}"
IMPORTED_LOCATION "${FFTW3F_OMP_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${FFTW3F_INCLUDE_DIRS}")
endif()
endif()

View File

@ -22,7 +22,7 @@ find_library(N2P2_LIBNNPIF NAMES nnpif HINTS "${N2P2_DIR}/lib")
#
# target_compile_definitions(lammps PRIVATE -DN2P2_NO_SF_GROUPS)
#
# to "lib/lammps-extra.cmake" which is then included by USER-HDNNP.cmake.
# to "lib/lammps-extra.cmake" which is then included by ML-HDNNP.cmake.
find_file(N2P2_CMAKE_EXTRA NAMES lammps-extra.cmake HINTS "${N2P2_DIR}/lib")
find_package_handle_standard_args(N2P2 DEFAULT_MSG

View File

@ -1,81 +0,0 @@
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)
set(GTEST_URL "https://github.com/google/googletest/archive/release-1.10.0.tar.gz" CACHE STRING "URL for GTest tarball")
set(GTEST_MD5 "ecd1fa65e7de707cd5c00bdac56022cd" CACHE STRING "MD5 checksum of GTest tarball")
mark_as_advanced(GTEST_URL)
mark_as_advanced(GTEST_MD5)
ExternalProject_Add(googletest
URL ${GTEST_URL}
URL_MD5 ${GTEST_MD5}
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/libgtest${GTEST_LIB_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}
<BINARY_DIR>/lib/libgmock${GTEST_LIB_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}
<BINARY_DIR>/lib/libgtest_main${GTEST_LIB_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}
<BINARY_DIR>/lib/libgmock_main${GTEST_LIB_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}
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/libgtest${GTEST_LIB_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
set(GMOCK_LIBRARY_PATH ${BINARY_DIR}/lib/libgmock${GTEST_LIB_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
set(GTEST_MAIN_LIBRARY_PATH ${BINARY_DIR}/lib/libgtest_main${GTEST_LIB_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
set(GMOCK_MAIN_LIBRARY_PATH ${BINARY_DIR}/lib/libgmock_main${GTEST_LIB_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
# 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}
INTERFACE_LINK_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}
INTERFACE_LINK_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}
INTERFACE_LINK_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}
INTERFACE_LINK_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
add_dependencies(GTest::GMockMain googletest)

View File

@ -0,0 +1,208 @@
# CMake script code to define LAMMPS settings required for building LAMMPS plugins
# enforce out-of-source build
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
message(FATAL_ERROR "In-source builds are not allowed. You must create and use a build directory. "
"Please remove CMakeCache.txt and CMakeFiles first.")
endif()
set(LAMMPS_THIRDPARTY_URL "https://download.lammps.org/thirdparty"
CACHE STRING "URL for thirdparty package downloads")
# global LAMMPS/plugin build settings
set(LAMMPS_SOURCE_DIR "" CACHE PATH "Location of LAMMPS sources folder")
if(NOT LAMMPS_SOURCE_DIR)
message(FATAL_ERROR "Must set LAMMPS_SOURCE_DIR")
endif()
# by default, install into $HOME/.local (not /usr/local),
# so that no root access (and sudo) is needed
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "Default install path" FORCE)
endif()
# ugly hacks for MSVC which by default always reports an old C++ standard in the __cplusplus macro
# and prints lots of pointless warnings about "unsafe" functions
if(MSVC)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
add_compile_options(/Zc:__cplusplus)
add_compile_options(/wd4244)
add_compile_options(/wd4267)
if(LAMMPS_EXCEPTIONS)
add_compile_options(/EHsc)
endif()
endif()
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
endif()
# C++11 is required
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Need -restrict with Intel compilers
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict")
endif()
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
#######
# helper functions from LAMMPSUtils.cmake
function(validate_option name values)
string(TOLOWER ${${name}} needle_lower)
string(TOUPPER ${${name}} needle_upper)
list(FIND ${values} ${needle_lower} IDX_LOWER)
list(FIND ${values} ${needle_upper} IDX_UPPER)
if(${IDX_LOWER} LESS 0 AND ${IDX_UPPER} LESS 0)
list_to_bulletpoints(POSSIBLE_VALUE_LIST ${${values}})
message(FATAL_ERROR "\n########################################################################\n"
"Invalid value '${${name}}' for option ${name}\n"
"\n"
"Possible values are:\n"
"${POSSIBLE_VALUE_LIST}"
"########################################################################")
endif()
endfunction(validate_option)
# helper function for getting the most recently modified file or folder from a glob pattern
function(get_newest_file path variable)
file(GLOB _dirs ${path})
set(_besttime 2000-01-01T00:00:00)
set(_bestfile "<unknown>")
foreach(_dir ${_dirs})
file(TIMESTAMP ${_dir} _newtime)
if(_newtime IS_NEWER_THAN _besttime)
set(_bestfile ${_dir})
set(_besttime ${_newtime})
endif()
endforeach()
if(_bestfile STREQUAL "<unknown>")
message(FATAL_ERROR "Could not find valid path at: ${path}")
endif()
set(${variable} ${_bestfile} PARENT_SCOPE)
endfunction()
# get LAMMPS version date
function(get_lammps_version version_header variable)
file(STRINGS ${version_header} line REGEX LAMMPS_VERSION)
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\1\\2\\3" date "${line}")
set(${variable} "${date}" PARENT_SCOPE)
endfunction()
#################################################################################
# LAMMPS C++ interface. We only need the header related parts except on windows.
add_library(lammps INTERFACE)
target_include_directories(lammps INTERFACE ${LAMMPS_SOURCE_DIR})
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a)
endif()
################################################################################
# MPI configuration
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()
if(BUILD_MPI)
# do not include the (obsolete) MPI C++ bindings which makes
# for leaner object files and avoids namespace conflicts
set(MPI_CXX_SKIP_MPICXX TRUE)
# We use a non-standard procedure to cross-compile with MPI on Windows
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
# Download and configure custom MPICH files for Windows
message(STATUS "Downloading and configuring MPICH-1.4.1 for Windows")
set(MPICH2_WIN64_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/mpich2-win64-devel.tar.gz" CACHE STRING "URL for MPICH2 (win64) tarball")
set(MPICH2_WIN32_DEVEL_URL "${LAMMPS_THIRDPARTY_URL}/mpich2-win32-devel.tar.gz" CACHE STRING "URL for MPICH2 (win32) tarball")
set(MPICH2_WIN64_DEVEL_MD5 "4939fdb59d13182fd5dd65211e469f14" CACHE STRING "MD5 checksum of MPICH2 (win64) tarball")
set(MPICH2_WIN32_DEVEL_MD5 "a61d153500dce44e21b755ee7257e031" CACHE STRING "MD5 checksum of MPICH2 (win32) tarball")
mark_as_advanced(MPICH2_WIN64_DEVEL_URL)
mark_as_advanced(MPICH2_WIN32_DEVEL_URL)
mark_as_advanced(MPICH2_WIN64_DEVEL_MD5)
mark_as_advanced(MPICH2_WIN32_DEVEL_MD5)
include(ExternalProject)
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
ExternalProject_Add(mpi4win_build
URL ${MPICH2_WIN64_DEVEL_URL}
URL_MD5 ${MPICH2_WIN64_DEVEL_MD5}
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmpi.a)
else()
ExternalProject_Add(mpi4win_build
URL ${MPICH2_WIN32_DEVEL_URL}
URL_MD5 ${MPICH2_WIN32_DEVEL_MD5}
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libmpi.a)
endif()
ExternalProject_get_property(mpi4win_build SOURCE_DIR)
file(MAKE_DIRECTORY "${SOURCE_DIR}/include")
add_library(MPI::MPI_CXX UNKNOWN IMPORTED)
set_target_properties(MPI::MPI_CXX PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libmpi.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include"
INTERFACE_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX")
add_dependencies(MPI::MPI_CXX mpi4win_build)
# set variables for status reporting at the end of CMake run
set(MPI_CXX_INCLUDE_PATH "${SOURCE_DIR}/include")
set(MPI_CXX_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX")
set(MPI_CXX_LIBRARIES "${SOURCE_DIR}/lib/libmpi.a")
else()
find_package(MPI REQUIRED)
option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF)
if(LAMMPS_LONGLONG_TO_LONG)
target_compile_definitions(lammps INTERFACE -DLAMMPS_LONGLONG_TO_LONG)
endif()
endif()
target_link_libraries(lammps INTERFACE MPI::MPI_CXX)
else()
add_library(mpi_stubs INTERFACE)
target_include_directories(mpi_stubs INTERFACE $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}/STUBS>)
target_link_libraries(lammps INTERFACE mpi_stubs)
endif()
################################################################################
# detect if we may enable OpenMP support by default
set(BUILD_OMP_DEFAULT OFF)
find_package(OpenMP QUIET)
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 the 'omp.h' header file required for full OpenMP support")
endif()
if (((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)) OR
(CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0)))
# GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts.
# Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe.
target_compile_definitions(lammps INTERFACE -DLAMMPS_OMP_COMPAT=4)
else()
target_compile_definitions(lammps INTERFACE -DLAMMPS_OMP_COMPAT=3)
endif()
target_link_libraries(lammps INTERFACE OpenMP::OpenMP_CXX)
endif()
################
# integer size selection
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall)
set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES})
validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES)
string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES)
target_compile_definitions(lammps INTERFACE -DLAMMPS_${LAMMPS_SIZES})

View File

@ -24,8 +24,26 @@ function(validate_option name values)
endif()
endfunction(validate_option)
# helper function for getting the most recently modified file or folder from a glob pattern
function(get_newest_file path variable)
file(GLOB _dirs ${path})
set(_besttime 2000-01-01T00:00:00)
set(_bestfile "<unknown>")
foreach(_dir ${_dirs})
file(TIMESTAMP ${_dir} _newtime)
if(_newtime IS_NEWER_THAN _besttime)
set(_bestfile ${_dir})
set(_besttime ${_newtime})
endif()
endforeach()
if(_bestfile STREQUAL "<unknown>")
message(FATAL_ERROR "Could not find valid path at: ${path}")
endif()
set(${variable} ${_bestfile} PARENT_SCOPE)
endfunction()
function(get_lammps_version version_header variable)
file(READ ${version_header} line)
file(STRINGS ${version_header} line REGEX LAMMPS_VERSION)
set(MONTHS x Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\1" day "${line}")
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\2" month "${line}")
@ -67,7 +85,7 @@ endfunction()
macro(pkg_depends PKG1 PKG2)
if(PKG_${PKG1} AND NOT (PKG_${PKG2} OR BUILD_${PKG2}))
message(FATAL_ERROR "${PKG1} package needs LAMMPS to be build with ${PKG2}")
message(FATAL_ERROR "The ${PKG1} package needs LAMMPS to be build with the ${PKG2} package")
endif()
endmacro()
@ -85,7 +103,7 @@ endfunction(GenerateBinaryHeader)
# fetch missing potential files
function(FetchPotentials pkgfolder potfolder)
if (EXISTS "${pkgfolder}/potentials.txt")
if(EXISTS "${pkgfolder}/potentials.txt")
file(STRINGS "${pkgfolder}/potentials.txt" linelist REGEX "^[^#].")
foreach(line ${linelist})
string(FIND ${line} " " blank)

View File

@ -1,50 +1,11 @@
message(STATUS "Downloading and building OpenCL loader library")
set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2021.05.02.tar.gz" CACHE STRING "URL for OpenCL loader tarball")
set(OPENCL_LOADER_MD5 "29180b05056578afda92f0d394c3a373" CACHE STRING "MD5 checksum of OpenCL loader tarball")
set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2022.01.04.tar.gz" CACHE STRING "URL for OpenCL loader tarball")
set(OPENCL_LOADER_MD5 "8d3a801e87a2c6653bf0e27707063914" CACHE STRING "MD5 checksum of OpenCL loader tarball")
mark_as_advanced(OPENCL_LOADER_URL)
mark_as_advanced(OPENCL_LOADER_MD5)
include(ExternalProject)
ExternalProject_Add(opencl_loader
URL ${OPENCL_LOADER_URL}
URL_MD5 ${OPENCL_LOADER_MD5}
SOURCE_DIR "${CMAKE_BINARY_DIR}/opencl_loader-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/opencl_loader-build"
CMAKE_ARGS ${CMAKE_REQUEST_PIC} ${CMAKE_EXTRA_OPENCL_LOADER_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>/libOpenCL${CMAKE_STATIC_LIBRARY_SUFFIX}
LOG_DOWNLOAD ON
LOG_CONFIGURE ON
LOG_BUILD ON
INSTALL_COMMAND ""
TEST_COMMAND "")
ExternalProject_Get_Property(opencl_loader SOURCE_DIR)
set(OPENCL_LOADER_INCLUDE_DIR ${SOURCE_DIR}/inc)
# workaround for CMake 3.10 on ubuntu 18.04
file(MAKE_DIRECTORY ${OPENCL_LOADER_INCLUDE_DIR})
ExternalProject_Get_Property(opencl_loader BINARY_DIR)
set(OPENCL_LOADER_LIBRARY_PATH "${BINARY_DIR}/libOpenCL${CMAKE_STATIC_LIBRARY_SUFFIX}")
find_package(Threads QUIET)
if(NOT WIN32)
set(OPENCL_LOADER_DEP_LIBS "Threads::Threads;${CMAKE_DL_LIBS}")
else()
set(OPENCL_LOADER_DEP_LIBS "cfgmgr32;runtimeobject")
endif()
add_library(OpenCL::OpenCL UNKNOWN IMPORTED)
add_dependencies(OpenCL::OpenCL opencl_loader)
set_target_properties(OpenCL::OpenCL PROPERTIES
IMPORTED_LOCATION ${OPENCL_LOADER_LIBRARY_PATH}
INTERFACE_INCLUDE_DIRECTORIES ${OPENCL_LOADER_INCLUDE_DIR}
INTERFACE_LINK_LIBRARIES "${OPENCL_LOADER_DEP_LIBS}")
set(INSTALL_LIBOPENCL OFF CACHE BOOL "" FORCE)
include(ExternalCMakeProject)
ExternalCMakeProject(opencl_loader ${OPENCL_LOADER_URL} ${OPENCL_LOADER_MD5} opencl-loader . "")
add_library(OpenCL::OpenCL ALIAS OpenCL)

View File

@ -0,0 +1,43 @@
set(COLVARS_SOURCE_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars)
file(GLOB COLVARS_SOURCES ${COLVARS_SOURCE_DIR}/[^.]*.cpp)
option(COLVARS_DEBUG "Debugging messages for Colvars (quite verbose)" OFF)
# 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 -DCOLVARS_LAMMPS)
separate_arguments(CMAKE_TUNE_FLAGS)
foreach(_FLAG ${CMAKE_TUNE_FLAGS})
target_compile_options(colvars PRIVATE ${_FLAG})
endforeach()
set_target_properties(colvars PROPERTIES OUTPUT_NAME lammps_colvars${LAMMPS_MACHINE})
target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars)
# The line below is needed to locate math_eigen_impl.h
target_include_directories(colvars PRIVATE ${LAMMPS_SOURCE_DIR})
target_link_libraries(lammps PRIVATE colvars)
if(COLVARS_DEBUG)
# Need to export the macro publicly to also affect the proxy
target_compile_definitions(colvars PUBLIC -DCOLVARS_DEBUG)
endif()
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,10 +1,11 @@
find_package(ZLIB REQUIRED)
target_link_libraries(lammps PRIVATE ZLIB::ZLIB)
find_package(PkgConfig REQUIRED)
pkg_check_modules(Zstd IMPORTED_TARGET libzstd>=1.4)
if(Zstd_FOUND)
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(Zstd IMPORTED_TARGET libzstd>=1.4)
if(Zstd_FOUND)
target_compile_definitions(lammps PRIVATE -DLAMMPS_ZSTD)
target_link_libraries(lammps PRIVATE PkgConfig::Zstd)
endif()
endif()

View File

@ -0,0 +1,13 @@
# Fix rigid/meso requires RIGID to be installed
set(DPD-SMOOTH_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/DPD-SMOOTH)
get_property(hlist GLOBAL PROPERTY FIX)
if(NOT PKG_RIGID)
list(REMOVE_ITEM hlist ${DPD-SMOOTH_SOURCES_DIR}/fix_rigid_meso.h)
get_target_property(LAMMPS_SOURCES lammps SOURCES)
list(REMOVE_ITEM LAMMPS_SOURCES ${DPD-SMOOTH_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 ${DPD-SMOOTH_SOURCES_DIR})

View File

@ -30,7 +30,15 @@ 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_package(CUDA QUIET)
# augment search path for CUDA toolkit libraries to include the stub versions. Needed to find libcuda.so on machines without a CUDA driver installation
if(CUDA_FOUND)
set(CMAKE_LIBRARY_PATH "${CUDA_TOOLKIT_ROOT_DIR}/lib64/stubs;${CUDA_TOOLKIT_ROOT_DIR}/lib/stubs;${CUDA_TOOLKIT_ROOT_DIR}/lib64;${CUDA_TOOLKIT_ROOT_DIR}/lib;${CMAKE_LIBRARY_PATH}")
find_package(CUDA REQUIRED)
else()
message(FATAL_ERROR "CUDA Toolkit not found")
endif()
find_program(BIN2C bin2c)
if(NOT BIN2C)
message(FATAL_ERROR "Could not find bin2c, use -DBIN2C=/path/to/bin2c to help cmake finding it.")
@ -71,44 +79,55 @@ if(GPU_API STREQUAL "CUDA")
# 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_EQUAL "3.2") 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.0) is supported by CUDA 5 to CUDA 10.2
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "11.0"))
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_30,code=[sm_30,compute_30] ")
endif()
# Kepler (GPU Arch 3.5) is supported by CUDA 5 to CUDA 11
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "12.0"))
string(APPEND GPU_CUDA_GENCODE " -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_EQUAL "6.0")
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_EQUAL "8.0")
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_EQUAL "9.0")
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_EQUAL "10.0")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_75,code=[sm_75,compute_75]")
endif()
# Ampere (GPU Arch 8.0) is supported by CUDA 11 and later
if(CUDA_VERSION VERSION_GREATER_EQUAL "11.0")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_80,code=[sm_80,compute_80]")
endif()
# Ampere (GPU Arch 8.6) is supported by CUDA 11.1 and later
if(CUDA_VERSION VERSION_GREATER_EQUAL "11.1")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_86,code=[sm_86,compute_86]")
endif()
if(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
message(WARNING "Unsupported CUDA version. Use at your own risk.")
# apply the following to build "fat" CUDA binaries only for known CUDA toolkits since version 8.0
# only the Kepler achitecture and beyond is supported
if(CUDA_VERSION VERSION_LESS 8.0)
message(FATAL_ERROR "CUDA Toolkit version 8.0 or later is required")
elseif(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
message(WARNING "Untested CUDA Toolkit version ${CUDA_VERSION}. Use at your own risk")
set(GPU_CUDA_GENCODE "-arch=all")
else()
# Kepler (GPU Arch 3.0) is supported by CUDA 5 to CUDA 10.2
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "11.0"))
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_30,code=[sm_30,compute_30] ")
endif()
# Kepler (GPU Arch 3.5) is supported by CUDA 5 to CUDA 11
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "12.0"))
string(APPEND GPU_CUDA_GENCODE " -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_EQUAL "6.0")
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_EQUAL "8.0")
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_EQUAL "9.0")
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_EQUAL "10.0")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_75,code=[sm_75,compute_75]")
endif()
# Ampere (GPU Arch 8.0) is supported by CUDA 11 and later
if(CUDA_VERSION VERSION_GREATER_EQUAL "11.0")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_80,code=[sm_80,compute_80]")
endif()
# Ampere (GPU Arch 8.6) is supported by CUDA 11.1 and later
if(CUDA_VERSION VERSION_GREATER_EQUAL "11.1")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_86,code=[sm_86,compute_86]")
endif()
# Hopper (GPU Arch 9.0) is supported by CUDA 12.0? and later
if(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_90,code=[sm_90,compute_90]")
endif()
# # Lovelace (GPU Arch 9.x) is supported by CUDA 12.0? and later
#if(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
# string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_9x,code=[sm_9x,compute_9x]")
#endif()
endif()
cuda_compile_fatbin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS ${CUDA_REQUEST_PIC}
@ -214,13 +233,21 @@ elseif(GPU_API STREQUAL "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")
message(FATAL_ERROR "GPU_API=HIP requires HIP_PATH to be defined.\n"
"Either pass the HIP_PATH as a CMake option via -DHIP_PATH=... or set the HIP_PATH environment variable.")
else()
set(HIP_PATH $ENV{HIP_PATH} CACHE PATH "Path to which HIP has been installed")
set(HIP_PATH $ENV{HIP_PATH} CACHE PATH "Path to HIP installation")
endif()
endif()
set(CMAKE_MODULE_PATH "${HIP_PATH}/cmake" ${CMAKE_MODULE_PATH})
find_package(HIP REQUIRED)
if(NOT DEFINED ROCM_PATH)
if(NOT DEFINED ENV{ROCM_PATH})
set(ROCM_PATH "/opt/rocm" CACHE PATH "Path to ROCm installation")
else()
set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Path to ROCm installation")
endif()
endif()
list(APPEND CMAKE_PREFIX_PATH ${HIP_PATH} ${ROCM_PATH})
find_package(hip REQUIRED)
option(HIP_USE_DEVICE_SORT "Use GPU sorting" ON)
if(NOT DEFINED HIP_PLATFORM)
@ -235,47 +262,53 @@ elseif(GPU_API STREQUAL "HIP")
if(HIP_PLATFORM STREQUAL "hcc" OR HIP_PLATFORM STREQUAL "amd")
set(HIP_ARCH "gfx906" CACHE STRING "HIP target architecture")
elseif(HIP_PLATFORM STREQUAL "spirv")
set(HIP_ARCH "spirv" 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_EQUAL "3.2") 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.0) is supported by CUDA 5 to CUDA 10.2
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "11.0"))
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_30,code=[sm_30,compute_30]")
endif()
# Kepler (GPU Arch 3.5) is supported by CUDA 5 to CUDA 11.0
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "12.0"))
string(APPEND HIP_CUDA_GENCODE " -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_EQUAL "6.0")
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_EQUAL "8.0")
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_EQUAL "9.0")
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_EQUAL "10.0")
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_75,code=[sm_75,compute_75]")
endif()
# Ampere (GPU Arch 8.0) is supported by CUDA 11 and later
if(CUDA_VERSION VERSION_GREATER_EQUAL "11.0")
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_80,code=[sm_80,compute_80]")
endif()
if(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
message(WARNING "Unsupported CUDA version. Use at your own risk.")
if(CUDA_VERSION VERSION_LESS 8.0)
message(FATAL_ERROR "CUDA Toolkit version 8.0 or later is required")
elseif(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
message(WARNING "Untested CUDA Toolkit version ${CUDA_VERSION}. Use at your own risk")
set(HIP_CUDA_GENCODE "-arch=all")
else()
# 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}")
# Kepler (GPU Arch 3.0) is supported by CUDA 5 to CUDA 10.2
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "11.0"))
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_30,code=[sm_30,compute_30]")
endif()
# Kepler (GPU Arch 3.5) is supported by CUDA 5 to CUDA 11.0
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "12.0"))
string(APPEND HIP_CUDA_GENCODE " -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_EQUAL "6.0")
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_EQUAL "8.0")
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_EQUAL "9.0")
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_EQUAL "10.0")
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_75,code=[sm_75,compute_75]")
endif()
# Ampere (GPU Arch 8.0) is supported by CUDA 11 and later
if(CUDA_VERSION VERSION_GREATER_EQUAL "11.0")
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_80,code=[sm_80,compute_80]")
endif()
# Hopper (GPU Arch 9.0) is supported by CUDA 12.0? and later
if(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_90,code=[sm_90,compute_90]")
endif()
endif()
endif()
@ -296,12 +329,12 @@ elseif(GPU_API STREQUAL "HIP")
if(HIP_COMPILER STREQUAL "clang")
add_custom_command(OUTPUT ${CUBIN_FILE}
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --genco --offload-arch=${HIP_ARCH} -O3 -ffast-math -DUSE_HIP -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} -I${LAMMPS_LIB_SOURCE_DIR}/gpu -o ${CUBIN_FILE} ${CU_CPP_FILE}
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --genco --offload-arch=${HIP_ARCH} -O3 -DUSE_HIP -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} -I${LAMMPS_LIB_SOURCE_DIR}/gpu -o ${CUBIN_FILE} ${CU_CPP_FILE}
DEPENDS ${CU_CPP_FILE}
COMMENT "Generating ${CU_NAME}.cubin")
else()
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} -DLAMMPS_${LAMMPS_SIZES} -I${LAMMPS_LIB_SOURCE_DIR}/gpu\" -o ${CUBIN_FILE} ${CU_CPP_FILE}
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --genco -t="${HIP_ARCH}" -f=\"-O3 -DUSE_HIP -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} -I${LAMMPS_LIB_SOURCE_DIR}/gpu\" -o ${CUBIN_FILE} ${CU_CPP_FILE}
DEPENDS ${CU_CPP_FILE}
COMMENT "Generating ${CU_NAME}.cubin")
endif()
@ -310,7 +343,14 @@ elseif(GPU_API STREQUAL "HIP")
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --fatbin --use_fast_math -DUSE_HIP -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} ${HIP_CUDA_GENCODE} -I${LAMMPS_LIB_SOURCE_DIR}/gpu -o ${CUBIN_FILE} ${CU_FILE}
DEPENDS ${CU_FILE}
COMMENT "Generating ${CU_NAME}.cubin")
endif()
elseif(HIP_PLATFORM STREQUAL "spirv")
configure_file(${CU_FILE} ${CU_CPP_FILE} COPYONLY)
add_custom_command(OUTPUT ${CUBIN_FILE}
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} -c -O3 -DUSE_HIP -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} -I${LAMMPS_LIB_SOURCE_DIR}/gpu -o ${CUBIN_FILE} ${CU_CPP_FILE}
DEPENDS ${CU_CPP_FILE}
COMMENT "Gerating ${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_FILE=${CUBIN_FILE} -P ${CMAKE_CURRENT_SOURCE_DIR}/Modules/GenerateBinaryHeader.cmake
@ -322,12 +362,17 @@ elseif(GPU_API STREQUAL "HIP")
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})
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)
target_link_libraries(gpu PRIVATE hip::host)
if(HIP_USE_DEVICE_SORT)
if(HIP_PLATFORM STREQUAL "amd")
# newer version of ROCm (5.1+) require c++14 for rocprim
set_property(TARGET gpu PROPERTY CXX_STANDARD 14)
endif()
# add hipCUB
target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include)
target_compile_definitions(gpu PRIVATE -DUSE_HIP_DEVICE_SORT)
@ -374,8 +419,9 @@ elseif(GPU_API STREQUAL "HIP")
endif()
endif()
hip_add_executable(hip_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp)
add_executable(hip_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp)
target_compile_definitions(hip_get_devices PRIVATE -DUCL_HIP)
target_link_libraries(hip_get_devices hip::host)
if(HIP_PLATFORM STREQUAL "nvcc")
target_compile_definitions(gpu PRIVATE -D__HIP_PLATFORM_NVCC__)
@ -410,13 +456,12 @@ RegisterStylesExt(${GPU_SOURCES_DIR} gpu GPU_SOURCES)
RegisterFixStyle(${GPU_SOURCES_DIR}/fix_gpu.h)
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()
if(BUILD_MPI)
target_link_libraries(gpu PRIVATE MPI::MPI_CXX)
else()
target_link_libraries(gpu PRIVATE mpi_stubs)
endif()
target_compile_definitions(gpu PRIVATE -DLAMMPS_${LAMMPS_SIZES})
set_target_properties(gpu PROPERTIES OUTPUT_NAME lammps_gpu${LAMMPS_MACHINE})
target_sources(lammps PRIVATE ${GPU_SOURCES})

View File

@ -0,0 +1,14 @@
enable_language(C)
# we don't use the parallel i/o interface.
set(HDF5_PREFER_PARALLEL FALSE)
find_package(HDF5 REQUIRED)
# parallel HDF5 will import incompatible MPI headers with a serial build
if((NOT BUILD_MPI) AND HDF5_IS_PARALLEL)
message(FATAL_ERROR "Serial LAMMPS build and parallel HDF5 library are not compatible")
endif()
target_link_libraries(h5md PRIVATE ${HDF5_LIBRARIES})
target_include_directories(h5md PUBLIC ${HDF5_INCLUDE_DIRS})

View File

@ -0,0 +1,120 @@
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_INTEL)
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by 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")
if(Threads_FOUND)
target_compile_definitions(lammps PRIVATE -DLMP_INTEL_USELRT -DLMP_INTEL_LRT11)
target_link_libraries(lammps PRIVATE Threads::Threads)
else()
message(FATAL_ERROR "Must have working threads library for Long-range thread support")
endif()
endif()
if((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM"))
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
message(FATAL_ERROR "INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
endif()
else()
message(WARNING "INTEL gives best performance with Intel compilers")
endif()
find_package(TBB_MALLOC)
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") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM"))
message(WARNING "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 "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 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)
string(REGEX REPLACE "[ =\"]" "" _FLAGX ${_FLAG})
check_cxx_compiler_flag("${_FLAG}" COMPILER_SUPPORTS${_FLAGX})
if(COMPILER_SUPPORTS${_FLAGX})
separate_arguments(_FLAG UNIX_COMMAND "${_FLAG}")
target_compile_options(lammps PRIVATE ${_FLAG})
endif()
endforeach()
endif()
endif()
# collect sources
set(INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/INTEL)
set(INTEL_SOURCES ${INTEL_SOURCES_DIR}/fix_intel.cpp
${INTEL_SOURCES_DIR}/fix_nh_intel.cpp
${INTEL_SOURCES_DIR}/intel_buffers.cpp
${INTEL_SOURCES_DIR}/nbin_intel.cpp
${INTEL_SOURCES_DIR}/npair_intel.cpp)
set_property(GLOBAL PROPERTY "INTEL_SOURCES" "${INTEL_SOURCES}")
# detect styles which have a INTEL version
RegisterStylesExt(${INTEL_SOURCES_DIR} intel INTEL_SOURCES)
RegisterNBinStyle(${INTEL_SOURCES_DIR}/nbin_intel.h)
RegisterNPairStyle(${INTEL_SOURCES_DIR}/npair_intel.h)
RegisterFixStyle(${INTEL_SOURCES_DIR}/fix_intel.h)
get_property(INTEL_SOURCES GLOBAL PROPERTY INTEL_SOURCES)
if(PKG_KSPACE)
list(APPEND INTEL_SOURCES ${INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
RegisterIntegrateStyle(${INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
endif()
if(PKG_ELECTRODE)
list(APPEND INTEL_SOURCES ${INTEL_SOURCES_DIR}/electrode_accel_intel.cpp)
endif()
target_sources(lammps PRIVATE ${INTEL_SOURCES})
target_include_directories(lammps PRIVATE ${INTEL_SOURCES_DIR})

View File

@ -1,6 +1,8 @@
########################################################################
# As of version 3.3.0 Kokkos requires C++14
set(CMAKE_CXX_STANDARD 14)
if(CMAKE_CXX_STANDARD LESS 14)
message(FATAL_ERROR "The KOKKOS package requires the C++ standard to be set to at least C++14")
endif()
########################################################################
# consistency checks and Kokkos options/settings required by LAMMPS
if(Kokkos_ENABLE_CUDA)
@ -9,8 +11,14 @@ if(Kokkos_ENABLE_CUDA)
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")
if(Kokkos_ENABLE_OPENMP)
if(NOT BUILD_OMP)
message(FATAL_ERROR "Must enable BUILD_OMP with Kokkos_ENABLE_OPENMP")
else()
if(LAMMPS_OMP_COMPAT_LEVEL LESS 4)
message(FATAL_ERROR "Compiler must support OpenMP 4.0 or later with Kokkos_ENABLE_OPENMP")
endif()
endif()
endif()
########################################################################
@ -25,6 +33,8 @@ if(DOWNLOAD_KOKKOS)
endforeach()
message(STATUS "KOKKOS download requested - we will build our own")
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>")
# build KOKKOS downloaded libraries as static libraries but with PIC, if needed
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DBUILD_SHARED_LIBS=OFF")
if(CMAKE_REQUEST_PIC)
list(APPEND KOKKOS_LIB_BUILD_ARGS ${CMAKE_REQUEST_PIC})
endif()
@ -37,35 +47,48 @@ if(DOWNLOAD_KOKKOS)
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}")
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
include(ExternalProject)
set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/3.4.01.tar.gz" CACHE STRING "URL for KOKKOS tarball")
set(KOKKOS_MD5 "4c84698917c93a18985b311bb6caf84f" CACHE STRING "MD5 checksum of KOKKOS tarball")
set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/3.6.01.tar.gz" CACHE STRING "URL for KOKKOS tarball")
set(KOKKOS_MD5 "0ec97fc0c356dd65bd2487defe81a7bf" CACHE STRING "MD5 checksum of KOKKOS tarball")
mark_as_advanced(KOKKOS_URL)
mark_as_advanced(KOKKOS_MD5)
ExternalProject_Add(kokkos_build
URL ${KOKKOS_URL}
URL_MD5 ${KOKKOS_MD5}
CMAKE_ARGS ${KOKKOS_LIB_BUILD_ARGS}
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libkokkoscore.a
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libkokkoscore.a <INSTALL_DIR>/lib/libkokkoscontainers.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
add_library(LAMMPS::KOKKOSCORE UNKNOWN IMPORTED)
add_library(LAMMPS::KOKKOSCONTAINERS UNKNOWN IMPORTED)
set_target_properties(LAMMPS::KOKKOSCORE 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)
target_link_libraries(lmp PRIVATE LAMMPS::KOKKOS)
add_dependencies(LAMMPS::KOKKOS kokkos_build)
set_target_properties(LAMMPS::KOKKOSCONTAINERS PROPERTIES
IMPORTED_LOCATION "${INSTALL_DIR}/lib/libkokkoscontainers.a")
target_link_libraries(lammps PRIVATE LAMMPS::KOKKOSCORE LAMMPS::KOKKOSCONTAINERS)
target_link_libraries(lmp PRIVATE LAMMPS::KOKKOSCORE LAMMPS::KOKKOSCONTAINERS)
add_dependencies(LAMMPS::KOKKOSCORE kokkos_build)
add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build)
elseif(EXTERNAL_KOKKOS)
find_package(Kokkos 3.4.01 REQUIRED CONFIG)
find_package(Kokkos 3.6.01 REQUIRED CONFIG)
target_link_libraries(lammps PRIVATE Kokkos::kokkos)
target_link_libraries(lmp 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)
# build KOKKOS internal libraries as static libraries but with PIC, if needed
if(BUILD_SHARED_LIBS)
set(BUILD_SHARED_LIBS_WAS_ON YES)
set(BUILD_SHARED_LIBS OFF)
endif()
if(CMAKE_REQUEST_PIC)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
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
@ -73,12 +96,16 @@ else()
target_include_directories(lammps PRIVATE ${Kokkos_INCLUDE_DIRS})
target_link_libraries(lammps PRIVATE kokkos)
target_link_libraries(lmp PRIVATE kokkos)
if(BUILD_SHARED_LIBS_WAS_ON)
set(BUILD_SHARED_LIBS ON)
endif()
endif()
target_compile_definitions(lammps PRIVATE -DLMP_KOKKOS)
target_compile_definitions(lammps PUBLIC $<BUILD_INTERFACE:LMP_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_map_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
@ -103,9 +130,20 @@ if(PKG_KSPACE)
target_compile_definitions(lammps PRIVATE -DFFT_CUFFT)
target_link_libraries(lammps PRIVATE cufft)
endif()
elseif(Kokkos_ENABLE_HIP)
if(NOT (FFT STREQUAL "KISS"))
target_compile_definitions(lammps PRIVATE -DFFT_HIPFFT)
target_link_libraries(lammps PRIVATE hipfft)
endif()
endif()
endif()
if(PKG_PHONON)
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/dynamical_matrix_kokkos.cpp)
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/third_order_kokkos.cpp)
endif()
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")
# detects styles which have KOKKOS version
@ -116,7 +154,7 @@ 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)
if(PKG_DPD-REACT)
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)
@ -126,4 +164,4 @@ 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})
target_include_directories(lammps PUBLIC $<BUILD_INTERFACE:${KOKKOS_PKG_SOURCES_DIR}>)

View File

@ -19,6 +19,15 @@ if(DOWNLOAD_LATTE)
set(LATTE_MD5 "820e73a457ced178c08c71389a385de7" CACHE STRING "MD5 checksum of LATTE tarball")
mark_as_advanced(LATTE_URL)
mark_as_advanced(LATTE_MD5)
# CMake cannot pass BLAS or LAPACK library variable to external project if they are a list
list(LENGTH BLAS_LIBRARIES} NUM_BLAS)
list(LENGTH LAPACK_LIBRARIES NUM_LAPACK)
if((NUM_BLAS GREATER 1) OR (NUM_LAPACK GREATER 1) AND NOT USE_INTERNAL_LINALG)
message(FATAL_ERROR "Cannot compile downloaded LATTE library due to a technical limitation. "
"Try to configure LAMMPS with '-D USE_INTERNAL_LINALG=on' added as a workaround.")
endif()
include(ExternalProject)
ExternalProject_Add(latte_build
URL ${LATTE_URL}

View File

@ -0,0 +1,40 @@
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")
set(EIGEN3_URL "${LAMMPS_THIRDPARTY_URL}/eigen-3.4.0.tar.gz" CACHE STRING "URL for Eigen3 tarball")
set(EIGEN3_MD5 "4c527a9171d71a72a9d4186e65bea559" CACHE STRING "MD5 checksum of Eigen3 tarball")
mark_as_advanced(EIGEN3_URL)
mark_as_advanced(EIGEN3_MD5)
include(ExternalProject)
ExternalProject_Add(Eigen3_build
URL ${EIGEN3_URL}
URL_MD5 ${EIGEN3_MD5}
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()
# PGI/Nvidia compiler internals collide with vector intrinsics support in Eigen3
if((CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR (CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC"))
target_compile_definitions(lammps PRIVATE -DEIGEN_DONT_VECTORIZE)
endif()
target_compile_definitions(lammps PRIVATE -DEIGEN_NO_CUDA)

View File

@ -0,0 +1,133 @@
find_package(mdi QUIET)
if(${mdi_FOUND})
set(DOWNLOAD_MDI_DEFAULT OFF)
else()
set(DOWNLOAD_MDI_DEFAULT ON)
endif()
option(DOWNLOAD_MDI "Download and compile the MDI library instead of using an already installed one" ${DOWNLOAD_MDI_DEFAULT})
if(DOWNLOAD_MDI)
message(STATUS "MDI download requested - we will build our own")
set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.1.tar.gz" CACHE STRING "URL for MDI tarball")
set(MDI_MD5 "f9505fccd4c79301a619f6452dad4ad9" CACHE STRING "MD5 checksum for MDI tarball")
mark_as_advanced(MDI_URL)
mark_as_advanced(MDI_MD5)
enable_language(C)
# only ON/OFF are allowed for "mpi" flag when building MDI library
# so translate boolean value of BUILD_MPI
# always disable MPI when cross-compiling to Windows.
if((BUILD_MPI) AND NOT((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING))
set(MDI_USE_MPI ON)
else()
set(MDI_USE_MPI OFF)
endif()
# detect if we have python development support and thus can enable python plugins
set(MDI_USE_PYTHON_PLUGINS OFF)
if(CMAKE_VERSION VERSION_LESS 3.12)
if(NOT PYTHON_VERSION_STRING)
set(Python_ADDITIONAL_VERSIONS 3.12 3.11 3.10 3.9 3.8 3.7 3.6)
# search for interpreter first, so we have a consistent library
find_package(PythonInterp) # Deprecated since version 3.12
if(PYTHONINTERP_FOUND)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
endif()
# search for the library matching the selected interpreter
set(Python_ADDITIONAL_VERSIONS ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
find_package(PythonLibs QUIET) # Deprecated since version 3.12
if(PYTHONLIBS_FOUND)
if(NOT (PYTHON_VERSION_STRING STREQUAL PYTHONLIBS_VERSION_STRING))
message(FATAL_ERROR "Python Library version ${PYTHONLIBS_VERSION_STRING} does not match Interpreter version ${PYTHON_VERSION_STRING}")
endif()
set(MDI_USE_PYTHON_PLUGINS ON)
endif()
else()
find_package(Python QUIET COMPONENTS Development)
if(Python_Development_FOUND)
set(MDI_USE_PYTHON_PLUGINS ON)
endif()
endif()
# download/ build MDI library
# always build static library with -fpic
# support cross-compilation and ninja-build
include(ExternalProject)
ExternalProject_Add(mdi_build
URL ${MDI_URL}
URL_MD5 ${MDI_MD5}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-Dlanguage=C
-Dlibtype=STATIC
-Dmpi=${MDI_USE_MPI}
-Dplugins=ON
-Dpython_plugins=${MDI_USE_PYTHON_PLUGINS}
UPDATE_COMMAND ""
INSTALL_COMMAND ""
BUILD_BYPRODUCTS "<BINARY_DIR>/MDI_Library/libmdi.a"
)
# where is the compiled library?
ExternalProject_get_property(mdi_build BINARY_DIR)
set(MDI_BINARY_DIR "${BINARY_DIR}/MDI_Library")
# workaround for older CMake versions
file(MAKE_DIRECTORY ${MDI_BINARY_DIR})
# create imported target for the MDI library
add_library(LAMMPS::MDI UNKNOWN IMPORTED)
add_dependencies(LAMMPS::MDI mdi_build)
set_target_properties(LAMMPS::MDI PROPERTIES
IMPORTED_LOCATION "${MDI_BINARY_DIR}/libmdi.a"
INTERFACE_INCLUDE_DIRECTORIES ${MDI_BINARY_DIR}
)
set(MDI_DEP_LIBS "")
# if compiling with python plugins we need
# to add python libraries as dependency.
if(MDI_USE_PYTHON_PLUGINS)
if(CMAKE_VERSION VERSION_LESS 3.12)
list(APPEND MDI_DEP_LIBS ${PYTHON_LIBRARIES})
else()
list(APPEND MDI_DEP_LIBS Python::Python)
endif()
endif()
# need to add support for dlopen/dlsym, except when compiling for Windows.
if(NOT (CMAKE_SYSTEM_NAME STREQUAL "Windows"))
list(APPEND MDI_DEP_LIBS "${CMAKE_DL_LIBS}")
endif()
if(MDI_DEP_LIBS)
set_target_properties(LAMMPS::MDI PROPERTIES
IMPORTED_LINK_INTERFACE_LIBRARIES "${MDI_DEP_LIBS}")
endif()
target_link_libraries(lammps PRIVATE LAMMPS::MDI)
target_link_libraries(lmp PRIVATE LAMMPS::MDI)
else()
find_package(mdi)
if(NOT mdi_FOUND)
message(FATAL_ERROR "MDI library not found. Help CMake to find it "
"by setting mdi_LIBRARY and mdi_INCLUDE_DIR, or set DOWNLOAD_MDI=ON "
"to download and compile it")
endif()
# Link the lammps library against MDI
target_include_directories(lammps PRIVATE ${mdi_INCLUDE_DIR})
target_link_libraries(lammps PRIVATE ${mdi_LIBRARY})
# Link the lammps executable against MDI
target_include_directories(lmp PRIVATE ${mdi_INCLUDE_DIR})
target_link_libraries(lmp PRIVATE ${mdi_LIBRARY})
endif()
target_compile_definitions(lammps PRIVATE -DLMP_MDI)
target_compile_definitions(lmp PRIVATE -DLMP_MDI)

View File

@ -1,31 +0,0 @@
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/[^.]*.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

@ -0,0 +1,13 @@
# pair style and fix srp/react depend on the fixes bond/break and bond/create from the MC package
if(NOT PKG_MC)
get_property(LAMMPS_FIX_HEADERS GLOBAL PROPERTY FIX)
list(REMOVE_ITEM LAMMPS_FIX_HEADERS ${LAMMPS_SOURCE_DIR}/MISC/fix_srp_react.h)
set_property(GLOBAL PROPERTY FIX "${LAMMPS_FIX_HEADERS}")
get_property(LAMMPS_PAIR_HEADERS GLOBAL PROPERTY PAIR)
list(REMOVE_ITEM LAMMPS_PAIR_HEADERS ${LAMMPS_SOURCE_DIR}/MISC/pair_srp_react.h)
set_property(GLOBAL PROPERTY PAIR "${LAMMPS_PAIR_HEADERS}")
get_target_property(LAMMPS_SOURCES lammps SOURCES)
list(REMOVE_ITEM LAMMPS_SOURCES ${LAMMPS_SOURCE_DIR}/MISC/fix_srp_react.cpp)
list(REMOVE_ITEM LAMMPS_SOURCES ${LAMMPS_SOURCE_DIR}/MISC/pair_srp_react.cpp)
set_property(TARGET lammps PROPERTY SOURCES "${LAMMPS_SOURCES}")
endif()

View File

@ -0,0 +1,127 @@
find_package(N2P2 QUIET)
if(N2P2_FOUND)
set(DOWNLOAD_N2P2_DEFAULT OFF)
else()
set(DOWNLOAD_N2P2_DEFAULT ON)
endif()
option(DOWNLOAD_N2P2 "Download n2p2 library instead of using an already installed one)" ${DOWNLOAD_N2P2_DEFAULT})
if(DOWNLOAD_N2P2)
set(N2P2_URL "https://github.com/CompPhysVienna/n2p2/archive/v2.1.4.tar.gz" CACHE STRING "URL for n2p2 tarball")
set(N2P2_MD5 "9595b066636cd6b90b0fef93398297a5" CACHE STRING "MD5 checksum of N2P2 tarball")
mark_as_advanced(N2P2_URL)
mark_as_advanced(N2P2_MD5)
# adjust settings from detected compiler to compiler platform in n2p2 library
# set compiler specific flag to turn on C++11 syntax (required on macOS and CentOS 7)
if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"))
set(N2P2_COMP llvm)
set(N2P2_CXX_STD "-std=c++11")
elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM"))
set(N2P2_COMP intel)
set(N2P2_CXX_STD "-std=c++11")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(N2P2_COMP gnu)
set(N2P2_CXX_STD "-std=gnu++11")
elseif((CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR (CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC"))
set(N2P2_COMP gnu)
set(N2P2_CXX_STD "--c++11")
else() # default
set(N2P2_COMP "")
endif()
# pass on archive creator command. prefer compiler specific version, if set.
# important when using cross compiler.
if(CMAKE_CXX_COMPILER_AR)
set(N2P2_AR ${CMAKE_CXX_COMPILER_AR})
else()
set(N2P2_AR ${CMAKE_AR})
endif()
# adjust compilation of n2p2 library to whether MPI is requested in LAMMPS or not
# need special care for compiling for MPICH2 with Linux-to-Windows cross compiler.
if(NOT BUILD_MPI)
set(N2P2_PROJECT_OPTIONS "-DN2P2_NO_MPI")
else()
# get path to MPI include directory
get_target_property(N2P2_MPI_INCLUDE MPI::MPI_CXX INTERFACE_INCLUDE_DIRECTORIES)
foreach (_INCL ${N2P2_MPI_INCLUDE})
set(N2P2_PROJECT_OPTIONS "${N2P2_PROJECT_OPTIONS} -I${_INCL}")
endforeach()
endif()
# prefer GNU make, if available. N2P2 lib seems to need it.
find_program(N2P2_MAKE NAMES gmake make)
# override compiler (optimization) flags in n2p2 library to flags used for LAMMPS
# specifically -march=native can result in problems when compiling on HPC clusters or with a cross compiler
# this convoluted way gets correct quoting/escaping when configuring the external project
string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
set(N2P2_BUILD_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}} ${N2P2_CXX_STD}")
set(N2P2_BUILD_OPTIONS INTERFACES=LAMMPS COMP=${N2P2_COMP} "PROJECT_OPTIONS=${N2P2_PROJECT_OPTIONS}" "PROJECT_DEBUG="
"PROJECT_CC=${CMAKE_CXX_COMPILER}" "PROJECT_MPICC=${CMAKE_CXX_COMPILER}" "PROJECT_CFLAGS=${N2P2_BUILD_FLAGS}"
"PROJECT_AR=${N2P2_AR}" "APP_CORE=nnp-convert" "APP_TRAIN=nnp-train" "APP=nnp-convert")
# echo final flag for debugging
message(STATUS "N2P2 BUILD OPTIONS: ${N2P2_BUILD_OPTIONS}")
# must have "sed" command to compile n2p2 library (for now)
find_program(HAVE_SED sed)
if(NOT HAVE_SED)
message(FATAL_ERROR "Must have 'sed' program installed to compile 'n2p2' library for ML-HDNNP package")
endif()
# download compile n2p2 library. much patch MPI calls in LAMMPS interface to accommodate MPI-2 (e.g. for cross-compiling)
include(ExternalProject)
ExternalProject_Add(n2p2_build
URL ${N2P2_URL}
URL_MD5 ${N2P2_MD5}
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
PATCH_COMMAND sed -i -e "s/\\(MPI_\\(P\\|Unp\\)ack(\\)/\\1(void *) /" src/libnnpif/LAMMPS/InterfaceLammps.cpp
BUILD_COMMAND ${N2P2_MAKE} -C <SOURCE_DIR>/src -f makefile libnnpif ${N2P2_BUILD_OPTIONS}
BUILD_ALWAYS YES
INSTALL_COMMAND ""
BUILD_IN_SOURCE 1
LOG_BUILD ON
SOURCE_SUBDIR src/
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libnnp.a <SOURCE_DIR>/lib/libnnpif.a
)
# create imported target LAMMPS::N2P2 from two libraries nnp and nnpif
ExternalProject_get_property(n2p2_build SOURCE_DIR)
# n2p2 core library "libnnp"
add_library(LAMMPS::N2P2::LIBNNP UNKNOWN IMPORTED)
set_target_properties(LAMMPS::N2P2::LIBNNP PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libnnp.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include")
# n2p2 interface library "libnnpif"
add_library(LAMMPS::N2P2::LIBNNPIF UNKNOWN IMPORTED)
set_target_properties(LAMMPS::N2P2::LIBNNPIF PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libnnpif.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include")
# nnpif library has MPI calls if MPI is enabled, so we must link with MPI libs
if(BUILD_MPI)
set_target_properties(LAMMPS::N2P2::LIBNNPIF PROPERTIES
INTERFACE_LINK_LIBRARIES MPI::MPI_CXX)
if((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING)
add_dependencies(LAMMPS::N2P2::LIBNNPIF MPI::MPI_CXX)
endif()
endif()
# final step to define imported target
add_library(LAMMPS::N2P2 INTERFACE IMPORTED)
set_property(TARGET LAMMPS::N2P2 PROPERTY
INTERFACE_LINK_LIBRARIES LAMMPS::N2P2::LIBNNPIF LAMMPS::N2P2::LIBNNP)
target_link_libraries(lammps PRIVATE LAMMPS::N2P2)
add_dependencies(LAMMPS::N2P2 n2p2_build)
# work around issues with older CMake versions
file(MAKE_DIRECTORY "${SOURCE_DIR}/include")
file(MAKE_DIRECTORY "${SOURCE_DIR}/lib")
else()
find_package(N2P2)
if(NOT N2P2_FOUND)
message(FATAL_ERROR "n2p2 not found, help CMake to find it by setting N2P2_DIR, or set DOWNLOAD_N2P2=ON to download it")
endif()
target_link_libraries(lammps PRIVATE N2P2::N2P2)
include(${N2P2_CMAKE_EXTRAS})
endif()

View File

@ -0,0 +1,40 @@
# if PYTHON package is included we may also include Python support in ML-IAP
set(MLIAP_ENABLE_PYTHON_DEFAULT OFF)
if(PKG_PYTHON)
find_package(Cythonize QUIET)
if(Cythonize_FOUND)
set(MLIAP_ENABLE_PYTHON_DEFAULT ON)
endif()
endif()
option(MLIAP_ENABLE_PYTHON "Build ML-IAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT})
if(MLIAP_ENABLE_PYTHON)
find_package(Cythonize REQUIRED)
if(NOT PKG_PYTHON)
message(FATAL_ERROR "Must enable PYTHON package for including Python support in ML-IAP")
endif()
if(CMAKE_VERSION VERSION_LESS 3.12)
if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3.6)
message(FATAL_ERROR "Python support in ML-IAP requires Python 3.6 or later")
endif()
else()
if(Python_VERSION VERSION_LESS 3.6)
message(FATAL_ERROR "Python support in ML-IAP requires Python 3.6 or later")
endif()
endif()
set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython)
set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/ML-IAP/mliap_model_python_couple.pyx)
get_filename_component(MLIAP_CYTHON_BASE ${MLIAP_CYTHON_SRC} NAME_WE)
file(MAKE_DIRECTORY ${MLIAP_BINARY_DIR})
add_custom_command(OUTPUT ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.h
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${MLIAP_CYTHON_SRC} ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.pyx
COMMAND ${Cythonize_EXECUTABLE} -3 ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.pyx
WORKING_DIRECTORY ${MLIAP_BINARY_DIR}
MAIN_DEPENDENCY ${MLIAP_CYTHON_SRC}
COMMENT "Generating C++ sources with cythonize...")
target_compile_definitions(lammps PRIVATE -DMLIAP_PYTHON)
target_sources(lammps PRIVATE ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp)
target_include_directories(lammps PRIVATE ${MLIAP_BINARY_DIR})
endif()

View File

@ -0,0 +1,37 @@
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.10.25.fix2.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
set(PACELIB_MD5 "32394d799bc282bb57696c78c456e64f" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
mark_as_advanced(PACELIB_URL)
mark_as_advanced(PACELIB_MD5)
# download library sources to build folder
file(DOWNLOAD ${PACELIB_URL} ${CMAKE_BINARY_DIR}/libpace.tar.gz EXPECTED_HASH MD5=${PACELIB_MD5}) #SHOW_PROGRESS
# uncompress downloaded sources
execute_process(
COMMAND ${CMAKE_COMMAND} -E remove_directory lammps-user-pace*
COMMAND ${CMAKE_COMMAND} -E tar xzf libpace.tar.gz
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
get_newest_file(${CMAKE_BINARY_DIR}/lammps-user-pace-* lib-pace)
# enforce building libyaml-cpp as static library and turn off optional features
set(YAML_BUILD_SHARED_LIBS OFF)
set(YAML_CPP_BUILD_CONTRIB OFF)
set(YAML_CPP_BUILD_TOOLS OFF)
add_subdirectory(${lib-pace}/yaml-cpp build-yaml-cpp)
set(YAML_CPP_INCLUDE_DIR ${lib-pace}/yaml-cpp/include)
file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${lib-pace}/ML-PACE)
file(GLOB PACE_EVALUATOR_SOURCES ${lib-pace}/ML-PACE/*.cpp)
list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp)
add_library(pace STATIC ${PACE_EVALUATOR_SOURCES})
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR} ${YAML_CPP_INCLUDE_DIR})
target_link_libraries(pace PRIVATE yaml-cpp-pace)
if(CMAKE_PROJECT_NAME STREQUAL "lammps")
target_link_libraries(lammps PRIVATE pace)
endif()

View File

@ -0,0 +1,73 @@
enable_language(Fortran)
find_package(QUIP QUIET)
if(QUIP_FOUND)
set(DOWNLOAD_QUIP_DEFAULT OFF)
else()
set(DOWNLOAD_QUIP_DEFAULT ON)
endif()
option(DOWNLOAD_QUIP "Download the QUIP library instead of using an already installed one" ${DOWNLOAD_QUIP_DEFAULT})
if(DOWNLOAD_QUIP)
string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
set(temp "F77 = ${CMAKE_Fortran_COMPILER}\nF90 = ${CMAKE_Fortran_COMPILER}\nF95 = ${CMAKE_Fortran_COMPILER}\n")
set(temp "${temp}CC=${CMAKE_C_COMPILER}\nCPLUSPLUS=${CMAKE_CXX_COMPILER}\nLINKER=${CMAKE_Fortran_COMPILER}\n")
if(CMAKE_Fortran_COMPILER_ID STREQUAL Intel)
set(temp "${temp}FPP=${CMAKE_Fortran_COMPILER} -E\nOPTIM=${CMAKE_Fortran_FLAGS_${BTYPE}}\n")
set(temp "${temp}DEFINES += -DGETARG_F2003 -DFORTRAN_UNDERSCORE\n")
set(temp "${temp}F95FLAGS += -fpp -free -fPIC\n")
set(temp "${temp}F77FLAGS += -fpp -fixed -fPIC\n")
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
set(temp "${temp}FPP=${CMAKE_Fortran_COMPILER} -E -x f95-cpp-input\nOPTIM=${CMAKE_Fortran_FLAGS_${BTYPE}}\n")
set(temp "${temp}DEFINES += -DGETARG_F2003 -DGETENV_F2003 -DGFORTRAN -DFORTRAN_UNDERSCORE\n")
set(temp "${temp}F95FLAGS += -x f95-cpp-input -ffree-line-length-none -ffree-form -fno-second-underscore -fPIC\n")
set(temp "${temp}F77FLAGS += -x f77-cpp-input -fno-second-underscore -fPIC\n")
else()
message(FATAL_ERROR "The ${CMAKE_Fortran_COMPILER_ID} Fortran compiler is not (yet) supported for building QUIP")
endif()
set(temp "${temp}CFLAGS += -fPIC \nCPLUSPLUSFLAGS += -fPIC\nAR_ADD=src\n")
set(temp "${temp}MATH_LINKOPTS=")
foreach(flag ${BLAS_LIBRARIES})
set(temp "${temp} ${flag}")
endforeach()
foreach(flag ${LAPACK_LIBRARIES})
set(temp "${temp} ${flag}")
endforeach()
# Fix cmake crashing when MATH_LINKOPTS not set, required for e.g. recent Cray Programming Environment
set(temp "${temp} -L/_DUMMY_PATH_\n")
set(temp "${temp}PYTHON=python\nPIP=pip\nEXTRA_LINKOPTS=\n")
set(temp "${temp}HAVE_CP2K=0\nHAVE_VASP=0\nHAVE_TB=0\nHAVE_PRECON=1\nHAVE_LOTF=0\nHAVE_ONIOM=0\n")
set(temp "${temp}HAVE_LOCAL_E_MIX=0\nHAVE_QC=0\nHAVE_GAP=1\nHAVE_DESCRIPTORS_NONCOMMERCIAL=1\n")
set(temp "${temp}HAVE_TURBOGAP=0\nHAVE_QR=1\nHAVE_THIRDPARTY=0\nHAVE_FX=0\nHAVE_SCME=0\nHAVE_MTP=0\n")
set(temp "${temp}HAVE_MBD=0\nHAVE_TTM_NF=0\nHAVE_CH4=0\nHAVE_NETCDF4=0\nHAVE_MDCORE=0\nHAVE_ASAP=0\n")
set(temp "${temp}HAVE_CGAL=0\nHAVE_METIS=0\nHAVE_LMTO_TBE=0\nHAVE_SCALAPACK=0\n")
file(WRITE ${CMAKE_BINARY_DIR}/quip.config "${temp}")
message(STATUS "QUIP download via git requested - we will build our own")
set(CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY CHECKOUT)
# QUIP has no releases (except for a tag marking the end of Python 2 support). We use the current "public" branch
# The LAMMPS interface wrapper has a compatibility constant that is being checked at runtime.
include(ExternalProject)
ExternalProject_Add(quip_build
GIT_REPOSITORY "https://github.com/libAtoms/QUIP/"
GIT_TAG origin/public
GIT_SHALLOW YES
GIT_PROGRESS YES
GIT_SUBMODULES "src/fox;src/GAP"
PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/quip.config <SOURCE_DIR>/arch/Makefile.lammps
CONFIGURE_COMMAND env QUIP_ARCH=lammps make config
BUILD_COMMAND env QUIP_ARCH=lammps make libquip
INSTALL_COMMAND ""
BUILD_IN_SOURCE YES
BUILD_BYPRODUCTS <SOURCE_DIR>/build/lammps/libquip.a
)
ExternalProject_get_property(quip_build SOURCE_DIR)
add_library(LAMMPS::QUIP UNKNOWN IMPORTED)
set_target_properties(LAMMPS::QUIP PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/build/lammps/libquip.a"
INTERFACE_LINK_LIBRARIES "${LAPACK_LIBRARIES}")
target_link_libraries(lammps PRIVATE LAMMPS::QUIP)
add_dependencies(LAMMPS::QUIP quip_build)
else()
find_package(QUIP REQUIRED)
target_link_libraries(lammps PRIVATE QUIP::QUIP ${LAPACK_LIBRARIES})
endif()

View File

@ -1,40 +0,0 @@
# if PYTHON package is included we may also include Python support in MLIAP
set(MLIAP_ENABLE_PYTHON_DEFAULT OFF)
if(PKG_PYTHON)
find_package(Cythonize QUIET)
if(Cythonize_FOUND)
set(MLIAP_ENABLE_PYTHON_DEFAULT ON)
endif()
endif()
option(MLIAP_ENABLE_PYTHON "Build MLIAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT})
if(MLIAP_ENABLE_PYTHON)
find_package(Cythonize REQUIRED)
if(NOT PKG_PYTHON)
message(FATAL_ERROR "Must enable PYTHON package for including Python support in MLIAP")
endif()
if(CMAKE_VERSION VERSION_LESS 3.12)
if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3.6)
message(FATAL_ERROR "Python support in MLIAP requires Python 3.6 or later")
endif()
else()
if(Python_VERSION VERSION_LESS 3.6)
message(FATAL_ERROR "Python support in MLIAP requires Python 3.6 or later")
endif()
endif()
set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython)
set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/MLIAP/mliap_model_python_couple.pyx)
get_filename_component(MLIAP_CYTHON_BASE ${MLIAP_CYTHON_SRC} NAME_WE)
file(MAKE_DIRECTORY ${MLIAP_BINARY_DIR})
add_custom_command(OUTPUT ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.h
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${MLIAP_CYTHON_SRC} ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.pyx
COMMAND ${Cythonize_EXECUTABLE} -3 ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.pyx
WORKING_DIRECTORY ${MLIAP_BINARY_DIR}
MAIN_DEPENDENCY ${MLIAP_CYTHON_SRC}
COMMENT "Generating C++ sources with cythonize...")
target_compile_definitions(lammps PRIVATE -DMLIAP_PYTHON)
target_sources(lammps PRIVATE ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp)
target_include_directories(lammps PRIVATE ${MLIAP_BINARY_DIR})
endif()

View File

@ -0,0 +1,7 @@
set(MOLFILE_INCLUDE_DIR "${LAMMPS_LIB_SOURCE_DIR}/molfile" CACHE STRING "Path to VMD molfile plugin headers")
add_library(molfile INTERFACE)
target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIR})
if(NOT (CMAKE_SYSTEM_NAME STREQUAL "Windows"))
target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS})
endif()
target_link_libraries(lammps PRIVATE molfile)

View File

@ -12,34 +12,12 @@ if(DOWNLOAD_MSCG)
mark_as_advanced(MSCG_URL)
mark_as_advanced(MSCG_MD5)
include(ExternalProject)
ExternalProject_Add(mscg_build
URL ${MSCG_URL}
URL_MD5 ${MSCG_MD5}
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)
include(ExternalCMakeProject)
ExternalCMakeProject(mscg ${MSCG_URL} ${MSCG_MD5} MSCG-release src/CMake "")
# set include and link library
target_include_directories(lammps PRIVATE "${CMAKE_BINARY_DIR}/_deps/mscg-src/src")
target_link_libraries(lammps PRIVATE mscg)
else()
find_package(MSCG)
if(NOT MSCG_FOUND)

View File

@ -0,0 +1,26 @@
# 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)
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

@ -0,0 +1,40 @@
set(OPENMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/OPENMP)
set(OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/thr_data.cpp
${OPENMP_SOURCES_DIR}/thr_omp.cpp
${OPENMP_SOURCES_DIR}/fix_omp.cpp
${OPENMP_SOURCES_DIR}/fix_nh_omp.cpp
${OPENMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
${OPENMP_SOURCES_DIR}/domain_omp.cpp)
target_compile_definitions(lammps PRIVATE -DLMP_OPENMP)
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${OPENMP_SOURCES}")
# detects styles which have OPENMP version
RegisterStylesExt(${OPENMP_SOURCES_DIR} omp OMP_SOURCES)
RegisterFixStyle(${OPENMP_SOURCES_DIR}/fix_omp.h)
get_property(OPENMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
# manually add package dependent source files from OPENMP that do not provide styles
if(PKG_ASPHERE)
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp)
endif()
if(PKG_RIGID)
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp)
endif()
if(PKG_REAXFF)
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxff_bond_orders_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_hydrogen_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_nonbonded_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_init_md_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_torsion_angles_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_forces_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_multi_body_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_valence_angles_omp.cpp)
endif()
target_sources(lammps PRIVATE ${OPENMP_SOURCES})
target_include_directories(lammps PRIVATE ${OPENMP_SOURCES_DIR})

View File

@ -0,0 +1,9 @@
# fix phonon may only be installed if also the FFT wrappers from KSPACE are installed
if(NOT PKG_KSPACE)
get_property(LAMMPS_FIX_HEADERS GLOBAL PROPERTY FIX)
list(REMOVE_ITEM LAMMPS_FIX_HEADERS ${LAMMPS_SOURCE_DIR}/PHONON/fix_phonon.h)
set_property(GLOBAL PROPERTY FIX "${LAMMPS_FIX_HEADERS}")
get_target_property(LAMMPS_SOURCES lammps SOURCES)
list(REMOVE_ITEM LAMMPS_SOURCES ${LAMMPS_SOURCE_DIR}/PHONON/fix_phonon.cpp)
set_property(TARGET lammps PROPERTY SOURCES "${LAMMPS_SOURCES}")
endif()

View File

@ -0,0 +1,105 @@
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 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(FFTW3 QUIET)
if(FFTW3_FOUND)
list(APPEND PLUMED_LINK_LIBS FFTW3::FFTW3)
endif()
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()
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.4/plumed-src-2.7.4.tgz" CACHE STRING "URL for PLUMED tarball")
set(PLUMED_MD5 "858e0b6aed173748fc85b6bc8a9dcb3e" CACHE STRING "MD5 checksum of PLUMED tarball")
mark_as_advanced(PLUMED_URL)
mark_as_advanced(PLUMED_MD5)
include(ExternalProject)
ExternalProject_Add(plumed_build
URL ${PLUMED_URL}
URL_MD5 ${PLUMED_MD5}
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,29 @@
if(CMAKE_VERSION VERSION_LESS 3.12)
if(NOT PYTHON_VERSION_STRING)
set(Python_ADDITIONAL_VERSIONS 3.12 3.11 3.10 3.9 3.8 3.7 3.6)
# search for interpreter first, so we have a consistent library
find_package(PythonInterp) # Deprecated since version 3.12
if(PYTHONINTERP_FOUND)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
endif()
# search for the library matching the selected interpreter
set(Python_ADDITIONAL_VERSIONS ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
find_package(PythonLibs REQUIRED) # Deprecated since version 3.12
if(NOT (PYTHON_VERSION_STRING STREQUAL PYTHONLIBS_VERSION_STRING))
message(FATAL_ERROR "Python Library version ${PYTHONLIBS_VERSION_STRING} does not match Interpreter version ${PYTHON_VERSION_STRING}")
endif()
target_include_directories(lammps PRIVATE ${PYTHON_INCLUDE_DIRS})
target_link_libraries(lammps PRIVATE ${PYTHON_LIBRARIES})
else()
find_package(Python REQUIRED COMPONENTS Development)
if(NOT Python_INTERPRETER)
# backward compatibility
if(PYTHON_EXECUTABLE)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
find_package(Python COMPONENTS Interpreter)
endif()
find_package(Python REQUIRED COMPONENTS Interpreter Development)
target_link_libraries(lammps PRIVATE Python::Python)
endif()
target_compile_definitions(lammps PRIVATE -DLMP_PYTHON)

View File

@ -1,18 +1,13 @@
# Fix qeq/fire requires MANYBODY (i.e. COMB and COMB3) to be installed
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)
get_property(hlist GLOBAL PROPERTY FIX)
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)
list(REMOVE_ITEM hlist ${QEQ_SOURCES_DIR}/fix_qeq_fire.h)
get_target_property(LAMMPS_SOURCES lammps SOURCES)
list(REMOVE_ITEM LAMMPS_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp)
set_property(TARGET lammps PROPERTY SOURCES ${LAMMPS_SOURCES})
endif()
set_property(GLOBAL PROPERTY "QEQ_SOURCES" "${QEQ_SOURCES}")
set_property(GLOBAL PROPERTY FIX "${hlist}")
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

@ -0,0 +1,74 @@
enable_language(Fortran)
enable_language(C)
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()
endif()
option(DOWNLOAD_SCAFACOS "Download ScaFaCoS library instead of using an already installed one" ${DOWNLOAD_SCAFACOS_DEFAULT})
if(DOWNLOAD_SCAFACOS)
message(STATUS "ScaFaCoS download requested - we will build our own")
set(SCAFACOS_URL "https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz" CACHE STRING "URL for SCAFACOS tarball")
set(SCAFACOS_MD5 "bd46d74e3296bd8a444d731bb10c1738" CACHE STRING "MD5 checksum of SCAFACOS tarball")
mark_as_advanced(SCAFACOS_URL)
mark_as_advanced(SCAFACOS_MD5)
# version 1.0.1 needs a patch to compile and linke cleanly with GCC 10 and later.
file(DOWNLOAD ${LAMMPS_THIRDPARTY_URL}/scafacos-1.0.1-fix.diff ${CMAKE_CURRENT_BINARY_DIR}/scafacos-1.0.1.fix.diff
EXPECTED_HASH MD5=4baa1333bb28fcce102d505e1992d032)
find_program(HAVE_PATCH patch)
if(NOT HAVE_PATCH)
message(FATAL_ERROR "The 'patch' program is required to build the ScaFaCoS library")
endif()
include(ExternalProject)
ExternalProject_Add(scafacos_build
URL ${SCAFACOS_URL}
URL_MD5 ${SCAFACOS_MD5}
PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_BINARY_DIR}/scafacos-1.0.1.fix.diff
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --disable-doc
--enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m
--with-internal-fftw --with-internal-pfft
--with-internal-pnfft ${CONFIGURE_REQUEST_PIC}
FC=${CMAKE_MPI_Fortran_COMPILER}
CXX=${CMAKE_MPI_CXX_COMPILER}
CC=${CMAKE_MPI_C_COMPILER}
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,39 +0,0 @@
set(COLVARS_SOURCE_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars)
file(GLOB COLVARS_SOURCES ${COLVARS_SOURCE_DIR}/[^.]*.cpp)
option(COLVARS_DEBUG "Debugging messages for Colvars (quite verbose)" OFF)
# 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 -DCOLVARS_LAMMPS)
set_target_properties(colvars PROPERTIES OUTPUT_NAME lammps_colvars${LAMMPS_MACHINE})
target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars)
# The line below is needed to locate math_eigen_impl.h
target_include_directories(colvars PRIVATE ${LAMMPS_SOURCE_DIR})
target_link_libraries(lammps PRIVATE colvars)
if(COLVARS_DEBUG)
# Need to export the macro publicly to also affect the proxy
target_compile_definitions(colvars PUBLIC -DCOLVARS_DEBUG)
endif()
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,5 +0,0 @@
enable_language(C)
find_package(HDF5 REQUIRED)
target_link_libraries(h5md PRIVATE ${HDF5_LIBRARIES})
target_include_directories(h5md PUBLIC ${HDF5_INCLUDE_DIRS})

View File

@ -1,124 +0,0 @@
find_package(N2P2 QUIET)
if(N2P2_FOUND)
set(DOWNLOAD_N2P2_DEFAULT OFF)
else()
set(DOWNLOAD_N2P2_DEFAULT ON)
endif()
option(DOWNLOAD_N2P2 "Download n2p2 library instead of using an already installed one)" ${DOWNLOAD_N2P2_DEFAULT})
if(DOWNLOAD_N2P2)
set(N2P2_URL "https://github.com/CompPhysVienna/n2p2/archive/v2.1.4.tar.gz" CACHE STRING "URL for n2p2 tarball")
set(N2P2_MD5 "9595b066636cd6b90b0fef93398297a5" CACHE STRING "MD5 checksum of N2P2 tarball")
mark_as_advanced(N2P2_URL)
mark_as_advanced(N2P2_MD5)
# adjust settings from detected compiler to compiler platform in n2p2 library
# set compiler specific flag to turn on C++11 syntax (required on macOS and CentOS 7)
if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"))
set(N2P2_COMP llvm)
set(N2P2_CXX_STD "-std=c++11")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(N2P2_COMP intel)
set(N2P2_CXX_STD "-std=c++11")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(N2P2_COMP gnu)
set(N2P2_CXX_STD "-std=gnu++11")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "PGI")
set(N2P2_COMP gnu)
set(N2P2_CXX_STD "--c++11")
else() # default
set(N2P2_COMP "")
endif()
# pass on archive creator command. prefer compiler specific version, if set.
# important when using cross compiler.
if(CMAKE_CXX_COMPILER_AR)
set(N2P2_AR ${CMAKE_CXX_COMPILER_AR})
else()
set(N2P2_AR ${CMAKE_AR})
endif()
# adjust compilation of n2p2 library to whether MPI is requested in LAMMPS or not
# need special care for compiling for MPICH2 with Linux-to-Windows cross compiler.
if(NOT BUILD_MPI)
set(N2P2_PROJECT_OPTIONS "-DN2P2_NO_MPI")
else()
# get path to MPI include directory when cross-compiling to windows
if((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING)
get_target_property(N2P2_MPI_INCLUDE MPI::MPI_CXX INTERFACE_INCLUDE_DIRECTORIES)
set(N2P2_PROJECT_OPTIONS "-I ${N2P2_MPI_INCLUDE} -DMPICH_SKIP_MPICXX=1")
set(MPI_CXX_COMPILER ${CMAKE_CXX_COMPILER})
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
get_target_property(N2P2_MPI_INCLUDE MPI::MPI_CXX INTERFACE_INCLUDE_DIRECTORIES)
set(N2P2_PROJECT_OPTIONS "-I ${N2P2_MPI_INCLUDE} -DMPICH_SKIP_MPICXX=1")
set(MPI_CXX_COMPILER ${CMAKE_CXX_COMPILER})
endif()
endif()
# override compiler (optimization) flags in n2p2 library to flags used for LAMMPS
# specifically -march=native can result in problems when compiling on HPC clusters or with a cross compiler
# this convoluted way gets correct quoting/escaping when configuring the external project
string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
set(N2P2_BUILD_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}} ${N2P2_CXX_STD}")
set(N2P2_BUILD_OPTIONS INTERFACES=LAMMPS COMP=${N2P2_COMP} "PROJECT_OPTIONS=${N2P2_PROJECT_OPTIONS}" "PROJECT_DEBUG="
"PROJECT_CC=${CMAKE_CXX_COMPILER}" "PROJECT_MPICC=${MPI_CXX_COMPILER}" "PROJECT_CFLAGS=${N2P2_BUILD_FLAGS}"
"PROJECT_AR=${N2P2_AR}")
# echo final flag for debugging
message(STATUS "N2P2 BUILD OPTIONS: ${N2P2_BUILD_OPTIONS}")
# download compile n2p2 library. much patch MPI calls in LAMMPS interface to accommodate MPI-2 (e.g. for cross-compiling)
include(ExternalProject)
ExternalProject_Add(n2p2_build
URL ${N2P2_URL}
URL_MD5 ${N2P2_MD5}
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
PATCH_COMMAND sed -i -e "s/\\(MPI_\\(P\\|Unp\\)ack(\\)/\\1(void *) /" src/libnnpif/LAMMPS/InterfaceLammps.cpp
BUILD_COMMAND make -f makefile libnnpif ${N2P2_BUILD_OPTIONS}
BUILD_ALWAYS YES
INSTALL_COMMAND ""
BUILD_IN_SOURCE 1
LOG_BUILD ON
SOURCE_SUBDIR src/
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libnnp.a <SOURCE_DIR>/lib/libnnpif.a
)
# create imported target LAMMPS::N2P2 from two libraries nnp and nnpif
ExternalProject_get_property(n2p2_build SOURCE_DIR)
# n2p2 core library "libnnp"
add_library(LAMMPS::N2P2::LIBNNP UNKNOWN IMPORTED)
set_target_properties(LAMMPS::N2P2::LIBNNP PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libnnp.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include")
# n2p2 interface library "libnnpif"
add_library(LAMMPS::N2P2::LIBNNPIF UNKNOWN IMPORTED)
set_target_properties(LAMMPS::N2P2::LIBNNPIF PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libnnpif.a"
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include")
# nnpif library has MPI calls if MPI is enabled, so we must link with MPI libs
if(BUILD_MPI)
set_target_properties(LAMMPS::N2P2::LIBNNPIF PROPERTIES
INTERFACE_LINK_LIBRARIES MPI::MPI_CXX)
if((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING)
add_dependencies(LAMMPS::N2P2::LIBNNPIF MPI::MPI_CXX)
endif()
endif()
# final step to define imported target
add_library(LAMMPS::N2P2 INTERFACE IMPORTED)
set_property(TARGET LAMMPS::N2P2 PROPERTY
INTERFACE_LINK_LIBRARIES LAMMPS::N2P2::LIBNNPIF LAMMPS::N2P2::LIBNNP)
target_link_libraries(lammps PRIVATE LAMMPS::N2P2)
add_dependencies(LAMMPS::N2P2 n2p2_build)
# work around issues with older CMake versions
file(MAKE_DIRECTORY "${SOURCE_DIR}/include")
file(MAKE_DIRECTORY "${SOURCE_DIR}/lib")
else()
find_package(N2P2)
if(NOT N2P2_FOUND)
message(FATAL_ERROR "n2p2 not found, help CMake to find it by setting N2P2_DIR, or set DOWNLOAD_N2P2=ON to download it")
endif()
target_link_libraries(lammps PRIVATE N2P2::N2P2)
include(${N2P2_CMAKE_EXTRAS})
endif()

View File

@ -1,116 +0,0 @@
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")
if(Threads_FOUND)
target_compile_definitions(lammps PRIVATE -DLMP_INTEL_USELRT -DLMP_INTEL_LRT11)
target_link_libraries(lammps PRIVATE Threads::Threads)
else()
message(FATAL_ERROR "Must have working threads library for Long-range thread support")
endif()
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)
string(REGEX REPLACE "[ =\"]" "" _FLAGX ${_FLAG})
check_cxx_compiler_flag("${_FLAG}" COMPILER_SUPPORTS${_FLAGX})
if(COMPILER_SUPPORTS${_FLAGX})
separate_arguments(_FLAG UNIX_COMMAND "${_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,118 +0,0 @@
find_package(mdi QUIET)
if(${mdi_FOUND})
set(DOWNLOAD_MDI_DEFAULT OFF)
else()
set(DOWNLOAD_MDI_DEFAULT ON)
endif()
option(DOWNLOAD_MDI "Download and compile the MDI library instead of using an already installed one" ${DOWNLOAD_MDI_DEFAULT})
if(DOWNLOAD_MDI)
message(STATUS "MDI download requested - we will build our own")
set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.2.9.tar.gz" CACHE STRING "URL for MDI tarball")
set(MDI_MD5 "ddfa46d6ee15b4e59cfd527ec7212184" CACHE STRING "MD5 checksum for MDI tarball")
mark_as_advanced(MDI_URL)
mark_as_advanced(MDI_MD5)
enable_language(C)
# only ON/OFF are allowed for "mpi" flag when building MDI library
# so translate boolean value of BUILD_MPI
# always disable MPI when cross-compiling to Windows.
if((BUILD_MPI) AND NOT((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING))
set(MDI_USE_MPI ON)
else()
set(MDI_USE_MPI OFF)
endif()
# detect if we have python development support and thus can enable python plugins
set(MDI_USE_PYTHON_PLUGINS OFF)
if(CMAKE_VERSION VERSION_LESS 3.12)
find_package(PythonLibs QUIET) # Deprecated since version 3.12
if(PYTHONLIBS_FOUND)
set(MDI_USE_PYTHON_PLUGINS ON)
endif()
else()
find_package(Python QUIET COMPONENTS Development)
if(Python_Development_FOUND)
set(MDI_USE_PYTHON_PLUGINS ON)
endif()
endif()
# download/ build MDI library
# always build static library with -fpic
# support cross-compilation and ninja-build
include(ExternalProject)
ExternalProject_Add(mdi_build
URL ${MDI_URL}
URL_MD5 ${MDI_MD5}
CMAKE_ARGS ${CMAKE_REQUEST_PIC}
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-Dlanguage=C
-Dlibtype=STATIC
-Dmpi=${MDI_USE_MPI}
-Dpython_plugins=${MDI_USE_PYTHON_PLUGINS}
UPDATE_COMMAND ""
INSTALL_COMMAND ""
BUILD_BYPRODUCTS "<BINARY_DIR>/MDI_Library/libmdi.a"
)
# where is the compiled library?
ExternalProject_get_property(mdi_build BINARY_DIR)
set(MDI_BINARY_DIR "${BINARY_DIR}/MDI_Library")
# workaround for older CMake versions
file(MAKE_DIRECTORY ${MDI_BINARY_DIR})
# create imported target for the MDI library
add_library(LAMMPS::MDI UNKNOWN IMPORTED)
add_dependencies(LAMMPS::MDI mdi_build)
set_target_properties(LAMMPS::MDI PROPERTIES
IMPORTED_LOCATION "${MDI_BINARY_DIR}/libmdi.a"
INTERFACE_INCLUDE_DIRECTORIES ${MDI_BINARY_DIR}
)
set(MDI_DEP_LIBS "")
# if compiling with python plugins we need
# to add python libraries as dependency.
if(MDI_USE_PYTHON_PLUGINS)
if(CMAKE_VERSION VERSION_LESS 3.12)
list(APPEND MDI_DEP_LIBS ${PYTHON_LIBRARIES})
else()
list(APPEND MDI_DEP_LIBS Python::Python)
endif()
endif()
# need to add support for dlopen/dlsym, except when compiling for Windows.
if(NOT (CMAKE_SYSTEM_NAME STREQUAL "Windows"))
list(APPEND MDI_DEP_LIBS "${CMAKE_DL_LIBS}")
endif()
if(MDI_DEP_LIBS)
set_target_properties(LAMMPS::MDI PROPERTIES
IMPORTED_LINK_INTERFACE_LIBRARIES "${MDI_DEP_LIBS}")
endif()
target_link_libraries(lammps PRIVATE LAMMPS::MDI)
target_link_libraries(lmp PRIVATE LAMMPS::MDI)
else()
find_package(mdi)
if(NOT mdi_FOUND)
message(FATAL_ERROR "MDI library not found. Help CMake to find it "
"by setting mdi_LIBRARY and mdi_INCLUDE_DIR, or set DOWNLOAD_MDI=ON "
"to download and compile it")
endif()
# Link the lammps library against MDI
target_include_directories(lammps PRIVATE ${mdi_INCLUDE_DIR})
target_link_libraries(lammps PRIVATE ${mdi_LIBRARY})
# Link the lammps executable against MDI
target_include_directories(lmp PRIVATE ${mdi_INCLUDE_DIR})
target_link_libraries(lmp PRIVATE ${mdi_LIBRARY})
endif()
target_compile_definitions(lammps PRIVATE -DLMP_USER_MDI)
target_compile_definitions(lmp PRIVATE -DLMP_USER_MDI)

View File

@ -1,5 +0,0 @@
set(MOLFILE_INCLUDE_DIR "${LAMMPS_LIB_SOURCE_DIR}/molfile" CACHE STRING "Path to VMD molfile plugin headers")
set(MOLFILE_INCLUDE_DIRS "${MOLFILE_INCLUDE_DIR}")
add_library(molfile INTERFACE)
target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIRS})
target_link_libraries(lammps PRIVATE molfile)

View File

@ -1,26 +0,0 @@
# 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)
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,40 +0,0 @@
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)
get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
# 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_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()
target_sources(lammps PRIVATE ${USER-OMP_SOURCES})
target_include_directories(lammps PRIVATE ${USER-OMP_SOURCES_DIR})

View File

@ -1,25 +0,0 @@
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.4.9.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
set(PACELIB_MD5 "4db54962fbd6adcf8c18d46e1798ceb5" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
mark_as_advanced(PACELIB_URL)
mark_as_advanced(PACELIB_MD5)
# download library sources to build folder
file(DOWNLOAD ${PACELIB_URL} ${CMAKE_BINARY_DIR}/libpace.tar.gz SHOW_PROGRESS EXPECTED_HASH MD5=${PACELIB_MD5})
# uncompress downloaded sources
execute_process(
COMMAND ${CMAKE_COMMAND} -E remove_directory lammps-user-pace*
COMMAND ${CMAKE_COMMAND} -E tar xzf libpace.tar.gz
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE)
file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE/*.cpp)
list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp)
add_library(pace STATIC ${PACE_EVALUATOR_SOURCES})
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR})
target_link_libraries(lammps PRIVATE pace)

View File

@ -1,105 +0,0 @@
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 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(FFTW3 QUIET)
if(FFTW3_FOUND)
list(APPEND PLUMED_LINK_LIBS FFTW3::FFTW3)
endif()
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()
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.1/plumed-src-2.7.1.tgz" CACHE STRING "URL for PLUMED tarball")
set(PLUMED_MD5 "4eac6a462ec84dfe0cec96c82421b8e8" CACHE STRING "MD5 checksum of PLUMED tarball")
mark_as_advanced(PLUMED_URL)
mark_as_advanced(PLUMED_MD5)
include(ExternalProject)
ExternalProject_Add(plumed_build
URL ${PLUMED_URL}
URL_MD5 ${PLUMED_MD5}
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,3 +0,0 @@
enable_language(Fortran)
find_package(QUIP REQUIRED)
target_link_libraries(lammps PRIVATE QUIP::QUIP ${LAPACK_LIBRARIES})

View File

@ -1,69 +0,0 @@
enable_language(Fortran)
enable_language(C)
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()
endif()
option(DOWNLOAD_SCAFACOS "Download ScaFaCoS library instead of using an already installed one" ${DOWNLOAD_SCAFACOS_DEFAULT})
if(DOWNLOAD_SCAFACOS)
message(STATUS "ScaFaCoS download requested - we will build our own")
set(SCAFACOS_URL "https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz" CACHE STRING "URL for SCAFACOS tarball")
set(SCAFACOS_MD5 "bd46d74e3296bd8a444d731bb10c1738" CACHE STRING "MD5 checksum of SCAFACOS tarball")
mark_as_advanced(SCAFACOS_URL)
mark_as_advanced(SCAFACOS_MD5)
# version 1.0.1 needs a patch to compile and linke cleanly with GCC 10 and later.
file(DOWNLOAD ${LAMMPS_THIRDPARTY_URL}/scafacos-1.0.1-fix.diff ${CMAKE_CURRENT_BINARY_DIR}/scafacos-1.0.1.fix.diff
EXPECTED_HASH MD5=4baa1333bb28fcce102d505e1992d032)
include(ExternalProject)
ExternalProject_Add(scafacos_build
URL ${SCAFACOS_URL}
URL_MD5 ${SCAFACOS_MD5}
PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_BINARY_DIR}/scafacos-1.0.1.fix.diff
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --disable-doc
--enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m
--with-internal-fftw --with-internal-pfft
--with-internal-pnfft ${CONFIGURE_REQUEST_PIC}
FC=${CMAKE_MPI_Fortran_COMPILER}
CXX=${CMAKE_MPI_CXX_COMPILER}
CC=${CMAKE_MPI_C_COMPILER}
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 +0,0 @@
# Fix rigid/meso requires RIGID to be installed
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)
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,32 +0,0 @@
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")
set(EIGEN3_URL "https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz" CACHE STRING "URL for Eigen3 tarball")
set(EIGEN3_MD5 "9e30f67e8531477de4117506fe44669b" CACHE STRING "MD5 checksum of Eigen3 tarball")
mark_as_advanced(EIGEN3_URL)
mark_as_advanced(EIGEN3_MD5)
include(ExternalProject)
ExternalProject_Add(Eigen3_build
URL ${EIGEN3_URL}
URL_MD5 ${EIGEN3_MD5}
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

@ -26,6 +26,11 @@ if(DOWNLOAD_VORO)
set(VORO_BUILD_OPTIONS CXX=${CMAKE_CXX_COMPILER} CFLAGS=${VORO_BUILD_CFLAGS})
endif()
find_program(HAVE_PATCH patch)
if(NOT HAVE_PATCH)
message(FATAL_ERROR "The 'patch' program is required to build the voro++ library")
endif()
ExternalProject_Add(voro_build
URL ${VORO_URL}
URL_MD5 ${VORO_MD5}

View File

@ -3,27 +3,34 @@ if(BUILD_TOOLS)
target_compile_definitions(binary2txt PRIVATE -DLAMMPS_${LAMMPS_SIZES})
install(TARGETS binary2txt DESTINATION ${CMAKE_INSTALL_BINDIR})
add_executable(stl_bin2txt ${LAMMPS_TOOLS_DIR}/stl_bin2txt.cpp)
install(TARGETS stl_bin2txt 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)
add_executable(chain.x ${LAMMPS_TOOLS_DIR}/chain.f90)
target_link_libraries(chain.x PRIVATE ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
install(TARGETS chain.x DESTINATION ${CMAKE_INSTALL_BINDIR})
add_executable(micelle2d.x ${LAMMPS_TOOLS_DIR}/micelle2d.f90)
target_link_libraries(micelle2d.x PRIVATE ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
install(TARGETS chain.x micelle2d.x DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
message(WARNING "No suitable Fortran compiler found, skipping build of 'chain.x'")
message(WARNING "No suitable Fortran compiler found, skipping build of 'chain.x' and 'micelle2d.x'")
endif()
else()
message(WARNING "CMake build doesn't support fortran, skipping build of 'chain.x'")
message(WARNING "CMake build doesn't support Fortran, skipping build of 'chain.x' and 'micelle2d.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 PRIVATE ${MATH_LIBRARIES})
if(STANDARD_MATH_LIB)
target_link_libraries(msi2lmp PRIVATE ${STANDARD_MATH_LIB})
endif()
install(TARGETS msi2lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ${LAMMPS_DOC_DIR}/msi2lmp.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
endif()

View File

@ -1,47 +0,0 @@
message(STATUS "Downloading and building YAML library")
include(ExternalProject)
set(YAML_URL "https://pyyaml.org/download/libyaml/yaml-0.2.5.tar.gz" CACHE STRING "URL for libyaml tarball")
set(YAML_MD5 "bb15429d8fb787e7d3f1c83ae129a999" CACHE STRING "MD5 checksum of libyaml tarball")
mark_as_advanced(YAML_URL)
mark_as_advanced(YAML_MD5)
# support cross-compilation to windows
if(CMAKE_CROSSCOMPILING AND (CMAKE_SYSTEM_NAME STREQUAL "Windows"))
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
set(YAML_CROSS_HOST --host=i686-mingw64)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
set(YAML_CROSS_HOST --host=x86_64-mingw64)
else()
message(FATAL_ERROR "Unsupported cross-compilation "
" for ${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR}"
" on ${CMAKE_HOST_SYSTEM}/${CMAKE_HOST_SYSTEM_PROCESSOR}")
endif()
endif()
ExternalProject_Add(libyaml
URL ${YAML_URL}
URL_MD5 ${YAML_MD5}
SOURCE_DIR "${CMAKE_BINARY_DIR}/yaml-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/yaml-build"
CONFIGURE_COMMAND <SOURCE_DIR>/configure ${CONFIGURE_REQUEST_PIC}
CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER}
--prefix=<INSTALL_DIR> --disable-shared ${YAML_CROSS_HOST}
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libyaml${CMAKE_STATIC_LIBRARY_SUFFIX}
TEST_COMMAND "")
ExternalProject_Get_Property(libyaml INSTALL_DIR)
set(YAML_INCLUDE_DIR ${INSTALL_DIR}/include)
set(YAML_LIBRARY_DIR ${INSTALL_DIR}/lib)
# workaround for CMake 3.10 on ubuntu 18.04
file(MAKE_DIRECTORY ${YAML_INCLUDE_DIR})
file(MAKE_DIRECTORY ${YAML_LIBRARY_DIR})
set(YAML_LIBRARY_PATH ${INSTALL_DIR}/lib/libyaml${CMAKE_STATIC_LIBRARY_SUFFIX})
add_library(Yaml::Yaml UNKNOWN IMPORTED)
set_target_properties(Yaml::Yaml PROPERTIES
IMPORTED_LOCATION ${YAML_LIBRARY_PATH}
INTERFACE_INCLUDE_DIRECTORIES ${YAML_INCLUDE_DIR})
add_dependencies(Yaml::Yaml libyaml)

View File

@ -24,12 +24,14 @@ if(GIT_FOUND AND EXISTS ${LAMMPS_DIR}/.git)
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
set(temp "${temp}const bool LAMMPS_NS::LAMMPS::has_git_info = ${temp_git_info};\n")
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_commit[] = \"${temp_git_commit}\";\n")
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_branch[] = \"${temp_git_branch}\";\n")
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_descriptor[] = \"${temp_git_describe}\";\n")
set(temp "${temp}bool LAMMPS_NS::LAMMPS::has_git_info() { return ${temp_git_info}; }\n")
set(temp "${temp}const char *LAMMPS_NS::LAMMPS::git_commit() { return \"${temp_git_commit}\"; }\n")
set(temp "${temp}const char *LAMMPS_NS::LAMMPS::git_branch() { return \"${temp_git_branch}\"; }\n")
set(temp "${temp}const char *LAMMPS_NS::LAMMPS::git_descriptor() { return \"${temp_git_describe}\"; }\n")
set(temp "${temp}#endif\n\n")
message(STATUS "Generating lmpgitversion.h...")
file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h.tmp" "${temp}" )
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h")
string(REPLACE "\\ " " " LAMMPS_GIT_HEADER "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h")
file(WRITE "${LAMMPS_GIT_HEADER}.tmp" "${temp}" )
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_GIT_HEADER}.tmp" "${LAMMPS_GIT_HEADER}")

View File

@ -1,7 +1,33 @@
[
{ include: [ "<bits/types/struct_rusage.h>", private, "<sys/resource.h>", public ] },
{ include: [ "<bits/exception.h>", public, "<exception>", public ] },
{ include: [ "@<Eigen/.*>", private, "<Eigen/Eigen>", public ] },
{ include: [ "@<gtest/.*>", private, "\"gtest/gtest.h\"", public ] },
{ include: [ "@<gmock/.*>", private, "\"gmock/gmock.h\"", public ] },
{ include: [ "@<gmock/.*>", private, "\"gmock/gmock.h\"", public ] },
{ include: [ "@<(cell|c_loops|container).hh>", private, "<voro++.hh>", public ] },
{ include: [ "@\"atom_vec_.*.h\"", public, "\"style_atom.h\"", public ] },
{ include: [ "@\"body_.*.h\"", public, "\"style_body.h\"", public ] },
{ include: [ "@\"compute_.*.h\"", public, "\"style_compute.h\"", public ] },
{ include: [ "@\"fix_.*.h\"", public, "\"style_fix.h\"", public ] },
{ include: [ "@\"dump_.*.h\"", public, "\"style_dump.h\"", public ] },
{ include: [ "@\"min_.*.h\"", public, "\"style_minimize.h\"", public ] },
{ include: [ "@\"reader_.*.h\"", public, "\"style_reader.h\"", public ] },
{ include: [ "@\"region_.*.h\"", public, "\"style_region.h\"", public ] },
{ include: [ "@\"pair_.*.h\"", public, "\"style_pair.h\"", public ] },
{ include: [ "@\"angle_.*.h\"", public, "\"style_angle.h\"", public ] },
{ include: [ "@\"bond_.*.h\"", public, "\"style_bond.h\"", public ] },
{ include: [ "@\"dihedral_.*.h\"", public, "\"style_dihedral.h\"", public ] },
{ include: [ "@\"improper_.*.h\"", public, "\"style_improper.h\"", public ] },
{ include: [ "@\"kspace_.*.h\"", public, "\"style_kspace.h\"", public ] },
{ include: [ "@\"nbin_.*.h\"", public, "\"style_nbin.h\"", public ] },
{ include: [ "@\"npair_.*.h\"", public, "\"style_npair.h\"", public ] },
{ include: [ "@\"nstencil_.*.h\"", public, "\"style_nstencil.h\"", public ] },
{ include: [ "@\"ntopo_.*.h\"", public, "\"style_ntopo.h\"", public ] },
{ include: [ "\"fmt/core.h\"", private, "\"fmt/format.h\"", public ] },
{ include: [ "<float.h>", public, "<cfloat>", public ] },
{ include: [ "\"float.h\"", public, "<cfloat>", public ] },
{ include: [ "<limits.h>", public, "<climits>", public ] },
{ include: [ "\"limits.h\"", public, "<climits>", public ] },
{ include: [ "<stdio.h>", public, "<cstdio>", public ] },
{ include: [ "<bits/types/struct_rusage.h>", private, "<sys/types.h>", public ] },
{ include: [ "<bits/types/struct_tm.h>", private, "<ctime>", public ] },
]

View File

@ -1,17 +1,98 @@
# preset that turns on all existing packages off. can be used to reset
# Preset that turns on all existing packages off. Can be used to reset
# an existing package selection without losing any other settings
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE
MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
SRD VORONOI
USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
USER-TALLY USER-UEF USER-VTK USER-YAFF)
set(ALL_PACKAGES
ADIOS
AMOEBA
ASPHERE
ATC
AWPMD
BOCS
BODY
BPM
BROWNIAN
CG-DNA
CG-SPICA
CLASS2
COLLOID
COLVARS
COMPRESS
CORESHELL
DIELECTRIC
DIFFRACTION
DIPOLE
DPD-BASIC
DPD-MESO
DPD-REACT
DPD-SMOOTH
DRUDE
ELECTRODE
EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP
GPU
GRANULAR
H5MD
INTEL
INTERLAYER
KIM
KOKKOS
KSPACE
LATBOLTZ
LATTE
MACHDYN
MANIFOLD
MANYBODY
MC
MDI
MEAM
MESONT
MGPT
MISC
ML-HDNNP
ML-IAP
ML-PACE
ML-QUIP
ML-RANN
ML-SNAP
MOFFF
MOLECULE
MOLFILE
MPIIO
MSCG
NETCDF
OPENMP
OPT
ORIENT
PERI
PHONON
PLUGIN
PLUMED
POEMS
PTM
PYTHON
QEQ
QMMM
QTB
REACTION
REAXFF
REPLICA
RIGID
SCAFACOS
SHOCK
SMTBQ
SPH
SPIN
SRD
TALLY
UEF
VORONOI
VTK
YAFF)
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)

View File

@ -1,19 +1,100 @@
# preset that turns on all existing packages. using the combination
# this preset followed by the nolib.cmake preset should configure a
# LAMMPS binary, with as many packages included, that can be compiled
# Preset that turns on all existing packages. Using the combination
# of this preset followed by the nolib.cmake preset should configure
# a LAMMPS binary, with as many packages included, that can be compiled
# with just a working C++ compiler and an MPI library.
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE
MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
SRD VORONOI
USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
USER-TALLY USER-UEF USER-VTK USER-YAFF)
set(ALL_PACKAGES
ADIOS
AMOEBA
ASPHERE
ATC
AWPMD
BOCS
BODY
BPM
BROWNIAN
CG-DNA
CG-SPICA
CLASS2
COLLOID
COLVARS
COMPRESS
CORESHELL
DIELECTRIC
DIFFRACTION
DIPOLE
DPD-BASIC
DPD-MESO
DPD-REACT
DPD-SMOOTH
DRUDE
ELECTRODE
EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP
GPU
GRANULAR
H5MD
INTEL
INTERLAYER
KIM
KOKKOS
KSPACE
LATBOLTZ
LATTE
MACHDYN
MANIFOLD
MANYBODY
MC
MDI
MEAM
MESONT
MGPT
MISC
ML-HDNNP
ML-IAP
ML-PACE
ML-QUIP
ML-RANN
ML-SNAP
MOFFF
MOLECULE
MOLFILE
MPIIO
MSCG
NETCDF
OPENMP
OPT
ORIENT
PERI
PHONON
PLUGIN
PLUMED
POEMS
PTM
PYTHON
QEQ
QMMM
QTB
REACTION
REAXFF
REPLICA
RIGID
SCAFACOS
SHOCK
SMTBQ
SPH
SPIN
SRD
TALLY
UEF
VORONOI
VTK
YAFF)
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)

View File

@ -1,13 +1,18 @@
# preset that will enable clang/clang++ with support for MPI and OpenMP (on Linux boxes)
# prefer flang over gfortran, if available
find_program(CLANG_FORTRAN NAMES flang gfortran f95)
set(ENV{OMPI_FC} ${CLANG_FORTRAN})
set(CMAKE_CXX_COMPILER "clang++" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "clang" CACHE STRING "" FORCE)
set(CMAKE_Fortran_COMPILER ${CLANG_FORTRAN} CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)

View File

@ -1,7 +1,7 @@
# Preset that turns on packages with automatic downloads of sources or 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 USER-MDI USER-PACE)
set(ALL_PACKAGES KIM LATTE MSCG VORONOI PLUMED SCAFACOS MACHDYN MESONT MDI ML-PACE)
foreach(PKG ${ALL_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)

View File

@ -1,11 +1,23 @@
# preset that will restore gcc/g++ with support for MPI and OpenMP (on Linux boxes)
# preset that will explicitly request gcc/g++ compilers with support for MPI and OpenMP
set(CMAKE_CXX_COMPILER "g++" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "gcc" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_COMPILER "gfortran" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Og -g" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(MPI_CXX "g++" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
set(MPI_C "gcc" CACHE STRING "" FORCE)
set(MPI_C_COMPILER "mpicc" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_DEBUG "-Wall -Og -g" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(MPI_Fortran "gfortran" CACHE STRING "" FORCE)
set(MPI_Fortran_COMPILER "mpifort" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Og -g -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-g -O2 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "gcc" CACHE STRING "" FORCE)

View File

@ -1,12 +1,26 @@
# preset that will enable hipcc plus gcc with support for MPI and OpenMP (on Linux boxes)
# preset that will enable hipcc plus gcc/gfortran 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_Fortran_COMPILER gfortran CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(OpenMP_CXX "hipcc" CACHE STRING "" FORCE)
set(MPI_CXX "hipcc" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "gcc" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_C_LIB_NAMES "gomp" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_CXX "hipcc" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "libomp.so" CACHE PATH "" FORCE)

View File

@ -0,0 +1,30 @@
# preset that will enable hip (clang/clang++) with support for MPI and OpenMP (on Linux boxes)
# prefer flang over gfortran, if available
find_program(CLANG_FORTRAN NAMES flang gfortran f95)
set(ENV{OMPI_FC} ${CLANG_FORTRAN})
set(CMAKE_CXX_COMPILER "hipcc" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "hipcc" CACHE STRING "" FORCE)
set(CMAKE_Fortran_COMPILER ${CLANG_FORTRAN} CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(MPI_CXX "hipcc" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "hipcc" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_CXX "hipcc" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "libomp.so" CACHE PATH "" FORCE)

View File

@ -3,9 +3,9 @@
# 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(Kokkos_ARCH_PASCAL60 ON CACHE BOOL "" FORCE)
set(BUILD_OMP ON CACHE BOOL "" FORCE)
get_filename_component(NVCC_WRAPPER_CMD ${CMAKE_CURRENT_SOURCE_DIR}/../lib/kokkos/bin/nvcc_wrapper ABSOLUTE)
set(CMAKE_CXX_COMPILER ${NVCC_WRAPPER_CMD} CACHE FILEPATH "" FORCE)
# hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)

View File

@ -0,0 +1,20 @@
# preset that enables KOKKOS and selects HIP compilation with OpenMP
# enabled as well. Also sets some performance related compiler flags.
set(PKG_KOKKOS ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_HIP ON CACHE BOOL "" FORCE)
set(Kokkos_ARCH_VEGA90A on CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_HIP_MULTIPLE_KERNEL_INSTANTIATIONS ON CACHE BOOL "" FORCE)
set(BUILD_OMP ON CACHE BOOL "" FORCE)
set(CMAKE_CXX_COMPILER hipcc CACHE STRING "" FORCE)
set(CMAKE_TUNE_FLAGS "-munsafe-fp-atomics" CACHE STRING "" FORCE)
# hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)
# these flags are needed to build with Cray MPICH on OLCF Crusher
#-D CMAKE_CXX_FLAGS="-I/${MPICH_DIR}/include"
#-D MPI_CXX_LIBRARIES="-L${MPICH_DIR}/lib -lmpi -L${CRAY_MPICH_ROOTDIR}/gtl/lib -lmpi_gtl_hsa"

View File

@ -4,3 +4,6 @@ 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)
# hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)

View File

@ -3,3 +3,6 @@ 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)
# hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)

View File

@ -0,0 +1,18 @@
# preset that enables KOKKOS and selects SYCL compilation with OpenMP
# enabled as well. Also sets some performance related compiler flags.
set(PKG_KOKKOS ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_SYCL ON CACHE BOOL "" FORCE)
set(Kokkos_ARCH_MAXWELL50 on CACHE BOOL "" FORCE)
set(BUILD_OMP ON CACHE BOOL "" FORCE)
# hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)
set(CMAKE_CXX_COMPILER clang++ CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
set(CMAKE_CXX_STANDARD 17 CACHE STRING "" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS "-Xsycl-target-frontend -O3" CACHE STRING "" FORCE)
set(CMAKE_TUNE_FLAGS "-fgpu-inline-threshold=100000 -Xsycl-target-frontend -O3 -Xsycl-target-frontend -ffp-contract=on -Wno-unknown-cuda-version" CACHE STRING "" FORCE)

View File

@ -1,13 +1,80 @@
set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
GRANULAR KSPACE LATTE MANYBODY MC MISC MLIAP MOLECULE OPT
PERI POEMS QEQ REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI
USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN USER-CGDNA USER-CGSDK
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
USER-HDNNP USER-INTEL USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD
USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP
USER-PHONON USER-PTM USER-QTB USER-REACTION USER-REAXC
USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF
USER-YAFF)
set(WIN_PACKAGES
AMOEBA
ASPHERE
ATC
AWPMD
BOCS
BODY
BPM
BROWNIAN
CG-DNA
CG-SPICA
CLASS2
COLLOID
COLVARS
COMPRESS
CORESHELL
DIELECTRIC
DIFFRACTION
DIPOLE
DPD-BASIC
DPD-MESO
DPD-REACT
DPD-SMOOTH
DRUDE
ELECTRODE
EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP
GPU
GRANULAR
INTEL
INTERLAYER
KSPACE
LATTE
MACHDYN
MANIFOLD
MANYBODY
MC
MDI
MEAM
MESONT
MGPT
MISC
ML-HDNNP
ML-IAP
ML-RANN
ML-SNAP
MOFFF
MOLECULE
MOLFILE
OPENMP
OPT
ORIENT
PERI
PHONON
PLUGIN
POEMS
PTM
QEQ
QTB
REACTION
REAXFF
REPLICA
RIGID
SHOCK
SMTBQ
SPH
SPIN
SRD
TALLY
UEF
VORONOI
YAFF)
foreach(PKG ${WIN_PACKAGES})
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
@ -16,7 +83,7 @@ endforeach()
# these two packages require a full MPI implementation
if(BUILD_MPI)
set(PKG_MPIIO ON CACHE BOOL "" FORCE)
set(PKG_USER-LB ON CACHE BOOL "" FORCE)
set(PKG_LATBOLTZ ON CACHE BOOL "" FORCE)
endif()
set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE)

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