Compare commits

..

905 Commits

Author SHA1 Message Date
2a6546d6f0 Merge pull request #2296 from akohlmey/next_patch_version
Update version strings for next patch release
2020-08-21 14:43:56 -04:00
cffc667259 Merge pull request #2298 from stanmoore1/mv2_var
Fix MVAPICH2 env variable for CUDA/aware
2020-08-21 14:04:57 -04:00
e0c74a30bc Fix MV2 env variable 2020-08-21 11:08:49 -06:00
7f87ccccc8 Merge branch 'collected-small-changes' into next_patch_version 2020-08-21 11:18:10 -04:00
3c7d59401c Merge pull request #2107 from junghans/offline_gtest
cmake: allow to overwrite GTest URL for offline machines
2020-08-21 10:57:08 -04:00
19c1fa8c94 need to re-initialize lattice variable after new lattice command 2020-08-21 01:01:12 -04:00
4c46119a48 Merge pull request #2280 from lammps/gridcomm-tiled
Support for tiled decompositions in PPPM
2020-08-21 00:16:20 -04:00
42018d3b35 add dispersion only kspace style tests 2020-08-20 23:42:23 -04:00
3183af9b85 fix a few more initialization issues in pppm/disp and pppm/disp/intel 2020-08-20 23:42:00 -04:00
2855f04363 tweak output format 2020-08-20 23:41:32 -04:00
deb24626d1 fix gc vs. gc6 issues in fix pppm/disp 2020-08-20 22:45:37 -04:00
0440b13a6d fix memory leaks 2020-08-20 22:27:15 -04:00
17a9612126 fix pppm/disp initialization issues 2020-08-20 22:17:32 -04:00
0a042be6b8 fix another pppm/disp bug for dispersion-only runs 2020-08-20 22:11:06 -04:00
e7639d4951 Merge pull request #2297 from akohlmey/more-fix-tests
Add a few more unit tests for fixes and fix some issues related to it
2020-08-20 20:18:09 -04:00
287112761c tweak load balancing output format 2020-08-20 18:51:28 -04:00
a742db2369 add a couple of kspace tests using tiled communication 2020-08-20 18:08:10 -04:00
398e929400 Merge branch 'master' into gridcomm-tiled 2020-08-20 17:58:35 -04:00
4fde9022a3 remove tabs 2020-08-20 17:54:26 -04:00
a70a5be2d8 Merge pull request #2289 from akohlmey/reduce-kokkos-compiler-warnings
Reduce compiler warnings in KOKKOS package
2020-08-20 17:52:07 -04:00
203ab71b62 Merge branch 'master' into gridcomm-tiled 2020-08-20 17:00:55 -04:00
c513b60f97 Merge branch 'reduce-kokkos-compiler-warnings' of github.com:akohlmey/lammps into reduce-kokkos-compiler-warnings 2020-08-20 16:59:46 -04:00
f3b0bf8a33 Merge branch 'master' into reduce-kokkos-compiler-warnings 2020-08-20 16:59:31 -04:00
cd7ba1d007 Merge branch 'master' into more-fix-tests 2020-08-20 16:41:29 -04:00
f0335fabb1 Merge pull request #2295 from akohlmey/add-fix-momentum-chunk
Add fix momentum/chunk
2020-08-20 16:40:51 -04:00
d6b19b80d0 Make all Kokkos functors structs 2020-08-20 13:52:53 -06:00
17b998edb3 fix whitespace issue 2020-08-20 15:51:41 -04:00
5306b39251 add tests for a few more wall fixes 2020-08-20 15:42:00 -04:00
56d00e115d add more tests for fixes 2020-08-20 15:32:47 -04:00
92622d9079 add restart support to fix temp/rescale, fix spring/chunk, and fix spring/rg 2020-08-20 15:32:10 -04:00
ff2242385b Tweak format 2020-08-20 12:56:56 -06:00
6862d70759 Merge branch 'master' of github.com:lammps/lammps into reduce-kokkos-compiler-warnings 2020-08-20 11:24:30 -06:00
6efc51d863 Update comment 2020-08-20 11:19:34 -06:00
394b2da585 Port changes to Kokkos 2020-08-20 11:09:21 -06:00
fc9f0dbcbc correct fix npt/cauchy docs 2020-08-20 11:29:30 -04:00
ba00626764 more force adding fix tests 2020-08-20 10:59:39 -04:00
e72ea35c40 add tests for a bunch of rigid fixes 2020-08-20 10:10:25 -04:00
0f11532162 remove class member that was incorrectly shadowing a base class member 2020-08-20 10:10:03 -04:00
ca7fa2aeef make names of fix-timestep inputs consistent with the rest 2020-08-20 09:25:40 -04:00
6bda49e8d8 step version strings for next patch release 2020-08-20 07:46:01 -04:00
ed26d8ef8f revert change to fft3d.cpp that breaks all PPPM styles 2020-08-19 20:24:03 -04:00
2ed18bb841 tweak output format 2020-08-19 20:15:00 -04:00
2feccc2837 fix dispersion gridcomm buffer bug 2020-08-19 20:12:43 -04:00
729b3d2717 major whitespace cleanup 2020-08-19 18:46:35 -04:00
503d3826bb Merge branch 'master' into gridcomm-tiled 2020-08-19 18:36:49 -04:00
fdb1e69768 silence compiler warnings 2020-08-19 18:36:28 -04:00
284cdceae8 silence compiler warnings 2020-08-19 18:19:28 -04:00
ba06a7bf0c final gridcomm comments and flip FFT forward/reverse 2020-08-19 16:05:30 -06:00
8f156bfee6 Fix typo in pppm_gpu.cpp 2020-08-19 14:25:06 -06:00
6f37da4eb2 Whitespace cleanup 2020-08-19 14:10:35 -06:00
5ea7ca94f4 Revert accidental change 2020-08-19 13:54:06 -06:00
073c7ee138 Fix warnings related to virtual function override 2020-08-19 13:29:11 -06:00
33cc932d03 Eigen3 is now hosted at GitLab. The bitbucket repo is gone. Update URLs and MD5s 2020-08-19 15:21:43 -04:00
af50d90b55 add author to README 2020-08-19 15:15:28 -04:00
20c24b1f3b add tests for momentum fixes and nve/limit 2020-08-19 15:08:46 -04:00
b1fbee9bd0 skip testing fix nve/limit for r-RESPA as it is not compatible by design 2020-08-19 15:08:32 -04:00
a0aca4cee4 improve error message 2020-08-19 15:08:04 -04:00
b4ce4a0979 must delete internal computes if they already exist (e.g. after a restart) 2020-08-19 15:07:56 -04:00
cc0d294478 Fix segfault 2020-08-19 13:05:23 -06:00
acd0a62de7 add new fix style momentum/chunk 2020-08-19 14:44:18 -04:00
3a8b2aef17 Small tweaks 2020-08-19 09:45:19 -06:00
e9de1c1a9a Merge pull request #2293 from akohlmey/collected-small-changes
Collected small changes and fixes
2020-08-19 11:11:43 -04:00
fcec5c35ea Remove error check in pppm_kokkos 2020-08-19 08:57:46 -06:00
f7c6e8e6b1 Eigen3 is now hosted at GitLab. The bitbucket repo is gone. Update URLs and MD5s 2020-08-19 10:50:54 -04:00
1413e61553 tweak test presision so it passes with more compilers 2020-08-19 00:59:50 -04:00
7e4e756b23 remove dead code 2020-08-18 22:46:34 -04:00
174a282e0c fix signed vs. unsiged warning 2020-08-18 22:46:26 -04:00
8e74d5ad02 Eigen3 is now hosted at GitLab. The bitbucket repo is gone. Update URLs and MD5s 2020-08-18 21:29:43 -04:00
4d31afce2d Port changes to PPPMKokkos 2020-08-18 16:06:43 -06:00
43f6fa4b29 Merge pull request #2136 from rbberger/refactor-reading
Refactor value parsing code segments and add dump tests
2020-08-18 16:18:33 -04:00
a53ee5664e silence compiler warnings about signed vs. unsigned ints 2020-08-18 15:51:06 -04:00
f6ac4a26c4 reorder initialization in constructor to silence compiler warnings 2020-08-18 15:47:03 -04:00
e2923d2d8c Merge branch 'master' of ssh://github.com/lammps/lammps into gridcomm-tiled 2020-08-18 13:43:33 -06:00
02f66f1e9f protect pragmas with ifdefs 2020-08-18 15:39:44 -04:00
b38bf6c06a silence some more unused parameter/variable warnings 2020-08-18 15:28:23 -04:00
07c47fbd4a silence some more signedness warnings 2020-08-18 15:28:02 -04:00
63575829da reorder initialization 2020-08-18 15:26:37 -04:00
e185537255 avoid uninitialized access 2020-08-18 14:33:14 -04:00
78d5714247 silence signed vs. unsigned integer warnings 2020-08-18 14:33:02 -04:00
a537ffabf9 correct illegal and uninitialized data access issue 2020-08-18 14:19:57 -04:00
2fea8f888a Merge branch 'master' into collected-small-changes 2020-08-18 14:15:06 -04:00
18b12e8979 Merge branch 'master' into reduce-kokkos-compiler-warnings 2020-08-18 13:50:35 -04:00
d63f3d87eb Merge pull request #2292 from akohlmey/warning-no-mixing-data-file
Print warning when writing PairCoeff section in data file may not sufficiently reproduce all pair coefficients
2020-08-18 13:45:44 -04:00
c7f8a6d154 Add format line test to dump atom 2020-08-18 13:15:28 -04:00
72f3c3803e Fix warning with #pragma unroll 2020-08-18 11:13:50 -06:00
216a016a08 Add simple tests for dump cfg 2020-08-18 12:37:16 -04:00
0d38a1418e Merge branch 'master' into warning-no-mixing-data-file 2020-08-18 12:24:01 -04:00
6b024d4697 Merge branch 'master' of github.com:lammps/lammps into reduce-kokkos-compiler-warnings 2020-08-18 10:15:55 -06:00
dae2cb2668 Merge pull request #2286 from weinbe2/fea-snap-ui-optim
Kokkos SNAP optimizations – Pre-computing Cayley-Klein parameters, symmetrized data layouts for host and device backends, reducing number of atomics
2020-08-18 11:55:46 -04:00
9c769fe90e Complete refactor of dump custom tests 2020-08-18 11:53:10 -04:00
6dfe2f3351 Minor code cleanup 2020-08-18 09:21:28 -06:00
d6ea2e9e9b More refactoring 2020-08-17 17:56:33 -04:00
e75ba02701 Merge remote-tracking branch 'origin/master' into refactor-reading 2020-08-17 17:36:01 -04:00
fa0aa7f8d2 Merge pull request #2291 from ThFriedrich/master
fix typos and indentations
2020-08-17 12:11:38 -04:00
23be41a1d3 fix typos and indentations 2020-08-16 04:43:07 +02:00
f0e36c74a8 silence more signedness comparison warnings 2020-08-15 18:10:13 -04:00
365d8f57f1 Refactor dump atom tests 2020-08-14 15:41:24 -04:00
b95cb37f62 correct indentation and silence warning about singed/unsigned comparison 2020-08-14 12:02:23 -04:00
71e0646063 Merge branch 'gridcomm-tiled' of github.com:lammps/lammps into gridcomm-tiled 2020-08-14 09:41:37 -06:00
eb78f8842f another change to pppm/stagger 2020-08-14 09:41:30 -06:00
3aee1b75b1 update README 2020-08-14 11:21:51 -04:00
08a5a05ece reduce compiler warnings in KOKKOS version of USER-DPD code 2020-08-13 20:54:06 -04:00
1939a9e665 silence a few more compiler warnings and remove dead code 2020-08-13 20:13:51 -04:00
4227c5e9e1 silence more compiler warnings about unused parameters and variables 2020-08-13 18:19:35 -04:00
1b60f876e0 Some refactoring of tests 2020-08-13 18:04:34 -04:00
dbcf66cf97 Increase coverage of dump custom 2020-08-13 17:41:06 -04:00
eab8652d3a Fix triclinic binary header in dump custom 2020-08-13 17:40:44 -04:00
2ba4778640 Add missing cleanup 2020-08-13 17:39:57 -04:00
f1afa45b92 Merge branch 'gridcomm-tiled' of ssh://github.com/lammps/lammps into gridcomm-tiled 2020-08-13 14:52:31 -06:00
40e55af8d7 Port GridComm changes to Kokkos 2020-08-13 14:51:58 -06:00
abc3e17619 fix loop control bug in qeq/reax/kk 2020-08-13 16:30:12 -04:00
6778489247 silence a whole bunch more compiler warnings 2020-08-13 16:26:50 -04:00
0d2a280397 silence compiler warnings 2020-08-13 15:46:00 -04:00
fbcc97586f Update binary format of dump custom 2020-08-13 14:45:22 -04:00
6225a7d45c Merge branch 'gridcomm-tiled' of github.com:lammps/lammps into gridcomm-tiled 2020-08-13 12:03:42 -06:00
a1ca4ecbe8 add GridComm API changes to msm/cg/omp 2020-08-13 12:03:32 -06:00
71ec14087d Reduce code duplication in tests 2020-08-13 13:00:37 -04:00
1fb7ba9e4b Add tests for dump_custom 2020-08-13 12:35:47 -04:00
27e8ee7bd8 Fix typo 2020-08-13 12:34:16 -04:00
87a356a211 Add write_dump tests for dump atom 2020-08-13 12:04:54 -04:00
f9697bd9f5 Add optional TIME to binary dump atom format 2020-08-13 11:48:29 -04:00
6d725c9b1c Merge pull request #2287 from akohlmey/lattice-region-tester
Add unittest tool for lattice and region (/w create_box/create_atoms)
2020-08-13 11:47:08 -04:00
6d80435b51 Refactoring dump_atom.cpp 2020-08-13 11:35:05 -04:00
836ba01d51 Rename test_dump.cpp to test_dump_atom.cpp 2020-08-13 11:14:30 -04:00
4157ab3bd3 silence compiler warnings about unused parameters 2020-08-13 11:11:28 -04:00
7b0bfed01d Add failure tests to dump atom 2020-08-13 11:01:16 -04:00
6d825dcb6b Add UNITS information to dump atom binary format 2020-08-13 10:49:03 -04:00
1c2747739a Merge pull request #2284 from akohlmey/fix-tester
Add unit test tool for fixes that do time integration, thermostatting, force manipulations and similar
2020-08-13 10:23:29 -04:00
b27d63059c Add tests for units in dump atom 2020-08-13 10:22:46 -04:00
dc484f06c8 do not mix class and struct for functors: use class consistently 2020-08-13 10:17:14 -04:00
bd7917919b update list of pointer variables to be initialized to NULL in the msm constructor 2020-08-13 09:34:02 -04:00
ba793f2e56 add region tests and a few more death tests for lattice commands 2020-08-12 22:16:50 -04:00
6eb6ab308b more tests for lattice command failures 2020-08-12 22:16:50 -04:00
f8c7c13168 complete lattice testers and start with regions+lattice+create_atoms 2020-08-12 22:16:50 -04:00
33118491a9 update custom lattice example for better syntax highlighting and remove unused lines 2020-08-12 22:16:50 -04:00
1cd2dfee3f add more lattices 2020-08-12 22:16:50 -04:00
5c5774c8a4 add check for compatible lattice command when calling create_atoms
without this check it is possibly to use the dimension keyword after
using lattice and then create atoms with an unsuitable lattice setting
2020-08-12 22:16:49 -04:00
7e558e4628 add tester tool for lattice and region commands 2020-08-12 22:16:49 -04:00
e2cedebd29 more enumerator to class definition in header, so it can be accessed by tester 2020-08-12 22:16:49 -04:00
3a1b88c57f enable MSM to work withe new GridComm class 2020-08-12 17:41:31 -06:00
e00544c8bf Merge branch 'gridcomm-tiled' of github.com:lammps/lammps into gridcomm-tiled 2020-08-12 14:28:25 -06:00
ecec36cc15 remove trial versions of PPPM2 and GridComm2 2020-08-12 14:26:15 -06:00
eae7312680 changes to more PPPM variants for tiled support 2020-08-12 14:25:28 -06:00
a5d27763e5 Added support for symmetrized memory layouts for ui/duidrj for the CPU- and GPU-path SNAP Kokkos implementation, various perf optimizations for ComputeUi/ComputeFusedDeidrj 2020-08-12 16:15:06 -04:00
adf8d638e8 add missing word 2020-08-11 21:23:47 -04:00
5050538d59 add tests for addforce and aveforce fixes 2020-08-11 21:00:16 -04:00
99604a6155 Merge branch 'collected-small-fixes' into fix-tester 2020-08-11 20:26:46 -04:00
68d94f9b59 fix memory leaks in pair style meam/spline 2020-08-11 20:25:35 -04:00
dff8a50a46 fix memory leak in pair style edip 2020-08-11 20:14:39 -04:00
4cfc920d65 remove unused variable 2020-08-11 19:58:51 -04:00
90acace136 fix restart issues in pair style lennard/mdf 2020-08-11 19:57:32 -04:00
3dda6b5752 Increase test coverage of dump atom 2020-08-11 19:00:32 -04:00
ef13372d13 Remove debug message 2020-08-11 18:32:58 -04:00
873b8b0104 Add dump atom tests with image=yes 2020-08-11 18:12:53 -04:00
560c29a0e1 Extends header of new binary format of dump atom 2020-08-11 17:37:46 -04:00
1238ad5d83 Fix binary2txt output for triclinic 2020-08-11 16:20:05 -04:00
b08751d65a Add triclinic tests for dump atom 2020-08-11 16:17:36 -04:00
51a7038dbf Merge branch 'master' into fix-tester 2020-08-11 16:14:27 -04:00
ac43f8f685 Merge pull request #1865 from danicholson/bond-style-special
Add bond style special
2020-08-11 16:06:26 -04:00
11af732aab tweak precision for edip test 2020-08-11 15:43:03 -04:00
3593d371eb Merge pull request #2285 from twhitehead/comm-for-fix-destructors
Move comm destruction to after modify to leave available for fixes
2020-08-11 15:21:36 -04:00
83f81c42b9 Fix typo 2020-08-11 15:08:58 -04:00
15cd007d7b Merge pull request #2283 from abhiShandy/soft-test
Add unit tests for /soft pair styles
2020-08-11 15:04:54 -04:00
3cae295f5b make test for unsupported pair styles more restrictive and improve docs about that
EAM styles have a single function but are not compatible, so we test for
single_enable == 0 and manybody_flag != 0.
Improve explanation in the documentation about which pair styles are not supported.
2020-08-11 15:04:14 -04:00
2ad9e06bac Sync DumpAtom and binary2txt to generate the same
Modifies the binary dump atom format to include columns information.
binary2txt showcases how to detect the new format by checking for
negative ntimestep values. It increases the binary file size
16 bytes per timestep.
2020-08-11 14:59:01 -04:00
265b7cf11c use new dependency resolver in pip for the documentation build virtual environment 2020-08-11 14:11:44 -04:00
03ca86ee84 Merge branch 'master' into bond-style-special 2020-08-11 13:55:24 -04:00
e3a1fd7c02 Add tests for dumps 2020-08-11 12:55:39 -04:00
46021a57a6 addressed incompatibility with long range coulombics 2020-08-11 12:22:07 -04:00
65d9eef707 add test for pair style extep 2020-08-11 09:57:32 -04:00
6b84cd1c48 add test for pair style morse/smooth/linear 2020-08-11 09:57:23 -04:00
f685a7cc93 fix incorrect sign bug 2020-08-11 09:56:19 -04:00
8fb356d901 fix initialization after restart bug 2020-08-11 09:56:07 -04:00
5c0ec78cd2 add test for pair style e3b 2020-08-11 08:57:40 -04:00
0cb3163bd6 may test for atom types only after system is initialized 2020-08-11 08:57:27 -04:00
172435b662 add tests for lj/expand/coul/long 2020-08-11 08:38:42 -04:00
7ff5a7fccd fix bugs with single and r-RESPA 2020-08-11 08:37:03 -04:00
f77b80180c simplify 2020-08-11 08:36:39 -04:00
175a6c26a7 Add Info::get_mpi_vendor() function 2020-08-10 19:02:39 -04:00
5ee4346700 fixed test for tip4p_long_soft, and mentioned the required coefficients for coul/*/soft sub-styles 2020-08-10 17:16:07 -04:00
b9ce53e096 update tests for r-RESPA testing of fixes 2020-08-10 17:03:19 -04:00
70f37d6613 update for handling r-RESPA properly 2020-08-10 17:02:56 -04:00
33c97618be using hybrid/overaly to add soft repulsion to purely coulombic pair-styles 2020-08-10 16:52:32 -04:00
a7fee0a96f replace strstr with utils::strmatch 2020-08-10 16:28:42 -04:00
a83147ce20 fixed bug in respa neighbor list 2020-08-10 16:01:28 -04:00
7d8dcb0fb0 Remove strtok from reader_native.cpp 2020-08-10 15:56:06 -04:00
1370090586 Move comm destruction to after modify to leave available for fixes
Needed in some cases to cleanup asynchronous inter-step transfers.
2020-08-10 15:49:52 -04:00
3993f53946 must skip DeathTests if no data file loaded 2020-08-10 15:46:28 -04:00
67af8c000e fix r-RESPA bug in storing global total force data 2020-08-10 15:46:00 -04:00
b12f9d5150 Remove strtok in thermo.cpp 2020-08-10 13:53:59 -04:00
079cc123e5 Remove unused function 2020-08-10 12:27:08 -04:00
e2b113b5e1 Merge branch 'master' into refactor-reading 2020-08-10 12:25:16 -04:00
6f1055a9b1 Merge pull request #2281 from jtclemm/patch_fix_store
Patch fix store to encode the size of per-atom data consistently with other related fixes for restarting.
2020-08-10 12:09:08 -04:00
e3beec8b95 revert permission change and replace 'b/c' with 'because' 2020-08-10 11:37:52 -04:00
0025140902 flag which table - identified by keyword - has a warning 2020-08-10 11:09:10 -04:00
869b09a78f fix typo 2020-08-10 11:08:30 -04:00
b92eda8ab8 enable testing with r-RESPA for real 2020-08-09 17:36:15 -04:00
c3903efb46 add test for berendsen barostat 2020-08-09 16:45:21 -04:00
4b7356f5af add support for testing virial contributions from fixes (as an option) 2020-08-09 16:39:31 -04:00
f1da1ed180 document restart capability of fix temp/csld and fix temp/csvr 2020-08-09 15:29:12 -04:00
e51bec10a8 one more test variant for fix setforce 2020-08-09 15:18:28 -04:00
4708cd7e1f always call MPI_Finalize() before exiting tester program 2020-08-09 15:17:53 -04:00
b223ca1436 cleanup and bugfix 2020-08-09 15:12:38 -04:00
2fcd7b79ab make certain that internal data in RanMars is initialized to avoid false positive with valgrind 2020-08-09 15:12:10 -04:00
f1da2b2f5f add tests for fix/csvr and fix/csld 2020-08-09 14:56:43 -04:00
bbcae3b20c added restart capability to fix temp/csld and fix temp/csvr 2020-08-09 14:56:27 -04:00
383bb7f905 added restart capability to RanMars 2020-08-09 14:56:00 -04:00
897ae681d3 remove dead code 2020-08-09 14:55:35 -04:00
548e108695 simplify 2020-08-09 14:55:11 -04:00
6e9bf8709e add tests for fix rattle 2020-08-09 13:58:10 -04:00
d8cd12b285 print warning only on MPI rank 0 2020-08-09 13:57:04 -04:00
3ebd194090 update documentation for unit testing to include timestepping fix tests 2020-08-09 08:18:35 -04:00
cabb166041 add tests for fix shake 2020-08-09 07:40:24 -04:00
a4eea29d90 add fix setforce test with variables 2020-08-09 07:32:46 -04:00
a6cc775241 add example for wall fix 2020-08-09 07:25:27 -04:00
1989279442 no need to list all dependencies. if atom style full is available, the rest is, too. 2020-08-09 07:25:15 -04:00
2053776118 increase code coverage 2020-08-09 07:13:26 -04:00
d7c1162e9d make plain and omp test consistent 2020-08-09 07:12:56 -04:00
a27a03bc1a now also test for global scalars and vectors and t_target for thermostats 2020-08-09 01:48:12 -04:00
b1e9b6d3fc set variable for checking thermostat target temperature 2020-08-09 01:33:37 -04:00
88f89c8f14 correctly read entire vector 2020-08-09 01:27:56 -04:00
62a501ebda store cumulative energy change in restart file 2020-08-09 01:27:14 -04:00
e94d1c5537 add function to query whether ErrorStats class has data 2020-08-09 01:01:35 -04:00
2edad432ce add support for storing a global scalar and global vector 2020-08-09 00:03:43 -04:00
4b5bc8f63b some more fix tests 2020-08-08 23:14:16 -04:00
6276e72509 also check fix styles. properly detect upper case. 2020-08-08 23:13:57 -04:00
511944d9bd add a first set of tests for timestepping fixes 2020-08-08 22:54:58 -04:00
faac18ffd2 add tester tool for timestep related fixes: integrators, thermostats, force manipulations, constraints 2020-08-08 22:54:17 -04:00
0ce43efc34 reorder folders, so that the fast tests are run first 2020-08-08 22:52:41 -04:00
6cea5a9aef added missing restart_settings() in morse/soft 2020-08-08 17:11:25 -04:00
9bbd6099af unit tests for /soft pair styles 2020-08-08 16:30:27 -04:00
f69dd734b2 update format 2020-08-08 14:48:11 -04:00
d0720794a6 Replaced mistakenly dropped line 2020-08-08 09:24:37 -06:00
41904f7946 Added cautionary comments 2020-08-08 09:15:56 -06:00
2775b93789 Merge pull request #2282 from akohlmey/more-unit-tests
Add more unit tests for pair and kspace styles
2020-08-07 19:06:44 -04:00
54b933164f tweak epsilon 2020-08-07 18:34:39 -04:00
7aae5ba5d1 set molecule ids for testing interlayer potentials 2020-08-07 18:34:25 -04:00
17b7476217 avoid sqrt computation on cutoffs. make single functions consistent with compute 2020-08-07 18:34:10 -04:00
9f469623c0 add test for lj/smooth/linear and gaus/cut 2020-08-07 18:13:58 -04:00
e169a5c785 add tests for pair style coul/streitz 2020-08-07 18:06:57 -04:00
a17633bd20 use open_potential in pair style coul/streitz 2020-08-07 18:06:43 -04:00
c5cd108113 add tests for coul/shield, coul/slater/cut and coul/slater/long 2020-08-07 16:59:21 -04:00
2ffa7430ab fix restart bug in pair style coul/shield 2020-08-07 16:58:56 -04:00
7d26fbc6e2 add test for pair style coul/diel 2020-08-07 16:51:23 -04:00
e217635e9a fix bug in reading binary restarts for pair style coul/diel 2020-08-07 16:51:12 -04:00
0537cc721e add test for pair style edip/multi 2020-08-07 16:32:53 -04:00
ec0c3d60a8 add test for pair style edip 2020-08-07 16:30:12 -04:00
4542a39f21 fix indexing bug in pair style edip/omp 2020-08-07 16:29:53 -04:00
8e0dccee2c add test for pair style meam/sw/spline 2020-08-07 16:08:28 -04:00
51decfcf85 add test for pair style meam/spline 2020-08-07 14:53:11 -04:00
04cc5df27b atom type to element mapping is not done correctly. for now require exactly one atom type per element 2020-08-07 14:52:51 -04:00
1c33bff557 add test for pair style yukawa/colloid 2020-08-07 12:04:23 -04:00
efa8b3486f update colloid test template so it can handle different atom styles 2020-08-07 12:04:06 -04:00
15e969ca5b add triclinic support to ewald/omp 2020-08-07 11:11:52 -04:00
094f52c378 make space style msm an explicit dependency 2020-08-07 00:07:36 -04:00
7d9f6b0dc5 add tests for pair styles from USER-SDK 2020-08-07 00:07:18 -04:00
a42365bf90 add support enforce writing a data file with pair ij as required by sdk styles 2020-08-07 00:05:34 -04:00
1d539ea787 make single function consistent with compute 2020-08-07 00:04:59 -04:00
c6d5715ea1 add tests for meam/c 2020-08-06 23:12:16 -04:00
d2a66cc9ee Merge branch 'master' into gridcomm-tiled 2020-08-06 22:27:35 -04:00
aa393f35db Merge pull request #2279 from akohlmey/collected-small-changes
Collected small changes and fixes
2020-08-06 22:26:20 -04:00
3c21642bf1 Merge branch 'collected-small-changes' into gridcomm-tiled 2020-08-06 21:53:46 -04:00
522a76694f test pppm with triclinic cell 2020-08-06 21:52:37 -04:00
b91419397d update (some) kspace tests to run faster 2020-08-06 21:49:03 -04:00
6dd903cfff Merge branch 'collected-small-changes' into gridcomm-tiled 2020-08-06 18:47:38 -04:00
8327613192 Merge branch 'master' into gridcomm-tiled 2020-08-06 18:35:33 -04:00
cd31006006 add test for pair style python 2020-08-06 17:53:11 -04:00
ec0b3ae8d2 add test for pair style tip4p/cut 2020-08-06 16:54:39 -04:00
e1219399b4 add tests for buck/long/coul/long 2020-08-06 16:26:37 -04:00
fefed73cb9 fix bug in single function of buck/long/coul/long 2020-08-06 16:26:26 -04:00
ad71475e91 more tests 2020-08-06 16:09:47 -04:00
dae97e1151 add tabulation for long-range coulomb 2020-08-06 16:09:36 -04:00
8826ea91e2 inherited single function doesn't match, we need to set single_enable to 0 2020-08-06 16:09:21 -04:00
0d677321d8 more tests for coreshell 2020-08-06 15:50:31 -04:00
ad9483343c reformat pair_coeff section 2020-08-06 15:49:31 -04:00
e93e49a777 restore printing alphabetically sorted lists of missing styles 2020-08-06 15:30:52 -04:00
e777454888 add unittest for pppm/tip4p with kspace_modify diff ad and fix related bug in pppm/tip4p/omp 2020-08-06 14:42:15 -04:00
89694d3f8e small tweak 2020-08-06 11:45:00 -04:00
5caeb2c2ee generalize to allow GridComm to be called from Fixes or Computes 2020-08-06 08:36:59 -06:00
15db052c80 Merge branch 'master' into collected-small-changes 2020-08-05 22:10:10 -04:00
c3075250ee Merge pull request #2273 from abhiShandy/pair-tests-aug4
Bunch of units tests for pair-style, angle-style, bond-style
2020-08-05 22:09:28 -04:00
787d7d28d0 Merge pull request #1296 from Adrian-Diaz/multi-comm-tiled
updated comm tiled to have multi style ghost communication
2020-08-05 21:27:33 -04:00
6b1191b1c0 Forgot to update saving buffer size 2020-08-05 18:59:33 -06:00
ae3df83ed8 Merge pull request #2275 from stanmoore1/kk_hip
First set of changes for Kokkos HIP
2020-08-05 19:52:35 -04:00
458243604b change atom style tests expand covered code paths: tiled vs. brick comm, orthogonal vs. triclinic. relax floating point check precision 2020-08-05 19:27:59 -04:00
27fe315db7 Matching style of other fixes 2020-08-05 17:25:58 -06:00
5f83edd127 remove references to non-existent MPI_Statuses 2020-08-05 17:24:09 -06:00
1871175871 Patched fix/store 2020-08-05 17:20:13 -06:00
ac08bcadf7 use bbox keyword on some replicate commands to increase code coverage 2020-08-05 18:49:05 -04:00
8b76e47d6b support for tiled decompositions in PPPM 2020-08-05 16:44:56 -06:00
0e7c5a014d Merge pull request #2276 from rbberger/fmtlib-upgrade
Upgrades the fmt library to version 7.0.2
2020-08-05 18:34:34 -04:00
65574be178 whitespace fixes 2020-08-05 17:52:16 -04:00
304d6876f4 a few bug fixes for support for multi and triclinic in CommTiled 2020-08-05 15:44:02 -06:00
8f84b6cbe6 Merge branch 'fix_typo_doc_dpd' of github.com:pdebuyl/lammps into collected-small-changes 2020-08-04 19:42:32 -04:00
d53fc62fb0 change fmtlib internal namespace from v7 to v7_lmp to avoid clashes when linking with other fmtlib variants 2020-08-04 19:18:44 -04:00
8558e9bd45 fix bug when applying floating point output formatting to integers 2020-08-04 19:10:19 -04:00
67a9856e0c silence compiler warning when converting MAXBIGINT to a double 2020-08-04 19:07:53 -04:00
ae765f9d6e Add missing KOKKOS_INLINE_FUNCTION 2020-08-04 17:03:54 -05:00
1a642d36ae fix typo in the math of pair style dpd doc
- missing closing backticks for math
- V fixed to v for relative velocity
2020-08-04 22:50:26 +02:00
0b6c7ba502 Add missing KOKKOS_INLINE_FUNCTION 2020-08-04 13:07:35 -05:00
7294936322 Add missing fmt license 2020-08-04 13:39:18 -04:00
c6f5640d48 Simplify #ifdef 2020-08-04 11:25:42 -06:00
2fe7be0d37 Reapply fmt patches for Intel compiler issues
- work around issue of the Intel compiler disguising as clang on MacOS
- {fmt}: don't use [[gnu::fallthrough]] on intel compilers
2020-08-04 13:18:54 -04:00
63cbbf9605 Upgrade embedded fmt library to v7.0.2 2020-08-04 13:17:57 -04:00
ed566bf6af First set of changes for Kokkos HIP 2020-08-04 12:16:26 -05:00
18bc389339 print warning, when mixed pair coeffs were set explicitly but are not written in data file 2020-08-04 07:18:48 -04:00
e860779fa0 formatting update 2020-08-04 07:17:28 -04:00
357716ec4c correctly check of mu and torque flags as those data structures are always accessed. 2020-08-04 07:17:12 -04:00
f9539f9ca6 remove unused code 2020-08-04 07:08:55 -04:00
f895904d2c Merge branch 'pair-tests-aug4' of github.com:abhiShandy/lammps into pair-tests-aug4 2020-08-04 02:18:06 -04:00
5592bac69c Merge branch 'bond-styles-Aug4' into pair-tests-aug4 2020-08-04 02:17:06 -04:00
59c5a62a00 Merge branch 'angle-tests-Aug4' into pair-tests-aug4 2020-08-04 02:16:57 -04:00
feadfaf9be unit tests for angle-class2/p6, angle-cross and angle-mm3 2020-08-04 02:15:11 -04:00
eed7113506 tests for fene, fene/expand 2020-08-04 01:57:23 -04:00
f407db6198 add test for lj/cut/tip4p/cut 2020-08-04 00:11:14 -04:00
b217375744 add tests with AD instead of IK 2020-08-03 23:45:46 -04:00
83519290e7 add kspace tests with slab correction and pppm/stagger 2020-08-03 23:31:32 -04:00
ef8b619840 fix missing support for nozforce in ewald/omp 2020-08-03 23:21:54 -04:00
4e46c0aef4 add missing born/coul/long variant using tabulation 2020-08-03 23:02:29 -04:00
c2ed040529 simplify 2020-08-03 22:49:21 -04:00
89d85436f1 update reference data for triclinic case 2020-08-03 22:42:18 -04:00
f4aede49dc Merge branch 'master' into multi-comm-tiled 2020-08-03 22:37:23 -04:00
ea900b3482 add test input template for tiled with triclinic and multi-cutoff 2020-08-03 22:17:04 -04:00
d89a047461 Simplify write data code 2020-08-03 22:08:06 -04:00
6bc65dc14c reference typos in doc 2020-08-03 20:49:02 -04:00
a921c44a4f fix bug in writing data 2020-08-03 20:48:37 -04:00
de828fceaf test for cosine/squared 2020-08-03 20:48:11 -04:00
0db1c66b03 triclinic compatibility 2020-08-03 20:16:20 -04:00
33aa96b1bf test for buck/mdf, fixed bug in broadcasting inner cutoff, typos in doc 2020-08-03 20:07:24 -04:00
6576c4cbf3 Merge pull request #2260 from akohlmey/collected-small-changes
Collected small changes
2020-08-03 18:02:17 -04:00
ca7039aa96 Merge pull request #2271 from abhiShandy/pair-tests-Aug3
Unit tests for born/coul, ufm, yukawa, soft
2020-08-03 17:23:22 -04:00
9cd0a52c44 Remove old comment 2020-08-03 16:58:56 -04:00
4126ba24c1 Move timespec2seconds to utils 2020-08-03 16:54:53 -04:00
436951fb34 Merge pull request #2270 from akohlmey/check-test-coverage
Add utility to check for missing force style tests
2020-08-03 16:47:49 -04:00
851a22802e add tests for pair style colloid in variants in several neighbor list and comm variants
this does 3 tests:
- regular neighborlist binning with single cutoff communication
- comm style brick with multi-cutoff neighborlists and communication
- comm style tiled with multi-cutoff neighborlists and communication
2020-08-03 16:16:56 -04:00
6dcd962718 fix indentation and whitespace 2020-08-03 16:09:11 -04:00
a6b3ee7a07 fix bugs in comm style tiled with multi-cutoff 2020-08-03 16:08:13 -04:00
7ed748118e add exception for single test for colloid pair style 2020-08-03 16:07:32 -04:00
8d406403bb fix typo in manual 2020-08-03 16:07:06 -04:00
d0be219419 Refactor check-styles.py 2020-08-03 14:26:55 -04:00
9db3004d0c Merge branch 'master' into multi-comm-tiled 2020-08-03 14:08:53 -04:00
f9d1a914fb Update check-packages.py 2020-08-03 13:49:37 -04:00
4549493145 Refactor check-packages.py 2020-08-03 13:47:40 -04:00
944ac44b44 Update pair coul streitz 2020-08-03 13:13:47 -04:00
2ffb29f65e Merge remote-tracking branch 'origin/master' into refactor-reading 2020-08-03 11:50:23 -04:00
23a8b3438d Merge pull request #2267 from abhiShandy/force-tests
unit tests for beck, morse, few LJ derivatives, few buck/coul and born/coul
2020-08-03 11:41:16 -04:00
d09d40af9d make check for alternate linke more restrictive: also check for linker binary. 2020-08-03 11:36:02 -04:00
865e853a41 Refactor check_tests.py 2020-08-03 10:37:45 -04:00
9bc1da64fb pair style gauss does not apply special_bonds 2020-08-03 08:42:36 -04:00
7e5e741ea1 update code for ufm/gpu to match changes in base class where uf4 is removed 2020-08-03 08:12:09 -04:00
d271ee65e8 Merge branch 'pair-tests-Aug3' of github.com:abhiShandy/lammps into pair-tests-Aug3 2020-08-03 08:03:01 -04:00
f3d7f0be2d update test reference data for pair style ufm 2020-08-03 08:01:37 -04:00
69688bbc1a must initialize scale array entries when using mixed parameters 2020-08-03 08:01:13 -04:00
c171b2ceda fix incomplete restart bug in pair style ufm 2020-08-03 08:00:54 -04:00
ad6b37d688 bug in forcelj of gauss_omp 2020-08-03 08:00:41 -04:00
d241b17c8e remove unused setting and array 2020-08-03 07:44:32 -04:00
86c6efc04c sort list of missing styles alphabetically 2020-08-03 07:30:15 -04:00
bb183345bb remove obsolete function 2020-08-03 07:29:53 -04:00
10c0b8d90e passing test for soft 2020-08-03 06:23:23 -04:00
80ceff55d5 failing test for UFM, with cosmetic change in its CPP, and doc correction 2020-08-03 06:01:59 -04:00
8eb84229bd passing tests for born-coul, gauss and yukawa 2020-08-03 05:59:44 -04:00
90028a3c71 properly handle hybrid styles when checking for missing tests 2020-08-03 00:43:41 -04:00
896a08883b add a custom python script to check the completeness of tests inputs 2020-08-03 00:12:51 -04:00
bbb4c39692 Merge branch 'wip-tests' into force-tests 2020-08-01 14:53:10 -04:00
eb91c6feb6 correct data file output format for ZBL style. update reference output. 2020-08-01 14:43:14 -04:00
cc87557fa7 tweak parameters for lj/expand to stabilize test run 2020-08-01 14:24:50 -04:00
6827eb80a8 fix missing initialization bug in lj/cut/coul/wolf and update reference data 2020-08-01 14:18:40 -04:00
a4db52c30f tweak potential parameters for better stability of test run 2020-08-01 14:05:27 -04:00
4c3dc9566c need to explicitly clamp the forces and energy in single function to zero at (implicit) pairwise cutoff 2020-08-01 14:05:04 -04:00
891be9313a fix parameters initialization bug in pair style lj/cubic 2020-08-01 13:37:07 -04:00
7158f47157 bugfix for pair style buck/coul/cut 2020-08-01 11:15:07 -04:00
34279840fc unit tests for few buck/coul and born/coul; remove mixing from buck 2020-08-01 08:52:07 -04:00
d15db7b5a7 fix the atomic numbers in ZBL test 2020-08-01 07:49:06 -04:00
86c53cb211 unit tests for few LJ derivatives and ZBL 2020-08-01 07:39:33 -04:00
2a487f5f47 unit tests for beck, morse, and few LJ derivatives 2020-08-01 07:27:39 -04:00
729cc81f31 make more use of utils::logmesg() 2020-07-31 22:16:06 -04:00
74f50ed1bd Merge branch 'master' into collected-small-changes 2020-07-31 21:51:10 -04:00
75dcd9ae29 Merge pull request #2266 from Vsevak/fix_opencl
Fix handling of CL_DEVICE_TYPE flags
2020-07-31 21:50:33 -04:00
59b5c7c154 Merge pull request #2264 from akohlmey/fix_ttm_parser_update
Refactor parsing of input files in fix ttm and fix ttm/mod
2020-07-31 18:14:54 -04:00
b6b5d369b4 Merge pull request #2265 from abhiShandy/easy-pairs
Unit tests for born, buck, lj96 and mie cut
2020-07-31 15:45:14 -04:00
db47eeb2a9 Fix handling of CL_DEVICE_TYPE flags 2020-07-31 19:21:32 +03:00
067540fef1 diversify exponents in mie/cut test 2020-07-31 12:11:24 -04:00
1017b76c71 reformat pair_coeff section in buck test for better readability 2020-07-31 12:08:00 -04:00
12924346ac unit tests for born, buck, lj96 and mie cut 2020-07-31 11:46:51 -04:00
1f1263645e Document warning about short communication cutoff vs. bond length based estimate 2020-07-31 11:03:26 -04:00
adde2439a6 Merge pull request #2263 from junghans/gitattributes
Add .gitattributes
2020-07-31 00:18:02 -04:00
8cb63194aa optimize utils::strmatch() by using const string reference 2020-07-30 23:42:03 -04:00
814e2e9aaf turn off optimization for Clang compilers when compiling atom style tester 2020-07-30 23:41:24 -04:00
1cf7a12a5f trim whitespace before parsing numbers 2020-07-30 23:40:34 -04:00
c3db11a807 fix argument index bug carried over from syncing with fix ttm 2020-07-30 23:40:09 -04:00
4b91ab0d23 add utils::trim() function to remove leading and trailing whitespace from string 2020-07-30 23:39:37 -04:00
3370d2f8de Add .gitattributes
This will help to strip out some developer-only files from the
GitHub generated tarballs.
2020-07-30 10:51:21 -06:00
45af603c04 Make patch informational too 2020-07-30 12:26:55 -04:00
09e0ad19f5 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2020-07-30 12:21:46 -04:00
763fa426cf Enable patch status 2020-07-30 12:21:40 -04:00
6812649a65 Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2020-07-30 12:08:43 -04:00
1ae785132c Add codecov.yml 2020-07-30 12:08:15 -04:00
f0e6651780 Merge branch 'first-test' of github.com:abhiShandy/lammps into collected-small-changes 2020-07-30 11:46:06 -04:00
facb2f3c27 fix error in determining A/B parameters. outputs now match lj/mdf as expected. 2020-07-30 11:44:37 -04:00
4a28a708b9 T_initial_set array is only required during reading of the mesh 2020-07-30 10:36:03 -04:00
36f4e6789a simple test for pair-born 2020-07-30 03:30:57 -04:00
6a90a2affe consistently check for presence of all input mesh data 2020-07-29 23:43:45 -04:00
7d46aa6185 Merge pull request #2256 from akohlmey/cmake-use-alternate-linker
Use alternate/faster linker if available
2020-07-29 21:40:17 -04:00
2c3f9b111a whitespace cleanup: replace tabs and remove trailing blanks 2020-07-29 21:36:24 -04:00
8c30b320fd Merge branch 'master' into collected-small-changes 2020-07-29 21:32:16 -04:00
c355348ff9 remove local copy of "me" 2020-07-29 21:31:51 -04:00
df3d04662d Merge pull request #2259 from lammps/rcb-tiled-tri
enable comm_style tiled and load-balancing to work for triclinic boxes
2020-07-29 21:23:20 -04:00
dd001e80d2 Merge branch 'master' into rcb-tiled-tri 2020-07-29 20:37:28 -04:00
b00bfc82c8 Merge pull request #1426 from Adrian-Diaz/comm_tiled_sendself_fix
Add bugfix for comm_tiled_sendself
2020-07-29 20:35:33 -04:00
b402b00882 Merge branch 'master' into comm_tiled_sendself_fix 2020-07-29 18:23:51 -04:00
2fa642d95e document custom linker choice 2020-07-29 18:01:17 -04:00
d0b6ce8284 displace target link options (if supported by CMake version) 2020-07-29 17:46:24 -04:00
1f1767f5af convert linker choice to (advanced) choice. only for Clang and GNU at the moment 2020-07-29 17:36:34 -04:00
2923dcbbd6 Merge pull request #2258 from akohlmey/phana-update
Update phana tool for USER-PHONON from GitHub repo
2020-07-29 16:52:47 -04:00
8c849c0104 add test file for pair style lennard/mdf 2020-07-29 16:41:11 -04:00
6707e64d14 change class name and add write_data support with pair style lennard/mdf 2020-07-29 16:39:44 -04:00
d3b5e50da3 fix bugs in lennard/mdf pair style 2020-07-29 16:39:07 -04:00
59ff6b7abc Add comment explaining the change 2020-07-29 16:33:54 -04:00
cb98fa00da enable CommStyle tiled and load-balancing to work for triclinic 2020-07-29 14:30:49 -06:00
4d9781f9b6 fix typo an reorder 2020-07-29 11:10:14 -04:00
7df8a63045 update phana tool for USER-PHONON from github 2020-07-29 10:48:04 -04:00
1677b76b6c try using faster alternatives to GNU ld when building (many) test executables 2020-07-28 20:56:32 -04:00
cc0cf3b94f consolidate USER-REAXC init error message handling. avoid snprintf and buffer 2020-07-28 20:40:57 -04:00
29c50671da Merge pull request #2254 from Vsevak/fix_opencl
Fix corrupted character in GPU package
2020-07-27 20:08:18 -04:00
ae329acd3b Merge pull request #2255 from akohlmey/charset-cleanup
Charset cleanup in (most) source files
2020-07-27 19:41:36 -04:00
9db34bc18e cosmetic changes to CommTiled for comm multi style 2020-07-27 16:15:41 -06:00
477b97f257 remove some more extended ASCII characters 2020-07-27 17:33:35 -04:00
2bb5c53a47 remove/replace extended ASCII characters from comments 2020-07-27 17:15:29 -04:00
634f274a04 whitespace cleanup: replace tabs and remove trailing whitespace 2020-07-27 17:14:53 -04:00
41535d8de3 Merge pull request #2253 from stanmoore1/kk_snap_bug
Fix issue in pair_snap_kokkos
2020-07-27 14:09:43 -04:00
93f14e9bba Fix broken ASCII symbol in GPU package 2020-07-27 20:16:55 +03:00
6dc52dff73 Fix bug in pair_snap_kokkos 2020-07-27 10:30:04 -06:00
884355b335 Merge pull request #2252 from akohlmey/collected-small-changes
Collected small changes and bugfixes
2020-07-27 12:01:18 -04:00
780fb5b376 add test function to validate updated topology data after reset_atom_ids 2020-07-27 10:43:37 -04:00
1fb1a5f461 fix incorrect ubuf decoding bug in reset_atom_ids 2020-07-27 09:48:13 -04:00
94c9cdbc05 print messages about reading potential files only on MPI rank 0 2020-07-27 06:19:35 -04:00
5452f72bd9 convert fix ttm and fix ttm/mod to use tokenizer class for parsing files 2020-07-25 18:03:18 -04:00
79984e31db small i/o tweaks 2020-07-24 14:10:30 -04:00
783b28906e Merge pull request #2250 from rbberger/doc-remove-small-images
Remove unnecessary thumbnails
2020-07-23 11:50:07 -04:00
5528d4d18c trim excessive white from images 2020-07-23 00:36:15 -04:00
f60c13c845 fix incorrect link 2020-07-23 00:36:02 -04:00
c21ce0b289 make horizontally aligned image formatting consistent and display "click on" message only with html output 2020-07-23 00:35:49 -04:00
9ceb0fd6a0 update output formatting and send all to screen and log 2020-07-22 22:51:47 -04:00
11e3adc91b make sure per-atom data is initialized to zero 2020-07-22 22:51:16 -04:00
545f50f9ec limit precision 2020-07-22 22:50:57 -04:00
b97f2e5b6b Update compute_saed.rst 2020-07-22 16:48:21 -04:00
bf848c0515 Update compute_xrd.rst 2020-07-22 16:45:56 -04:00
1123add481 Update create_atoms.rst 2020-07-22 16:44:04 -04:00
7f66099732 Update dump_image.rst 2020-07-22 16:41:59 -04:00
b664050e28 Update src/neb.rst 2020-07-22 16:39:18 -04:00
22a1e452ce Update fix_wall_gran_region.rst 2020-07-22 16:35:45 -04:00
e82367b530 Update balance.rst and fix_balance.rst 2020-07-22 16:31:31 -04:00
e6f7a99ae2 Update Python_examples.rst 2020-07-22 16:27:04 -04:00
6f58ed1c83 Merge pull request #2248 from rbberger/docs-include-accel-text
Remove duplicated accelerator text passage in docs
2020-07-22 14:14:57 -04:00
89c42d081f Merge pull request #2247 from rbberger/wsl-docs-update
Update Windows Subsystem for Linux Tutorial
2020-07-22 13:47:15 -04:00
73eccefeb3 Merge pull request #2246 from rbberger/docs-theme-update
Update lammps_theme (based on latest sphinx_rtd_theme)
2020-07-22 12:55:27 -04:00
feebdf9149 print complete read_data and special output to both screen and logfile 2020-07-22 07:23:33 -04:00
f9e7b7dd19 Remove outdated or differently formatted common text blocks 2020-07-21 17:54:33 -04:00
177a93d22d Replace common text block with include 2020-07-21 17:38:56 -04:00
6acc4bc849 Update Windows Subsystem for Linux Tutorial
Fixes #1953
2020-07-21 14:39:08 -04:00
437ff2742d Update lammps_theme (based on latest sphinx_rtd_theme) 2020-07-21 12:44:10 -04:00
938175d2bc Merge pull request #2242 from akohlmey/next_lammps_version
Update version strings for next patch release
2020-07-20 22:33:37 -04:00
472de2e85a Merge pull request #2238 from yafshar/kim_fix
KIM package corrections and refactoring
2020-07-20 21:22:59 -04:00
cbdf1d3a64 consolidate mpi4py link 2020-07-20 20:59:47 -04:00
68df62b869 support verbose option 2020-07-20 20:40:20 -04:00
cac4c5d930 fix merge artifact 2020-07-20 20:40:02 -04:00
5b4275002c Merge branch 'master' into kim_fix 2020-07-20 20:27:41 -04:00
39cefc4eb3 Merge pull request #2241 from yafshar/cmake
Update the deprecated property and fix the empty value on macOS
2020-07-20 12:23:20 -04:00
6d70c393e1 Merge pull request #2239 from akohlmey/collected-small-changes
Collected small changes and fixes for the next patch release
2020-07-20 11:35:11 -04:00
1f819ca333 update the kim_param command test 2020-07-19 18:35:20 -05:00
3390e1d4c5 starting of the kim_property command test 2020-07-19 18:10:00 -05:00
02ff2068cd cosmetic changes 2020-07-19 15:19:53 -04:00
78cfd3ff79 refactor fix tune/kspace
- make use of std::string to simplify code
- skip over trying MSM, if no suitable pair style present
2020-07-19 12:15:07 -04:00
b162cefc5f for ewald we also have evflag_atom that needs to be initialized 2020-07-19 12:12:50 -04:00
0008c0eca3 need to setup bins again if binning style has be reset 2020-07-19 12:12:20 -04:00
674514f822 update the kim_param command test 2020-07-19 10:35:00 -05:00
419404a9b5 Update the KIM error messages 2020-07-19 09:24:01 -05:00
c215278ad1 Update the KIM error messages 2020-07-19 08:41:52 -05:00
c73f8a5500 Update the KIM error messages 2020-07-19 08:13:03 -05:00
c844de03ef Update the KIM error messages 2020-07-19 08:08:30 -05:00
5fec11a0db Update the KIM error messages 2020-07-19 08:04:13 -05:00
262ce37eed silence compiler warning 2020-07-19 07:19:44 -04:00
65bf187a39 update version string for patch release 2020-07-18 21:51:01 -04:00
0246feb1c2 Merge branch 'kim_fix' of github.com:yafshar/lammps into kim_fix 2020-07-18 20:47:28 -05:00
bba7e3554c simplify building aligned mutable parameter trable using fmtlib 2020-07-18 21:42:33 -04:00
82f5bbf859 update the kim_interactions command test 2020-07-18 20:31:36 -05:00
894a7e4bce update test 2020-07-18 21:10:22 -04:00
c1a650d50d Update the error messages
Update the error messages and removing an extra Error word at the
start of each message.
2020-07-18 20:00:11 -05:00
610fea20dd clean up the code 2020-07-18 19:14:00 -05:00
40a053000d update output formatting of info command 2020-07-18 18:54:03 -04:00
bc47ec5027 update the kim_init command test 2020-07-18 17:23:24 -05:00
05c0b5d5ce Update the deprecated property and fix the empty value on macOS
The `IMPORTED_LINK_INTERFACE_LIBRARIES` is deprecated and is
updated to `INTERFACE_LINK_LIBRARIES` instead.
On macOS `CMAKE_THREAD_LIBS_INIT` is empty since empty the thread
functions are provided by the system libraries. To avoid getting
`set_target_properties called with incorrect number of arguments` error
message, we put it inside double quotes.
2020-07-18 15:12:31 -05:00
859da19869 consistently skip death tests at runtime when using OpenMPI without exceptions 2020-07-18 13:09:17 -04:00
e0200cf3d7 consistently skip death tests at runtime when using OpenMPI without exceptions 2020-07-18 13:02:38 -04:00
211beaee48 Merge pull request #2230 from evoyiatzis/widom
Implementation of Widom insertions through a new fix widom command
2020-07-18 11:40:04 -04:00
c9dc5d90d2 Merge remote-tracking branch 'origin/master' into refactor-reading 2020-07-17 23:08:26 -04:00
55c3d139c1 add Widom spc/e example 2020-07-17 21:42:00 -04:00
bf5c1dbc9e accept const std::string as argument in Group::find() 2020-07-17 21:29:16 -04:00
eff159baf4 work around issue of the Intel compiler disguising as clang on macos 2020-07-17 21:28:35 -04:00
4d4ae93ef8 add missing group names in fix widom. refactor group definition in fix widom and gcmc 2020-07-17 21:27:58 -04:00
93ed07f445 accept const std::string as argument in Group::find() 2020-07-17 21:26:53 -04:00
0e6531e2b6 whitespace cleanup 2020-07-17 15:02:53 -04:00
117499e847 avoid floating point exception (log(0)) 2020-07-17 15:02:47 -04:00
c9342aec31 add lj example for fix widom 2020-07-17 15:02:11 -04:00
c5698ac994 Merge branch 'collected-small-fixes' of github.com:rbberger/lammps into collected-small-changes 2020-07-17 14:03:17 -04:00
95c215d5d3 silence compiler warnings 2020-07-17 14:02:18 -04:00
65f9c1abf5 bugfix: reorder instructions 2020-07-17 14:00:16 -04:00
0748b12472 when processing quoted strings, the quotes need to be removed 2020-07-17 13:58:15 -04:00
b3bd36947d add convenience function to allow variable->set() command with a single string argument 2020-07-17 13:57:54 -04:00
5c191e1e6e fix the return call status 2020-07-17 11:21:25 -05:00
cdbcacffce when processing quoted strings, the quotes need to be removed 2020-07-17 10:23:07 -04:00
a0bfe932b5 quote argument that needs to be kept intact 2020-07-17 10:08:26 -04:00
5fe83755b8 start tester tool for KIM commands 2020-07-17 02:23:48 -04:00
2fb6a61f2a refactor code to make better use of std::string and simplify using changes to Variable class API 2020-07-17 01:23:17 -04:00
63bebf58fd add convenience function to allow variable->set() command with a single string argument 2020-07-17 00:46:31 -04:00
dd7bc1d34e use const char * instead of char * so we don't need a cast for string constants 2020-07-17 00:45:58 -04:00
e2efabc6c4 Revert "simplify"
This reverts commit 2be20f424f
as this change has been integrated into a different branch
with additional changes.
2020-07-17 00:35:13 -04:00
0af7fbe98e use const char * instead of char * so we don't need a cast for string constants 2020-07-17 00:34:23 -04:00
abc9cfe30f silence compiler warnings 2020-07-17 00:30:13 -04:00
4743bf4ea0 silence compiler warning 2020-07-17 00:27:03 -04:00
b61276b59d Merge branch 'master' into kim_fix 2020-07-17 00:10:02 -04:00
74c9c15589 simplify and get rid of strtok() 2020-07-17 00:08:07 -04:00
5df8be2ca4 Replace macro with std::to_string
Following the C++ Core Guidelines, Macros must go.
2020-07-16 20:21:12 -05:00
1b0f35c241 Replace macro with std::to_string
Following the C++ Core Guidelines, Macros must go.
2020-07-16 20:19:51 -05:00
168fe438a5 Replace macro with std::to_string
Following the C++ Core Guidelines, Macros must go.
2020-07-16 20:17:59 -05:00
2ba7abe57e silence compiler warnings 2020-07-16 21:14:31 -04:00
fb7923df06 dead code removal 2020-07-16 21:14:22 -04:00
2be20f424f simplify 2020-07-16 21:13:47 -04:00
78ddce5de1 Replace macro with std::to_string
Following the C++ Core Guidelines, Macros must go.
2020-07-16 20:13:40 -05:00
08dd79b1ce Clean up the code 2020-07-16 20:09:17 -05:00
dbbc60b4b8 Clean up the code 2020-07-16 20:04:55 -05:00
dff117fe53 Clean up the code 2020-07-16 20:02:26 -05:00
f163477d3a Clean up the code 2020-07-16 20:00:09 -05:00
54b47212a1 Clean up the code & replace tabs with white spaces 2020-07-16 19:56:22 -05:00
81f8590df1 Clean up the code 2020-07-16 19:49:22 -05:00
96615ea97e Clean up the code 2020-07-16 19:47:31 -05:00
91f97fa74c Remove the previously created KIM log file. 2020-07-16 19:23:51 -05:00
585ed5e1dc Merge pull request #2228 from athomps/compute-mliap
Compute mliap updates
2020-07-16 20:20:45 -04:00
882210613e Fix the write_log_cite interface.
Fix the interface by correcting the data type. The `model_name`
variable is a `char *` and not a `string`.
2020-07-16 19:20:30 -05:00
e98056c0e8 whitespace fixes 2020-07-16 19:03:30 -04:00
31cfc99ad9 add missing empty line 2020-07-16 18:37:16 -04:00
52715cc804 Merge branch 'master' into compute-mliap 2020-07-16 18:35:49 -04:00
ad02d7a5e0 Merge pull request #2219 from lammps/write-bonus-data
Enable write_data for atom styles with bonus data. Add tester code for that and many related cleanups and bugfixes.
2020-07-16 18:21:15 -04:00
34fdfb6b81 allow fix nvt/body npt/body and nph/body to be used for groups other than "all" 2020-07-16 17:56:56 -04:00
92f194ac93 make sure output buffer is initialized 2020-07-16 17:32:17 -04:00
f344629a29 simplify 2020-07-16 17:31:54 -04:00
209d3ff3ff fix typo 2020-07-16 17:31:46 -04:00
35b030015d Merge branch 'master' into write-bonus-data 2020-07-16 12:15:59 -04:00
9a13ad5230 Merge pull request #2206 from ohenrich/mc-fix-bond-create-angle
New fix_bond_create_angle class
2020-07-16 11:54:04 -04:00
ee10b200e0 Merge branch 'master' into write-bonus-data 2020-07-15 22:10:38 -04:00
25a836b729 reformat and rephrase text about availability of fix bond/create/angle only keyword 2020-07-15 21:32:22 -04:00
52b30b11ec add fix bond/create/angle to list in Fix command page 2020-07-15 21:31:22 -04:00
d7ef1b007d Merge branch 'master' into mc-fix-bond-create-angle 2020-07-15 21:21:35 -04:00
29e2c82d71 fix broken line wrap. 2020-07-15 21:00:43 -04:00
4dc61f7f2a make frenkel book anchors globally unique 2020-07-15 20:56:50 -04:00
300beb819b change from DOS/Windows CR/LF to LF 2020-07-15 20:54:58 -04:00
3287f1cddc fully integrate fix widom into manual. fix some style issues and reindent 2020-07-15 20:54:17 -04:00
94464f5390 Merge branch 'master' into widom 2020-07-15 20:46:39 -04:00
581d47a10a move fix widom from USER-MISC to MC package 2020-07-15 20:46:31 -04:00
438346a936 Merge pull request #2237 from yafshar/memory
Fix the system-dependent function call to `malloc_usable_size`.
2020-07-15 20:42:49 -04:00
dff2e93e2a Merge pull request #2236 from stanmoore1/kk_qeq_nevery
Fix issues in Kokkos fix qeq/reax
2020-07-15 20:41:00 -04:00
508a38a7fa Fix the system-dependent function call to malloc_usable_size.
Fix the system-dependent function call to get the size of the
block of memory allocated from the heap.
2020-07-15 17:49:49 -05:00
71344aaa28 Merge branch 'master' of https://github.com/lammps/lammps into kk_qeq_nevery 2020-07-15 16:18:56 -06:00
181b7cf34f Merge branch 'master' into write-bonus-data 2020-07-15 18:14:49 -04:00
0105d1caa5 Merge pull request #2212 from akohlmey/compute-chunk-scalar
Get number of chunks from compute chunk/atom
2020-07-15 18:13:48 -04:00
1021f5753b Merge pull request #2218 from lammps/reset-molecules
new reset_mol_ids command
2020-07-15 18:09:02 -04:00
dee38c26b3 Changed paragraph as per request 2020-07-15 22:51:51 +01:00
a392f212ee Fix issues in Kokkos fix qeq/reax 2020-07-15 15:49:26 -06:00
73a076daf3 don't set CMAKE_TUNE_FLAGS to anything by default 2020-07-15 16:19:48 -04:00
8949b2f165 add recently added names to false positives list 2020-07-15 15:31:12 -04:00
bf37e6aae1 Merge branch 'master' into write-bonus-data 2020-07-15 15:20:34 -04:00
7a312ca8d8 Merge pull request #2231 from stanmoore1/reax_hybrid
Fix issue with Kokkos ReaxFF and pair hybrid
2020-07-15 14:35:35 -04:00
28ee835103 Update fix_widom.rst 2020-07-15 20:35:15 +02:00
1a738f80e2 Update false_positives.txt 2020-07-15 20:14:17 +02:00
4cbe095444 Merge pull request #2234 from akohlmey/collected-small-fixes
Collected small fixes and unittest updates
2020-07-15 14:13:21 -04:00
41a7557cc9 first attempt of a documentation file 2020-07-15 18:53:04 +02:00
74aa1d482a Add missing sync 2020-07-15 10:48:39 -06:00
b37b45c817 use fmtlib to remove BIGINT_FORMAT 2020-07-15 11:55:08 -04:00
aa82608142 print warning for unknown/unsupported CUDA versions 2020-07-15 11:28:33 -04:00
a082895b90 update CMake script for GPU package to include handling of Arch 8.0 and CUDA 11 2020-07-15 11:08:06 -04:00
2580ca78f4 guard better against 32-bit overflows for reax/c lists 2020-07-15 00:13:33 -04:00
e3818f031b don't use error class if pointer variable has not been initialized 2020-07-15 00:12:31 -04:00
2fb0f95324 check against BODY package for body styles 2020-07-14 18:41:52 -04:00
ad818717cc complete tester module for atom style body/nparticle 2020-07-14 18:36:50 -04:00
a7a63ee3fb Merge branch 'write-bonus-data' of github.com:lammps/lammps into write-bonus-data 2020-07-14 16:48:01 -04:00
d37bb0fd6f update intel compiler requirements and document alignment issues 2020-07-14 16:24:17 -04:00
449d7be8f8 updated rules for rounded body particles 2020-07-14 13:25:17 -06:00
1ddd8aa97c Merge branch 'master' into collected-small-fixes 2020-07-14 14:00:24 -04:00
d3392dba45 update tester some more 2020-07-14 13:59:55 -04:00
fd2b5b1cd8 switch completed section from EXPECT to ASSERT 2020-07-14 12:45:54 -04:00
bc3860b462 must advance buffer while package bonus items, but only when a buffer is given 2020-07-14 12:45:22 -04:00
b33974cd19 add code to check for duplicate atom IDs in Bodies section 2020-07-14 12:44:50 -04:00
be440c7125 revert incorrect zeroing of non-existing inertia array elements 2020-07-14 12:44:24 -04:00
dcbdc7452b Don't need virtual keyword 2020-07-14 09:57:04 -06:00
d6e6b840e9 update body/nparticle tester 2020-07-14 11:06:06 -04:00
548629958e zero all six moments of inertia if small. 2020-07-14 11:05:44 -04:00
001dcb6bb1 Fix issue with Kokkos ReaxFF and pair hybrid 2020-07-14 09:02:57 -06:00
9068d17afc Merge pull request #2229 from ellio167/pair_kim_before_box
Update pair_kim.cpp so settings() may come before box is defined
2020-07-14 10:24:05 -04:00
113825f8fc silence compiler warning 2020-07-14 08:12:51 -04:00
20824203ab Merge branch 'write-bonus-data' of github.com:lammps/lammps into write-bonus-data 2020-07-14 08:11:29 -04:00
18928c6602 start writing tester for body/nparticle 2020-07-14 08:11:18 -04:00
4b9c2ab1f1 start writing tester for body/nparticle 2020-07-14 07:21:25 -04:00
a88237df99 source code for fix widom 2020-07-14 13:17:20 +02:00
ea1d447703 fix bug in tester for atom style tri 2020-07-13 21:49:18 -04:00
5a73b1de98 fix typo, reformat paragraph 2020-07-13 21:48:15 -04:00
e5d532c2c1 simplify and make more readable using utils:: functions 2020-07-13 18:59:21 -04:00
40e3fcd750 tweak output format 2020-07-13 18:58:43 -04:00
46675361a6 remove unused class members 2020-07-13 18:58:35 -04:00
315c829bd2 tweak box output format to include decimal point 2020-07-13 15:59:47 -04:00
c589dd5894 consistent initialization and setting of _nthreads and comm->nthreads 2020-07-13 15:59:29 -04:00
6c28adcf3b make sure _need_tag is initialized 2020-07-13 15:59:05 -04:00
da66516dec use references when creating styles 2020-07-13 09:40:58 -04:00
3847a3000c paranoia 2020-07-12 21:40:30 -04:00
f8ad39e7d1 simplify fix generation for package commands 2020-07-12 21:40:22 -04:00
1c5c2d8f22 Merge branch 'master' into reset-molecules 2020-07-12 20:36:34 -04:00
db289ba0b3 update all force style reference results after refactoring of test codes 2020-07-12 20:36:10 -04:00
24b5cd7dec rename test programs to be consistent with the other programs in the unittest tree 2020-07-12 19:22:14 -04:00
9cbb2e9df5 refactor force-style tester programs to get rid of stringstream and local buffers
this uses now fmtlib and also outputs forces sorted by atom id
similarly, for all tests it is make certain that the local tag variable is updated
2020-07-12 19:17:51 -04:00
38011f6ac4 add test for pair style kim 2020-07-12 17:21:35 -04:00
b65f6b3b61 Merge branch 'pair_kim_before_box' of github.com:ellio167/lammps into collected-small-fixes 2020-07-12 16:36:00 -04:00
ed1bdb8ed4 update output formatting 2020-07-12 16:33:47 -04:00
00413ae956 add test for atom style tri 2020-07-12 16:32:59 -04:00
8f95b4a5d9 add tests for deleted bonds and angles to bond/angle tests suites 2020-07-12 15:48:21 -04:00
60f078a8f9 fix buffer size and format bugs in atom_vec_tri.cpp 2020-07-12 15:46:56 -04:00
66274e7863 Update pair_kim.cpp so settings() may come before box is defined
Addresses #2215
2020-07-12 14:23:47 -05:00
116c2a56ca Removed old files 2020-07-11 21:00:41 -06:00
031cae8e49 Fixed spelling errors 2020-07-11 20:31:38 -06:00
38d9c0bedf tweak output formatting 2020-07-11 21:44:31 -04:00
9e1d560fda refactor using fmtlib and utils:: 2020-07-11 21:44:13 -04:00
095c6a9850 Finished cleaning up and testing. MLIAPData class is now fully integrated with ComputeMLIAP and PairMLIAP 2020-07-11 19:01:16 -06:00
5f14d5c87f must not override flag for negative angles and bonds 2020-07-11 18:36:19 -04:00
25e54bd68e Merge branch 'master' into write-bonus-data 2020-07-11 18:31:44 -04:00
284b1618f9 Merge pull request #2227 from akohlmey/collected-small-fixes
Collected small updates and bugfixes
2020-07-11 18:30:27 -04:00
83291fdd67 may not use pair_style kim before box is defined
NOTE: this will not happen when the kim_init and kim_interactions commands are used.
2020-07-11 18:07:25 -04:00
f969d9ab72 add space for terminating NULL byte in MPIIO dump styles.
closes #2225
2020-07-11 13:19:08 -04:00
f307d7f5f9 count total number of styles including aliases, suffixes, and undocumented 2020-07-11 13:18:44 -04:00
cd0b034cab adjust regex for removed styles to correctly handle command styles 2020-07-11 13:18:33 -04:00
b3060bc48e add suppressions for googletest 2020-07-11 13:18:14 -04:00
e42342ff51 zero out additionally allocated struct Param storage 2020-07-11 13:18:04 -04:00
8359a4384a more OpenMPI suppressions 2020-07-11 13:17:51 -04:00
c6dc8b5414 fix initialition issue 2020-07-11 13:17:39 -04:00
9fe0b1cb5e ewald_order needs to be saved in restart 2020-07-11 13:17:24 -04:00
4778887243 fix memory leak in pair style sw/intel for good 2020-07-11 13:17:10 -04:00
510d5277c1 fix typo 2020-07-11 13:16:58 -04:00
b49f0a6a09 avoid memory leak in pair style sw/intel 2020-07-11 13:16:36 -04:00
4b2c1f5edd some more OpenMPI suppressions 2020-07-11 13:16:25 -04:00
d4da99562f use fmtlib for writing data file coefficients. use mixed coefficients for PairIJCoeffs 2020-07-11 13:16:01 -04:00
26e21852ff several fixes to address issues detected by valgrind
- make sure g_ewald_6 is not accessed uninitialized
- fix memory leak
- do not override g_ewald_6 if it is explicitly set
2020-07-11 13:15:37 -04:00
8eb7791342 avoid googletest stalling on exit tests when using OpenMPI 2020-07-11 13:15:16 -04:00
207232c1a3 avoid illegal free() 2020-07-11 13:12:50 -04:00
ed452c3624 synchronize exception based and non-exception based code paths 2020-07-11 13:12:34 -04:00
e6a8f3c8c0 use parenthesis to correct precedence 2020-07-11 13:10:37 -04:00
17d59a4342 small tweak 2020-07-11 13:06:58 -04:00
6f775f6592 fix typo 2020-07-11 13:06:43 -04:00
d0c544224f avoid exception when having a command fail due to an empty string 2020-07-11 13:06:31 -04:00
40e59b27a7 add prototypes for exception handling functions 2020-07-11 13:06:05 -04:00
f8321d77d8 add missing symlink 2020-07-11 13:05:41 -04:00
d32000239b refactor tester 2020-07-11 13:05:03 -04:00
e2e4305fe9 Merge pull request #2226 from akohlmey/ubuntu-stable
Update documentation to recommend lammps-stable packages for Ubuntu
2020-07-11 13:02:00 -04:00
8396ade280 update information about the ubuntu binaries to recommend the new stable packages 2020-07-10 22:50:47 -04:00
6c6c47ce9c Converted pair mliap to use mliap class 2020-07-10 17:19:02 -06:00
6c08503dff Created MLIAP class for data, passes all tests 2020-07-10 16:25:28 -06:00
64dad33c12 whitespace fixes 2020-07-10 18:22:11 -04:00
a5a1706f82 Merge branch 'write-bonus-data' of github.com:lammps/lammps into write-bonus-data 2020-07-10 16:17:22 -06:00
92d225a68c write_data support for body style rounded/polyhedron 2020-07-10 16:17:07 -06:00
07e05300c9 Created MLIAP class for data 2020-07-10 16:08:19 -06:00
f360cca1a3 Created MLIAP class for data 2020-07-10 16:04:04 -06:00
a28db101cc add checks for atom style bond with newton off. add basic test for atom style angle 2020-07-10 17:44:05 -04:00
0825e71a5a whitespace fixes 2020-07-10 13:21:22 -04:00
9b3ffa5487 enables body style rounded/polygon to write to data files 2020-07-10 10:42:36 -06:00
a402de41b7 finalize atom style tester changes 2020-07-10 10:47:30 -04:00
772d75a63a update tester for renaming reset_ids to reset_atom_ids 2020-07-10 10:29:55 -04:00
df63d4147d Merge branch 'reset-molecules' into write-bonus-data 2020-07-10 10:25:08 -04:00
8102045fdb add initial implementation for atom style bond tester 2020-07-10 10:24:54 -04:00
9be30dcf61 add space for terminating NULL byte in MPIIO dump styles.
closes #2225
2020-07-10 09:22:44 -04:00
0c89b517a5 avoid segfaults if fewer than 10 atoms or bounding box length is zero 2020-07-10 08:25:37 -04:00
ab683a03ad start tester for atom style hybrid full ellipsoid 2020-07-10 00:12:57 -04:00
f0af7c686a more death tests to reach 100% coverage 2020-07-09 21:39:55 -04:00
e38f970676 Extended to handle gradgradflag 0/1 options 2020-07-09 19:23:57 -06:00
0d570f5577 Removed a lot of LAMMPS dependence from Descriptor and Model classes 2020-07-09 19:22:41 -06:00
d15264a668 update and expand tester code for reset_mol_ids changes 2020-07-09 21:18:58 -04:00
bade009b6c remove debug code 2020-07-09 20:58:39 -04:00
49780480a8 count total number of styles including aliases, suffixes, and undocumented 2020-07-09 20:52:57 -04:00
9ec77585ea make compress yes the default 2020-07-09 20:46:45 -04:00
9c97ca11fe adjust regex for removed styles to correctly handle command styles 2020-07-09 20:46:31 -04:00
e0e24799c2 simplify formulations a little bit. update example command lines 2020-07-09 19:52:49 -04:00
4a1acffde9 whitespace fixes 2020-07-09 19:36:58 -04:00
9e83279887 minor adjustments to new reset_mol_ids command 2020-07-09 15:40:24 -06:00
f71513f483 update for atom style ellipsoid tester 2020-07-09 11:56:07 -04:00
cc9df9a76d add test module for atom style line 2020-07-09 11:55:52 -04:00
71f13cee9d add missing aspherical particle info to restart files 2020-07-09 11:21:59 -04:00
d7efa8d523 don't do zero byte allocations 2020-07-09 09:26:25 -04:00
0679c01c4b add suppressions for googletest 2020-07-09 09:26:07 -04:00
2b1ca89b57 zero out additionally allocated struct Param storage 2020-07-09 00:31:08 -04:00
ea5015c630 more OpenMPI suppressions 2020-07-09 00:05:18 -04:00
d0cfb0ccae fix initialition issue 2020-07-08 23:49:18 -04:00
e18a11d6bd ewald_order needs to be saved in restart 2020-07-08 23:48:58 -04:00
bebd10712a fix memory leak in pair style sw/intel for good 2020-07-08 22:04:55 -04:00
909bc5a801 fix typo 2020-07-08 21:35:54 -04:00
7ee73e44ad will need ellipsoid field in restart file 2020-07-08 21:18:09 -04:00
4da8ec39de complete testing ellipsoids short of having restart support. 2020-07-08 21:13:28 -04:00
ecc5d3e353 must copy/multiply the numbers of ellipsoids,lines,tris,bodies 2020-07-08 21:12:29 -04:00
7071cff481 avoid memory leak in pair style sw/intel 2020-07-08 20:11:17 -04:00
240c33b503 some more OpenMPI suppressions 2020-07-08 20:10:52 -04:00
f59e391713 avoid leaking empty allocations 2020-07-08 20:10:40 -04:00
2016333cf0 use fmtlib for writing data file coefficients. use mixed coefficients for PairIJCoeffs 2020-07-08 20:09:23 -04:00
7591343702 several fixes to address issues detected by valgrind
- make sure g_ewald_6 is not accessed uninitialized
- fix memory leak
- do not override g_ewald_6 if it is explicitly set
2020-07-08 20:07:54 -04:00
5918d9e6c7 avoid googletest stalling on exit tests when using OpenMPI 2020-07-08 16:31:36 -04:00
bda245339e avoid illegal free() 2020-07-08 16:29:40 -04:00
6cd2c8d117 synchronize exception based and non-exception based code paths 2020-07-08 10:18:01 -04:00
d6665aba99 refactor tester 2020-07-08 10:08:00 -04:00
a98d21f002 Added gradgradflag option to compute mliap 2020-07-07 20:43:40 -06:00
a7369e76cd Added gradgradflag option to compute mliap 2020-07-07 20:42:03 -06:00
06a199f7d0 Added gradgradflag option to compute mliap 2020-07-07 20:28:18 -06:00
a43428fd1b use auto to simplify 2020-07-07 22:19:07 -04:00
cd739c2782 silence compiler warnings 2020-07-07 22:18:52 -04:00
1898fae3f6 simplify 2020-07-07 22:18:37 -04:00
5cef86d7b7 add missing MPI call 2020-07-07 21:37:33 -04:00
8fbc8a7148 make more use of fmtlib and replace fprintf with fputs where possible 2020-07-07 21:34:34 -04:00
c0f1472385 use parenthesis to correct precedence 2020-07-07 21:21:32 -04:00
6e3e13f2a8 remove unused variable 2020-07-07 20:53:50 -04:00
9a268da7de remove unneeded typecasts and use fmt::print() instead of fprintf() 2020-07-07 20:53:42 -04:00
4c67822e6b remove unneeded typecasts 2020-07-07 20:27:01 -04:00
e459ee8a58 whitespace fixes 2020-07-07 20:25:59 -04:00
61e3b41908 Merge pull request #2220 from lammps/doc-radians
clarify units for energy terms with angles
2020-07-07 20:13:56 -04:00
6239a579e8 clarify units for energy terms with angles 2020-07-07 15:19:17 -06:00
416467a154 update reset_mol_ids tests for the latest changes 2020-07-07 17:14:54 -04:00
fd95fc98c5 add support for auto offset and singlezero option 2020-07-07 17:14:29 -04:00
d3853af4be add singlezero keyword to compute fragment/atom to give all single non-bonded atoms an ID of 0 2020-07-07 17:13:43 -04:00
12f62583f9 whitespace cleanup 2020-07-07 13:56:50 -04:00
5c59f6af87 Merge branch 'reset-molecules' of github.com:lammps/lammps into reset-molecules 2020-07-07 13:48:25 -04:00
88fc9360c0 resolve conflicts 2020-07-07 11:46:05 -06:00
37d56a6bf6 small cleanup in "deprecated" styles 2020-07-07 13:40:15 -04:00
955bff7c4e add body support, change bonus buf to 1d so can be variable length 2020-07-07 11:34:30 -06:00
94e9b3bc82 rename reset_ids command to reset_atom_ids 2020-07-07 13:32:00 -04:00
7e140399db add (initial) testing for ellipsoid atom style 2020-07-07 12:36:17 -04:00
f16c6f40a7 shape is converted from diameter to radius, so we have to scale back on writing 2020-07-07 12:24:04 -04:00
94d98b6aea no typecasts needed when outputting ubuf integers with fmtlib auto format 2020-07-07 11:40:01 -04:00
bdac1ae3e7 add missing return statements 2020-07-07 11:14:52 -04:00
0944eda391 final details for offset keyword added to reset_mol_ids 2020-07-07 09:07:48 -06:00
7870a89133 added note to doc page 2020-07-07 08:48:24 -06:00
d6ebf3cd46 Merge branch 'reset-molecules' of github.com:lammps/lammps into reset-molecules 2020-07-07 08:38:03 -06:00
fcc6ed3a58 add offset option to reset_mol_ids command 2020-07-07 08:37:48 -06:00
169206790a small tweak 2020-07-07 10:29:43 -04:00
de7f02e48b fix typo 2020-07-07 09:54:16 -04:00
bb9ab025c1 avoid exception when having a command fail due to an empty string 2020-07-07 09:51:39 -04:00
0b1443ed23 add prototypes for exception handling functions 2020-07-07 09:51:02 -04:00
53d20c9ebc add missing symlink 2020-07-06 21:44:39 -04:00
960addcc2c simplify code string/fmtlib code some more 2020-07-06 21:26:49 -04:00
2351f99bef add (incomplete) tester for reset_mol_ids (with a little use of reset_ids, too) 2020-07-06 21:26:11 -04:00
89f0116eab fix communication data conversion bug corrupting bond list 2020-07-06 21:12:55 -04:00
7918919d30 enable write_data for atom styles with bonus data 2020-07-06 17:30:45 -06:00
91a8df1903 Modified files according to request 2020-07-06 20:20:28 +01:00
d37e943e8d refactor tester 2020-07-06 14:12:50 -04:00
836570ec26 update docs 2020-07-06 14:12:37 -04:00
58cd6a160c Merge branch 'master' into reset-molecules 2020-07-06 14:07:48 -04:00
6bf329098e Merge pull request #2216 from ndtrung81/tersoff-gpu
Cleanup and bugfixes for some 3-body pair styles in the GPU package
2020-07-06 13:35:12 -04:00
a1011b606e new reset_mol_ids command 2020-07-06 10:50:34 -06:00
9e96b71703 Merge pull request #2214 from akohlmey/kspace-tests
Add unit tests for some kspace styles and more pair styles
2020-07-06 12:48:09 -04:00
2977a8aa15 Merge pull request #2211 from athomps/compute-mliap
Add compute style mliap to MLIAP package
2020-07-06 12:47:41 -04:00
d1b5b0a168 Merge pull request #2210 from ohenrich/user-cgdna
Update of example input and log files
2020-07-06 12:47:09 -04:00
d768069cfe Merge pull request #2205 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2020-07-06 12:46:16 -04:00
5d0800beef Merge pull request #2204 from rbberger/doc-changes
Documentation Changes: split pair_lj.rst
2020-07-06 12:19:06 -04:00
47d77530e2 updated as requested by @sjplimp 2020-07-06 11:45:16 -04:00
022252dde0 add a paragraph to the output howto explaining how ambiguity is resolved 2020-07-06 11:13:23 -04:00
9ec72d1406 add tests for unknown commands, quit, and reset_timestep 2020-07-06 10:26:04 -04:00
f1abfe2411 avoid segfault when calling the log command without arguments 2020-07-06 10:25:37 -04:00
461633e6f6 add unit tests for the suffix, thermo, and timestep commands 2020-07-06 00:11:13 -04:00
83d58ba57d we may not use "suffix on" before a suffix is defined. switching back to a non-hybrid suffix must set suffix2 to NULL 2020-07-06 00:10:43 -04:00
1df59c4b95 change lammps2pdb.pl to only ignore the first line of a data file. whitespace fixes 2020-07-05 23:36:00 -04:00
fe12ea2734 simplify compute creation 2020-07-05 22:46:48 -04:00
134a2e8dd6 use fmtlib and utils::logmesg() in fix msst 2020-07-05 22:37:59 -04:00
759797733d Generalized the variable and function names 2020-07-05 18:58:32 -06:00
a0157f8063 use fmtlib consistently when writing data files 2020-07-05 17:16:58 -04:00
443cc4445e have compute property/atom output shape parameters as diameters not radii consistent with the manual 2020-07-05 16:44:44 -04:00
e2a07acb71 add test for units command 2020-07-05 13:20:23 -04:00
ca24cd5006 simplify tests for failures with a varyadic macro 2020-07-05 12:48:52 -04:00
ebfe7f68af More cleanup 2020-07-05 00:20:28 -05:00
c488e6208d Similar bug fixes to vashishta/gpu 2020-07-04 23:52:32 -05:00
69052fa337 add test for lj/mdf 2020-07-05 00:28:02 -04:00
4dee43cc2d adjust accepted relative error for compiler optimization, make pppm/disp inputs 3x faster 2020-07-05 00:10:47 -04:00
84ded03e24 add tests for some core-shell package pair styles 2020-07-04 23:43:15 -04:00
8f6e454522 single functions for CORESHELL styles are not implemented 2020-07-04 23:40:28 -04:00
585466929f add tests for pppm/disp/tip4p and lj/long/tip4p/long 2020-07-04 23:21:57 -04:00
a314b40aa0 skip testing broken pppm/disp/intel style 2020-07-04 23:07:50 -04:00
6e580bbdb5 add tests for long-range dispersion styles 2020-07-04 22:55:59 -04:00
3f068f7671 partial reformat, fix bug in single function 2020-07-04 22:55:38 -04:00
adacc7f2a4 Similar bug fixes for tersoff/mod/gpu and tersoff/zbl/gpu; some cleanup for sw/gpu 2020-07-04 19:08:55 -05:00
11099bb3f7 silence compiler warnings 2020-07-04 19:23:06 -04:00
2eec6c7f65 exclude MSM tests when compiling with single precision 2020-07-04 18:26:00 -04:00
0461599d0a reduce base precision as required when running tests with pppm and FFT_SINGLE 2020-07-04 18:13:55 -04:00
37b2da637d fix KOKKOS bug for FFT_KISSFFT and FFT_SINGLE 2020-07-04 17:39:07 -04:00
df40ffddf3 add some more tests for pair styles 2020-07-04 17:24:28 -04:00
ffe8e1c0e9 add tests for kspace styles using the pair style tester tool 2020-07-04 17:22:27 -04:00
fcec94579c skip tests for single and extract when testing kspace styles (and pair styles are disabled) 2020-07-04 17:21:51 -04:00
75977367a1 fix memory leak 2020-07-04 17:21:19 -04:00
34cfe07f97 fix energy computation bug in pair style nm/cut/omp 2020-07-04 17:20:47 -04:00
37b2778d4b Remove debug output 2020-07-04 13:34:35 -04:00
cfaa3be898 reduce screen output precision 2020-07-04 08:26:00 -04:00
6f8b8c2f71 more application of fmtlib and utils::logmesg() 2020-07-04 08:25:24 -04:00
9de3077b19 change misleading source code formatting 2020-07-04 05:12:35 -04:00
de815ed6ba must not pass NULL pointer now that we use const std::string references 2020-07-04 04:48:16 -04:00
fac3c70d02 update style 2020-07-04 04:47:38 -04:00
9f733fb305 Removed unused variables 2020-07-04 00:23:34 -05:00
6de020805f Fixed a bug with tersoff/gpu with building the short neighbor list 2020-07-03 23:55:26 -05:00
c37b5e50b1 flag error when trying to compute an average of an empty vector 2020-07-03 22:35:53 -04:00
53415592d2 compute gyration/shape/chunk did not update the number of local array rows 2020-07-03 22:20:28 -04:00
14321d1fa0 add option to compute chunk/atom to access the number of chunks as a global scalar 2020-07-03 22:19:44 -04:00
c3f8644613 Merge branch 'master' into compute-mliap 2020-07-03 14:26:38 -06:00
7fe2df423f Added a package README 2020-07-03 14:22:43 -06:00
8dae5d5fc7 Added special_bonds command to input files 2020-07-03 21:03:24 +01:00
feec9673d8 Fixed html and spelling warnings 2020-07-03 14:03:00 -06:00
9d0aee7426 Added doc page for compute mliap and updated examples 2020-07-03 13:43:51 -06:00
def0cf8a7b Corrected typo 2020-07-03 17:54:31 +01:00
59aa8a5e12 Modified files according to PR 2020-07-03 17:48:49 +01:00
fadfb1b482 Allow changing CMAKE_CXX_EXTENSIONS option to resolve #2079 2020-07-03 12:41:49 -04:00
543371374a typo fix 2020-07-03 11:42:31 -04:00
ab785e8a89 Add Coulomb sections in TIP4P page 2020-07-03 11:37:11 -04:00
52b92e743e Add missing reference 2020-07-03 11:33:51 -04:00
1815ab610e remove hard dependency and configure spelling extension only if it can load enchant properly 2020-07-03 11:26:43 -04:00
735f9ad592 address logic error with check for KOKKOS version of hybrid styles 2020-07-03 09:01:59 -04:00
f9dc2b7ca8 Added fix_bond_create_angle files 2020-07-03 13:42:16 +01:00
089c4ed5d9 Added fix/bond/create/angle class and docu 2020-07-03 09:21:00 +01:00
17e419e251 Merge branch 'master' into user-cgdna 2020-07-03 08:19:48 +01:00
2c64809cd8 enlarge buffer for guessed file name 2020-07-02 23:35:25 -04:00
7e16a17f31 use consistently the name of the (unaccelerated) pair style in the potential file reader error messages 2020-07-02 23:23:25 -04:00
0b298c7193 add tests for supported and unsupported unit conversion when opening potentials 2020-07-02 23:07:01 -04:00
d331e75a14 tweak test name 2020-07-02 22:39:08 -04:00
28bbb6afbc Doc page for compute mliap 2020-07-02 17:09:10 -06:00
07afe1c66d Added basic element map 2020-07-02 16:14:15 -06:00
40088f558c Revert "Added fix bond/create/angle code and docu"
This reverts commit 16eab647d4.
2020-07-02 23:11:50 +01:00
db43aadf09 Got compute working for quadratic model 2020-07-02 15:05:14 -06:00
cae9788d42 Changed the compute examples to expose effect of different list orderings 2020-07-02 14:43:48 -06:00
307f54611f use doubles to avoid multiple integer overflows in slope() function 2020-07-02 16:43:00 -04:00
f598ae7ebf update/add error message for using hybrid pair styles with KOKKOS 2020-07-02 16:40:47 -04:00
bf8043fdb8 Correctly reproduced examples/in.snap.compute, not yet for quadratic case 2020-07-02 14:34:11 -06:00
bc36511767 Correctly reproduced examples/in.snap.compute, not yet for quadratic case 2020-07-02 14:32:47 -06:00
3a014a5430 add unit tests for some file operations 2020-07-02 14:50:56 -04:00
4660c043d8 fix typo 2020-07-02 13:31:02 -04:00
a524eaf424 add a few more tests 2020-07-02 10:27:35 -04:00
8929ba42cd enable exceptions by default when testing is enabled, so we can test for failures 2020-07-02 09:50:15 -04:00
c3fe0e77c2 expose guesspath function and add unit test 2020-07-02 09:13:57 -04:00
2a4e51fa38 Fixed a few problems, still not quite matching compute snap 2020-07-01 17:11:02 -06:00
84ee52a6e5 add false positive 2020-07-01 19:09:11 -04:00
7350dd61d5 Tweaked input to match snap/in.snap.compute 2020-07-01 17:06:55 -06:00
70d3d56944 add minimal doc page for compute smd/ulsph/effm 2020-07-01 18:44:24 -04:00
ed56878271 remove specific dump styles from overview page 2020-07-01 18:43:53 -04:00
791bb9f6d5 Update mentions of soft variants 2020-07-01 17:14:30 -04:00
c57564252c Added descriptor file for compute mliap 2020-07-01 15:07:37 -06:00
aee3d9f2cd Generated working example, not quite correct 2020-07-01 15:03:45 -06:00
7671d12ef8 added some more detail to the bond special doc page 2020-07-01 14:55:48 -06:00
0a18c52414 Split pair_lj.rst into three files 2020-07-01 14:27:06 -04:00
c7a31aea97 force environment variable 2020-07-01 09:39:47 -04:00
8d12581f16 silence compiler warnings 2020-07-01 09:39:37 -04:00
558d2eb84f Merge pull request #2203 from akohlmey/collected-small-changes
Various small fixes and cleanups. Bugfixes for atom style hybrid
2020-07-01 06:24:28 -04:00
0a9dd81288 silence compiler warnings 2020-07-01 05:53:46 -04:00
0363fe9b17 revive (some) dead code and add missing force computation/addition 2020-07-01 05:42:53 -04:00
9c7005a91c It compiles, but not yet working 2020-06-30 19:14:01 -06:00
971ca4fe44 add missing lines for atom_vec comm bugfix 2020-06-30 19:20:34 -04:00
503a1f2246 still more dead code 2020-06-30 18:44:00 -04:00
8fd46095ae remove more dead code 2020-06-30 18:41:09 -04:00
9279431593 bugfix for hybrid atom styles from @sjplimp fixing bug reported by @ohenrich 2020-06-30 18:34:46 -04:00
4492d61625 dead code removal 2020-06-30 18:14:47 -04:00
778d431d4c reduce compiler warnings about unused parameters 2020-06-30 18:08:25 -04:00
10dcb08760 remove unused variable 2020-06-30 18:08:06 -04:00
6af407d01e remove trailing whitespace 2020-06-30 17:48:18 -04:00
1035dcd4cc fix possible bug in compute sna 2020-06-30 16:33:57 -04:00
19ee89fa10 use a hard error instead of changing settings without updating the underlying data structures controlled by it 2020-06-30 16:33:32 -04:00
ad38b5d306 whitespace fixes 2020-06-30 16:32:41 -04:00
edfb4076ff remove dead code and unused variables 2020-06-30 16:32:30 -04:00
eafcc06670 secs -> seconds 2020-06-30 13:56:35 -04:00
d4c7455197 reduce output precision 2020-06-30 13:49:50 -04:00
b34b58c713 must not delete atom substyles twice 2020-06-30 13:27:27 -04:00
cccd04f46b Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2020-06-30 12:36:06 -04:00
7488f22981 reduce excess precision in some output data 2020-06-30 10:11:52 -04:00
0f094c2501 Add PyYAML to Fedora 32 container 2020-06-30 10:05:14 -04:00
af2e1bf7c6 Update Ubuntu 18.04 GPU container 2020-06-30 09:38:28 -04:00
2a2219d049 reduce excess precision in some output data 2020-06-30 00:37:32 -04:00
911b95fdc9 std::string.find_last_of() wants a string not a character as argument 2020-06-29 23:26:01 -04:00
f958cacbb4 temporarily add atom style full to list of dependencies for Pair::single() test 2020-06-29 19:36:06 -04:00
ce4ca0e640 tweak epsilon to make test pass with optimization 2020-06-29 19:35:02 -04:00
cfa12bc1cf Merge remote-tracking branch 'origin' into compute-mliap 2020-06-25 16:33:51 -06:00
73ed317254 Added compute_mliap.cpp/h to MLIAP package 2020-06-22 11:38:02 -06:00
f0a3256151 Merge branch 'master' into user-cgdna 2020-06-15 08:41:42 +01:00
c2b557233e Update value parsing in Molecule 2020-06-09 12:12:52 -04:00
c1f6c004ca Add contains method to ValueTokenizer 2020-06-09 12:11:53 -04:00
65b4d87f99 Merge branch 'master' into user-cgdna 2020-06-02 19:04:33 +01:00
711f875001 Added fix bond/create/angle code and docu 2020-06-01 15:45:40 +01:00
16eab647d4 Added fix bond/create/angle code and docu 2020-06-01 15:42:45 +01:00
042cfc521b cmake: allow to overwrite GTest URL for offline machines 2020-05-24 19:38:19 -06:00
e982f418d3 remove whitespace issues 2020-02-05 13:54:56 -05:00
b35c271a12 spelling error 2020-01-31 16:31:42 -05:00
aefaab5769 readme for user-misc 2020-01-31 16:00:16 -05:00
14dfe53837 doc edit 2020-01-31 15:54:01 -05:00
035fba10e5 fixed special_bonds requirements 2020-01-31 15:33:59 -05:00
923ccaaff9 fixed error handling 2020-01-31 12:56:02 -05:00
6bb30a3312 revised doc for bond_style special 2020-01-31 12:26:00 -05:00
9b3a93d222 add bond_style special to the list 2020-01-31 11:30:41 -05:00
58a03f12eb draft doc page for bond_style special 2020-01-30 15:25:55 -05:00
ddfdabf189 added bond style special 2020-01-30 14:16:59 -05:00
c262d08e84 remove comments 2019-12-04 12:32:04 -05:00
06964c58de Merge branch 'master' into multi-comm-tiled
Conflicts resolved:
    src/comm_tiled.cpp
2019-11-27 12:12:03 -05:00
a76ba95f5b comm_tiled_sendself_fix 2019-04-11 12:51:46 -06:00
0f88513f65 updated comm tiled to have multi 2019-01-21 12:29:31 -05:00
9a3f90294c updated comm tiled to have multi 2019-01-21 11:50:10 -05:00
1334 changed files with 92665 additions and 38495 deletions

3
.gitattributes vendored Normal file
View File

@ -0,0 +1,3 @@
.gitattributes export-ignore
.gitignore export-ignore
.github export-ignore

29
.github/codecov.yml vendored Normal file
View File

@ -0,0 +1,29 @@
comment: false
coverage:
notify:
slack:
default:
url: "secret:HWZbvgtc6OD7F3v3PfrK3/rzCJvScbh69Fi1CkLwuHK0+wIBIHVR+Q5i7q6F9Ln4OChbiRGtYAEUUsT8/jmBu4qDpIi8mx746codc0z/Z3aafLd24pBrCEPLvdCfIZxqPnw3TuUgGhwmMDZf0+thg8YNUr/MbOZ7Li2L6+ZbYuA="
threshold: 10%
only_pulls: false
branches:
- "master"
flags:
- "unit"
paths:
- "src"
status:
project:
default:
branches:
- "master"
paths:
- "src"
informational: true
patch:
default:
branches:
- "master"
paths:
- "src"
informational: true

View File

@ -69,18 +69,10 @@ if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
endif()
endif()
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
set(CMAKE_TUNE_DEFAULT "-march=native")
endif()
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
set(CMAKE_TUNE_DEFAULT "-march=native")
endif()
# we require C++11 without extensions
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Use compiler extensions")
########################################################################
# User input options #
@ -193,7 +185,7 @@ if(NOT ${LAMMPS_MEMALIGN} STREQUAL "0")
target_compile_definitions(lammps PRIVATE -DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN})
endif()
option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" OFF)
option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" ${ENABLE_TESTING})
if(LAMMPS_EXCEPTIONS)
target_compile_definitions(lammps PUBLIC -DLAMMPS_EXCEPTIONS)
endif()
@ -366,7 +358,7 @@ foreach(PKG_WITH_INCL KSPACE PYTHON VORONOI USER-COLVARS USER-MOLFILE USER-NETCD
endif()
endforeach()
set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler specific optimization or instrumentation")
set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler and machine specific optimization flags (compilation only)")
separate_arguments(CMAKE_TUNE_FLAGS)
foreach(_FLAG ${CMAKE_TUNE_FLAGS})
target_compile_options(lammps PRIVATE ${_FLAG})
@ -755,6 +747,12 @@ if (${_index} GREATER -1)
endif()
message(STATUS "<<< Linker flags: >>>")
message(STATUS "Executable name: ${LAMMPS_BINARY}")
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
get_target_property(OPTIONS lammps LINK_OPTIONS)
if(OPTIONS)
message(STATUS "Linker options: ${OPTIONS}")
endif()
endif()
if(CMAKE_EXE_LINKER_FLAGS)
message(STATUS "Executable linker flags: ${CMAKE_EXE_LINKER_FLAGS}")
endif()

View File

@ -29,8 +29,8 @@ if(BUILD_DOC)
OUTPUT requirements.txt
DEPENDS docenv
COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/utils/requirements.txt requirements.txt
COMMAND ${DOCENV_BINARY_DIR}/pip install -r requirements.txt --upgrade
COMMAND ${DOCENV_BINARY_DIR}/pip install --upgrade ${LAMMPS_DOC_DIR}/utils/converters
COMMAND ${DOCENV_BINARY_DIR}/pip install --use-feature=2020-resolver -r requirements.txt --upgrade
)
# download mathjax distribution and unpack to folder "mathjax"

View File

@ -7,9 +7,11 @@ else()
endif()
include(ExternalProject)
set(GTEST_URL "https://github.com/google/googletest/archive/release-1.10.0.tar.gz" CACHE STRING "URL for GTest tarball")
mark_as_advanced(GTEST_URL)
ExternalProject_Add(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.10.0
URL ${GTEST_URL}
URL_MD5 ecd1fa65e7de707cd5c00bdac56022cd
SOURCE_DIR "${CMAKE_BINARY_DIR}/gtest-src"
BINARY_DIR "${CMAKE_BINARY_DIR}/gtest-build"
CMAKE_ARGS ${CMAKE_REQUEST_PIC} ${CMAKE_EXTRA_GTEST_OPTS}
@ -52,26 +54,26 @@ add_library(GTest::GTest UNKNOWN IMPORTED)
set_target_properties(GTest::GTest PROPERTIES
IMPORTED_LOCATION ${GTEST_LIBRARY_PATH}
INTERFACE_INCLUDE_DIRECTORIES ${GTEST_INCLUDE_DIR}
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
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}
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
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}
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
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}
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
INTERFACE_LINK_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
add_dependencies(GTest::GMockMain googletest)

View File

@ -64,30 +64,41 @@ 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} ")
set(GPU_CUDA_GENCODE "-arch=${GPU_ARCH}")
# Fermi (GPU Arch 2.x) is supported by CUDA 3.2 to CUDA 8.0
if((CUDA_VERSION VERSION_GREATER "3.1") AND (CUDA_VERSION VERSION_LESS "9.0"))
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_20,code=[sm_20,compute_20] ")
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.x) is supported by CUDA 5 and later
if(CUDA_VERSION VERSION_GREATER "4.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] ")
# 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_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35]")
endif()
# Maxwell (GPU Arch 5.x) is supported by CUDA 6 and later
if(CUDA_VERSION VERSION_GREATER "5.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] ")
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 "7.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] ")
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 "8.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_70,code=[sm_70,compute_70] ")
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 "9.9")
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_75,code=[sm_75,compute_75] ")
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()
if(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
message(WARNING "Unsupported CUDA version. Use at your own risk.")
endif()
cuda_compile_fatbin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS ${CUDA_REQUEST_PIC}
@ -226,30 +237,41 @@ elseif(GPU_API STREQUAL "HIP")
# 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} ")
set(HIP_CUDA_GENCODE "-arch=${HIP_ARCH}")
# Fermi (GPU Arch 2.x) is supported by CUDA 3.2 to CUDA 8.0
if((CUDA_VERSION VERSION_GREATER "3.1") AND (CUDA_VERSION VERSION_LESS "9.0"))
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_20,code=[sm_20,compute_20] ")
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.x) is supported by CUDA 5 and later
if(CUDA_VERSION VERSION_GREATER "4.9")
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] ")
# 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 "5.9")
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] ")
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 "7.9")
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] ")
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 "8.9")
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_70,code=[sm_70,compute_70] ")
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 "9.9")
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_75,code=[sm_75,compute_75] ")
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.")
endif()
endif()

View File

@ -9,8 +9,8 @@ if(DOWNLOAD_EIGEN3)
message(STATUS "Eigen3 download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(Eigen3_build
URL https://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz
URL_MD5 f2a417d083fe8ca4b8ed2bc613d20f07
URL https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz
URL_MD5 9e30f67e8531477de4117506fe44669b
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
)
ExternalProject_get_property(Eigen3_build SOURCE_DIR)

View File

@ -16,6 +16,36 @@ if(ENABLE_TESTING)
set(MEMORYCHECK_COMMAND "${VALGRIND_BINARY}" CACHE FILEPATH "Memory Check Command")
set(MEMORYCHECK_COMMAND_OPTIONS "${VALGRIND_DEFAULT_OPTIONS}" CACHE STRING "Memory Check Command Options")
# check if a faster linker is available.
# only verified with GNU and Clang compilers and new CMake
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
if((${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
OR (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang"))
include(CheckCXXCompilerFlag)
set(CMAKE_CUSTOM_LINKER_DEFAULT default)
check_cxx_compiler_flag(-fuse-ld=lld HAVE_LLD_LINKER_FLAG)
check_cxx_compiler_flag(-fuse-ld=gold HAVE_GOLD_LINKER_FLAG)
check_cxx_compiler_flag(-fuse-ld=bfd HAVE_BFD_LINKER_FLAG)
find_program(HAVE_LLD_LINKER_BIN lld ld.lld)
find_program(HAVE_GOLD_LINKER_BIN ld.gold)
find_program(HAVE_BFD_LINKER_BIN ld.bfd)
if(HAVE_LLD_LINKER_FLAG AND HAVE_LLD_LINKER_BIN)
set(CMAKE_CUSTOM_LINKER_DEFAULT lld)
elseif(HAVE_GOLD_LINKER_FLAG AND HAVE_GOLD_LINKER_BIN)
set(CMAKE_CUSTOM_LINKER_DEFAULT gold)
elseif(HAVE_BFD_LINKER_FLAG AND HAVE_BFD_LINKER_BIN)
set(CMAKE_CUSTOM_LINKER_DEFAULT bfd)
endif()
set(CMAKE_CUSTOM_LINKER_VALUES lld gold bfd default)
set(CMAKE_CUSTOM_LINKER ${CMAKE_CUSTOM_LINKER_DEFAULT} CACHE STRING "Choose a custom linker for faster linking (lld, gold, bfd, default)")
validate_option(CMAKE_CUSTOM_LINKER CMAKE_CUSTOM_LINKER_VALUES)
mark_as_advanced(CMAKE_CUSTOM_LINKER)
if(NOT "${CMAKE_CUSTOM_LINKER}" STREQUAL "default")
target_link_options(lammps PUBLIC -fuse-ld=${CMAKE_CUSTOM_LINKER})
endif()
endif()
endif()
include(CTest)
enable_testing()

View File

@ -83,7 +83,7 @@ html: $(ANCHORCHECK) $(MATHJAX)
@rm -rf html/JPG
@cp -r src/PDF html/PDF
@mkdir -p html/JPG
@cp `grep -A2 '\.\. .*\(image\|figure\)::' src/*.rst | grep ':target:' | sed -e 's,.*:target: JPG/,src/JPG/,' | sort | uniq` html/JPG/
@cp `grep -A2 '\.\. .*\(image\|figure\)::' src/*.rst | grep ':target: JPG' | sed -e 's,.*:target: JPG/,src/JPG/,' | sort | uniq` html/JPG/
@rm -rf html/PDF/.[sg]*
@mkdir -p html/_static/mathjax
@cp -r $(MATHJAX)/es5 html/_static/mathjax/
@ -194,9 +194,7 @@ $(VENV):
$(VIRTUALENV) -p $(PYTHON) $(VENV); \
. $(VENV)/bin/activate; \
pip install --upgrade pip; \
pip install Sphinx; \
pip install sphinxcontrib-spelling ;\
pip install breathe; \
pip install --use-feature=2020-resolver -r requirements.txt; \
deactivate;\
)

View File

@ -1,4 +1,4 @@
.TH LAMMPS "30 June 2020" "2020-06-30"
.TH LAMMPS "21 August 2020" "2020-08-21"
.SH NAME
.B LAMMPS
\- Molecular Dynamics Simulator.

4
doc/requirements.txt Normal file
View File

@ -0,0 +1,4 @@
Sphinx
sphinxcontrib-spelling
breathe
Pygments

View File

@ -193,14 +193,17 @@ compiler and any :doc:`accelerator packages <Speed_packages>` you have
included in the build.
You can tell CMake to look for a specific compiler with setting CMake
variable during configuration. For a few common choices, there are also
presets in the ``cmake/presets`` folder. For convenience, there is a
``CMAKE_TUNE_FLAGS`` variable that can be set to apply global compiler
options. More on that below, but you can also specify the corresponding
``CMAKE_*_FLAGS`` variables individually if you want to experiment with
alternate optimization flags. You should specify all 3 compilers, so
that the (few) LAMMPS source files written in C or Fortran are built
with a compiler consistent with the one used for the C++ files:
variables (listed below) during configuration. For a few common
choices, there are also presets in the ``cmake/presets`` folder. For
convenience, there is a ``CMAKE_TUNE_FLAGS`` variable that can be set to
apply global compiler options (applied to compilation only), to be used
for adding compiler or host specific optimization flags in addition to
the "flags" variables listed below. You may also specify the
corresponding ``CMAKE_*_FLAGS`` variables individually, if you want to
experiment with alternate optimization flags. You should specify all 3
compilers, so that the (few) LAMMPS source files written in C or Fortran
are built with a compiler consistent with the one used for the C++
files:
.. code-block:: bash
@ -229,11 +232,7 @@ can be loaded with `-C ../cmake/presets/clang.cmake`. Similarly,
In addition you can set ``CMAKE_TUNE_FLAGS`` to specifically add
compiler flags to tune for optimal performance on given hosts. By
default these are initialized to some compiler specific flags, to
optimize the LAMMPS executable with optimizations and instructions
available on the host where LAMMPS is compiled. For example, for Intel
compilers this would be ``-xHost`` and for GNU compilers this would be
``-march=native``. To turn these flags off, do ``-D CMAKE_TUNE_FLAGS=``.
default this variable is empty.
.. note::

View File

@ -159,8 +159,8 @@ A test run is then a a collection multiple individual test runs each
with many comparisons to reference results based on template input
files, individual command settings, relative error margins, and
reference data stored in a YAML format file with ``.yaml``
suffix. Currently the programs ``pair_style``, ``bond_style``, and
``angle_style`` are implemented. They will compare forces, energies and
suffix. Currently the programs ``test_pair_style``, ``test_bond_style``, and
``test_angle_style`` are implemented. They will compare forces, energies and
(global) stress for all atoms after a ``run 0`` calculation and after a
few steps of MD with :doc:`fix nve <fix_nve>`, each in multiple variants
with different settings and also for multiple accelerated styles. If a
@ -172,7 +172,7 @@ Below is an example command and output:
.. parsed-literal::
[tests]$ pair_style mol-pair-lj_cut.yaml
[tests]$ test_pair_style mol-pair-lj_cut.yaml
[==========] Running 6 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 6 tests from PairStyle
@ -259,6 +259,71 @@ and working.
of mis-compiled code (or an undesired large loss of precision due
to significant reordering of operations and thus less error cancellation).
Unit tests for timestepping related fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
A substantial subset of :doc:`fix styles <fix>` are invoked regularly
during MD timestepping and manipulate per-atom properties like
positions, velocities, and forces. For those fix styles, testing can be
done in a very similar fashion as for force fields and thus there is a
test program `test_fix_timestep` that shares a lot of code, properties,
and command line flags with the force field style testers described in
the previous section.
This tester will set up a small molecular system run with verlet run
style for 4 MD steps, then write a binary restart and continue for
another 4 MD steps. At this point coordinates and velocities are
recorded and compared to reference data. Then the system is cleared,
restarted and running the second 4 MD steps again and the data is
compared to the same reference. That is followed by another restart
after which per atom type masses are replaced with per-atom masses and
the second 4 MD steps are repeated again and compared to the same
reference. Also global scalar and vector data of the fix is recorded
and compared. If the fix is a thermostat and thus the internal property
``t_target`` can be extracted, then this is compared to the reference
data. The tests are repeated with the respa run style.
If the fix has a multi-threaded version in the USER-OMP package, then
the entire set of tests is repeated for that version as well.
For this to work, some additional conditions have to be met by the
YAML format test inputs.
- The fix to be tested (and only this fix), should be listed in the
``prerequisites:`` section
- The fix to be tested must be specified in the ``post_commands:``
section with the fix-ID ``test``. This section may contain other
commands and other fixes (e.g. an instance of fix nve for testing
a thermostat or force manipulation fix)
- For fixes that can tally contributions to the global virial, the
line ``fix_modify test virial yes`` should be included in the
``post_commands:`` section of the test input.
- For thermostat fixes the target temperature should be ramped from
an arbitrary value (e.g. 50K) to a pre-defined target temperature
entered as ``${t_target}``.
- For fixes that have thermostatting support included, but do not
have it enabled in the input (e.g. fix rigid with default settings),
the ``post_commands:`` section should contain the line
``variable t_target delete`` to disable the target temperature ramp
check to avoid false positives.
Use custom linker for faster link times when ENABLE_TESTING is active
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When compiling LAMMPS with enabled tests, most test executables will
need to be linked against the LAMMPS library. Since this can be a very
large library with many C++ objects when many packages are enabled, link
times can become very long on machines that use the GNU BFD linker (e.g.
Linux systems). Alternatives like the ``lld`` linker of the LLVM project
or the ``gold`` linker available with GNU binutils can speed up this step
substantially. CMake will by default test if any of the two can be
enabled and use it when ``ENABLE_TESTING`` is active. It can also be
selected manually through the ``CMAKE_CUSTOM_LINKER`` CMake variable.
Allowed values are ``lld``, ``gold``, ``bfd``, or ``default``. The
``default`` option will use the system default linker otherwise, the
linker is chosen explicitly. This option is only available for the
GNU or Clang C++ compiler.
Tests for other components and utility functions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -105,10 +105,10 @@ CMake build
# generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA)
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
# value = sm_XX, see below
# default is sm_30
# default is sm_50
-D HIP_ARCH=value # primary GPU hardware choice for GPU_API=hip
# value depends on selected HIP_PLATFORM
# default is 'gfx906' for HIP_PLATFORM=hcc and 'sm_30' for HIP_PLATFORM=nvcc
# default is 'gfx906' for HIP_PLATFORM=hcc and 'sm_50' for HIP_PLATFORM=nvcc
-D HIP_USE_DEVICE_SORT=value # enables GPU sorting
# value = yes (default) or no
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
@ -1255,6 +1255,15 @@ also typically :ref:`install the USER-OMP package <user-omp>`, as it can be
used in tandem with the USER-INTEL package to good effect, as explained
on the :doc:`Speed intel <Speed_intel>` doc page.
When using Intel compilers version 16.0 or later is required. You can
also use the GNU or Clang compilers and they will provide performance
improvements over regular styles and USER-OMP styles, but less so than
with the Intel compilers. Please also note, that some compilers have
been found to apply memory alignment constraints incompletely or
incorrectly and thus can cause segmentation faults in otherwise correct
code when using features from the USER-INTEL package.
CMake build
^^^^^^^^^^^

View File

@ -38,7 +38,7 @@ optional Windows feature allows you to run the bash shell from Ubuntu
from within Windows and from there on, you can pretty much use that
shell like you are running on an Ubuntu Linux machine (e.g. installing
software via apt-get and more). For more details on that, please
see :doc:`this tutorial <Howto_bash>`
see :doc:`this tutorial <Howto_wsl>`
.. _gnu:

View File

@ -46,13 +46,6 @@ An alphabetic list of all general LAMMPS commands.
* :doc:`dimension <dimension>`
* :doc:`displace_atoms <displace_atoms>`
* :doc:`dump <dump>`
* :doc:`dump atom/adios <dump_adios>`
* :doc:`dump custom/adios <dump_adios>`
* :doc:`dump image <dump_image>`
* :doc:`dump movie <dump_image>`
* :doc:`dump netcdf <dump_netcdf>`
* :doc:`dump netcdf/mpiio <dump_netcdf>`
* :doc:`dump vtk <dump_vtk>`
* :doc:`dump_modify <dump_modify>`
* :doc:`dynamical_matrix <dynamical_matrix>`
* :doc:`echo <echo>`
@ -108,7 +101,8 @@ An alphabetic list of all general LAMMPS commands.
* :doc:`region <region>`
* :doc:`replicate <replicate>`
* :doc:`rerun <rerun>`
* :doc:`reset_ids <reset_ids>`
* :doc:`reset_atom_ids <reset_atom_ids>`
* :doc:`reset_mol_ids <reset_mol_ids>`
* :doc:`reset_timestep <reset_timestep>`
* :doc:`restart <restart>`
* :doc:`run <run>`

View File

@ -46,6 +46,7 @@ OPT.
* :doc:`oxdna2/fene <bond_oxdna>`
* :doc:`oxrna2/fene <bond_oxdna>`
* :doc:`quartic (o) <bond_quartic>`
* :doc:`special <bond_special>`
* :doc:`table (o) <bond_table>`
.. _angle:

View File

@ -80,6 +80,7 @@ KOKKOS, o = USER-OMP, t = OPT.
* :doc:`ke/eff <compute_ke_eff>`
* :doc:`ke/rigid <compute_ke_rigid>`
* :doc:`mesont <compute_mesont>`
* :doc:`mliap <compute_mliap>`
* :doc:`momentum <compute_momentum>`
* :doc:`msd <compute_msd>`
* :doc:`msd/chunk <compute_msd_chunk>`
@ -122,6 +123,7 @@ KOKKOS, o = USER-OMP, t = OPT.
* :doc:`smd/tlsph/strain/rate <compute_smd_tlsph_strain_rate>`
* :doc:`smd/tlsph/stress <compute_smd_tlsph_stress>`
* :doc:`smd/triangle/vertices <compute_smd_triangle_vertices>`
* :doc:`smd/ulsph/effm <compute_smd_ulsph_effm>`
* :doc:`smd/ulsph/num/neighs <compute_smd_ulsph_num_neighs>`
* :doc:`smd/ulsph/strain <compute_smd_ulsph_strain>`
* :doc:`smd/ulsph/strain/rate <compute_smd_ulsph_strain_rate>`

View File

@ -42,6 +42,7 @@ OPT.
* :doc:`bocs <fix_bocs>`
* :doc:`bond/break <fix_bond_break>`
* :doc:`bond/create <fix_bond_create>`
* :doc:`bond/create/angle <fix_bond_create>`
* :doc:`bond/react <fix_bond_react>`
* :doc:`bond/swap <fix_bond_swap>`
* :doc:`box/relax <fix_box_relax>`
@ -97,6 +98,7 @@ OPT.
* :doc:`manifoldforce <fix_manifoldforce>`
* :doc:`meso/move <fix_meso_move>`
* :doc:`momentum (k) <fix_momentum>`
* :doc:`momentum/chunk <fix_momentum>`
* :doc:`move <fix_move>`
* :doc:`mscg <fix_mscg>`
* :doc:`msst <fix_msst>`
@ -243,3 +245,4 @@ OPT.
* :doc:`wall/region <fix_wall_region>`
* :doc:`wall/region/ees <fix_wall_ees>`
* :doc:`wall/srd <fix_wall_srd>`
* :doc:`widom <fix_widom>`

View File

@ -136,22 +136,22 @@ OPT.
* :doc:`lj/class2/soft <pair_fep_soft>`
* :doc:`lj/cubic (go) <pair_lj_cubic>`
* :doc:`lj/cut (gikot) <pair_lj>`
* :doc:`lj/cut/coul/cut (gko) <pair_lj>`
* :doc:`lj/cut/coul/cut (gko) <pair_lj_cut_coul>`
* :doc:`lj/cut/coul/cut/soft (o) <pair_fep_soft>`
* :doc:`lj/cut/coul/debye (gko) <pair_lj>`
* :doc:`lj/cut/coul/dsf (gko) <pair_lj>`
* :doc:`lj/cut/coul/long (gikot) <pair_lj>`
* :doc:`lj/cut/coul/debye (gko) <pair_lj_cut_coul>`
* :doc:`lj/cut/coul/dsf (gko) <pair_lj_cut_coul>`
* :doc:`lj/cut/coul/long (gikot) <pair_lj_cut_coul>`
* :doc:`lj/cut/coul/long/cs <pair_cs>`
* :doc:`lj/cut/coul/long/soft (o) <pair_fep_soft>`
* :doc:`lj/cut/coul/msm (go) <pair_lj>`
* :doc:`lj/cut/coul/wolf (o) <pair_lj>`
* :doc:`lj/cut/coul/msm (go) <pair_lj_cut_coul>`
* :doc:`lj/cut/coul/wolf (o) <pair_lj_cut_coul>`
* :doc:`lj/cut/dipole/cut (go) <pair_dipole>`
* :doc:`lj/cut/dipole/long (g) <pair_dipole>`
* :doc:`lj/cut/dipole/sf (go) <pair_dipole>`
* :doc:`lj/cut/soft (o) <pair_fep_soft>`
* :doc:`lj/cut/thole/long (o) <pair_thole>`
* :doc:`lj/cut/tip4p/cut (o) <pair_lj>`
* :doc:`lj/cut/tip4p/long (got) <pair_lj>`
* :doc:`lj/cut/tip4p/cut (o) <pair_lj_cut_tip4p>`
* :doc:`lj/cut/tip4p/long (got) <pair_lj_cut_tip4p>`
* :doc:`lj/cut/tip4p/long/soft (o) <pair_fep_soft>`
* :doc:`lj/expand (gko) <pair_lj_expand>`
* :doc:`lj/expand/coul/long (g) <pair_lj_expand>`

View File

@ -118,6 +118,24 @@ Doc page with :doc:`ERROR messages <Errors_messages>`
incorrect periodic images of atoms in interaction lists. To avoid, either use
:doc:`pair style zero <pair_zero>` with a suitable cutoff or use :doc:`comm_modify cutoff <comm_modify>`.
*Communication cutoff is shorter than a bond length based estimate. This may lead to errors.*
Since LAMMPS stores topology data with individual atoms, all atoms
comprising a bond, angle, dihedral or improper must be present on any
sub-domain that "owns" the atom with the information, either as a
local or a ghost atom. The communication cutoff is what determines up
to what distance from a sub-domain boundary ghost atoms are created.
The communication cutoff is by default the largest non-bonded cutoff
plus the neighbor skin distance, but for short or non-bonded cutoffs
and/or long bonds, this may not be sufficient. This warning indicates
that there is an increased risk of a simulation stopping unexpectedly
because of Bond/Angle/Dihedral/Improper atoms missing. It can be
silenced by manually setting the communication cutoff via
:doc:`comm_modify cutoff <comm_modify>`. However, since the
heuristic used to determine the estimate is not always accurate, it
is not changed automatically and the warning may be ignored depending
on the specific system being simulated.
*Communication cutoff is too small for SNAP micro load balancing, increased to %lf*
Self-explanatory.

View File

@ -19,7 +19,7 @@ Tutorials howto
Howto_cmake
Howto_github
Howto_pylammps
Howto_bash
Howto_wsl
General howto
=============

View File

@ -1,264 +0,0 @@
Using LAMMPS with Bash on Windows
=================================
**written by Richard Berger**
----------
Starting with Windows 10 you can install Linux tools directly in Windows. This
allows you to compile LAMMPS following the same procedure as on a real Ubuntu
Linux installation. Software can be easily installed using the package manager
via apt-get and all files are accessible in both the Windows Explorer and your
Linux shell (bash). This avoids switching to a different operating system or
installing a virtual machine. Everything runs on Windows.
.. seealso::
You can find more detailed information at the `Windows Subsystem for Linux Installation Guide for Windows 10 <https://docs.microsoft.com/en-us/windows/wsl/install-win10>`_.
Installing Bash on Windows
--------------------------
Prerequisites
^^^^^^^^^^^^^
* Windows 10 (64bit only)
* Latest updates installed
Enable developer mode
^^^^^^^^^^^^^^^^^^^^^
You enable this feature by first opening Windows Settings and enabling
Developer mode. Go to the Windows settings and search for "developer". This
will allow you to install software which comes from outside of the Windows
Store. You might be prompted to reboot your compute. Please do so.
.. image:: JPG/bow_tutorial_01_small.png
:target: JPG/bow_tutorial_01.png
.. image:: JPG/bow_tutorial_02_small.png
:target: JPG/bow_tutorial_02.png
.. image:: JPG/bow_tutorial_03_small.png
:target: JPG/bow_tutorial_03.png
Install Windows Subsystem for Linux
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Next you must ensure that the Window Subsystem for Linux is installed. Again,
search for "enable windows features" in the Settings dialog. This opens a
dialog with a list of features you can install. Add a checkmark to Windows
Subsystem for Linux (Beta) and press OK.
.. image:: JPG/bow_tutorial_04_small.png
:target: JPG/bow_tutorial_04.png
.. image:: JPG/bow_tutorial_05.png
:target: JPG/bow_tutorial_05.png
Install Bash for Windows
^^^^^^^^^^^^^^^^^^^^^^^^
After installation completes, type "bash" in the Windows Start menu search.
Select the first found option. This will launch a command-line window which
will prompt you about installing Ubuntu on Windows. Confirm with "y" and press
enter. This will then download Ubuntu for Windows.
.. image:: JPG/bow_tutorial_06.png
.. image:: JPG/bow_tutorial_07.png
During installation, you will be asked for a new password. This will be used
for installing new software and running commands with sudo.
.. image:: JPG/bow_tutorial_08.png
Type exit to close the command-line window.
Go to the Start menu and type "bash" again. This time you will see a "Bash on
Ubuntu on Windows" Icon. Start this program.
.. image:: JPG/bow_tutorial_09.png
Congratulations, you have installed **Bash on Ubuntu on Windows**\ .
.. image:: JPG/bow_tutorial_10.png
----------
Compiling LAMMPS in Bash on Windows
-----------------------------------
The installation of LAMMPS in this environment is identical to working inside
of a real Ubuntu Linux installation. At the time writing, it uses Ubuntu 16.04.
Installing prerequisite packages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
First upgrade all existing packages using
.. code-block:: bash
sudo apt update
sudo apt upgrade -y
Next install the following packages, which include compilers and libraries
needed for various LAMMPS features:
.. code-block:: bash
sudo apt install -y build-essential ccache gfortran openmpi-bin libopenmpi-dev libfftw3-dev libjpeg-dev libpng-dev python-dev python-virtualenv libblas-dev liblapack-dev libhdf5-serial-dev hdf5-tools
Files in Ubuntu on Windows
^^^^^^^^^^^^^^^^^^^^^^^^^^
When you launch "Bash on Ubuntu on Windows" you will start out in your Linux
user home directory /home/[username]\ . You can access your Windows user directory
using the /mnt/c/Users/[username] folder.
Download LAMMPS
^^^^^^^^^^^^^^^
Obtain a copy of the LAMMPS code and go into it using "cd"
Option 1: Downloading LAMMPS tarball using wget
"""""""""""""""""""""""""""""""""""""""""""""""
.. code-block:: bash
wget https://lammps.sandia.gov/tars/lammps-stable.tar.gz
tar xvzf lammps-stable.tar.gz
cd lammps-31Mar17
Option 2: Obtaining LAMMPS code from GitHub
"""""""""""""""""""""""""""""""""""""""""""
.. code-block:: bash
git clone https://github.com/lammps/lammps.git
cd lammps
Compiling LAMMPS
^^^^^^^^^^^^^^^^
At this point you can compile LAMMPS like on Ubuntu Linux.
Compiling serial version
""""""""""""""""""""""""
.. code-block:: bash
cd src/
make -j 4 serial
This will create an executable called lmp_serial in the src/ directory
Compiling MPI version
"""""""""""""""""""""
.. code-block:: bash
cd src/
make -j 4 mpi
This will create an executable called lmp_mpi in the src/ directory
----------
Finally, please note the absolute path of your src folder. You can get this using
.. code-block:: bash
pwd
or
.. code-block:: bash
echo $PWD
To run any examples you need the location of the executable. For now, let us
save this location in a temporary variable
.. code-block:: bash
LAMMPS_DIR=$PWD
----------
Running an example script
^^^^^^^^^^^^^^^^^^^^^^^^^
Once compiled you can execute some of the LAMMPS examples. Switch into the
examples/melt folder
.. code-block:: bash
cd ../examples/melt
The full path of the serial executable is $LAMMPS_DIR/lmp_serial, while the mpi
version is $LAMMPS_DIR/lmp_mpi. You can run the melt example with either
version as follows:
.. code-block:: bash
$LAMMPS_DIR/lmp_serial -in in.melt
or
.. code-block:: bash
mpirun -np 4 $LAMMPS_DIR/lmp_mpi -in in.melt
Note the use of our variable $LAMMPS_DIR, which expands into the full path of
the LAMMPS src folder we saved earlier.
Adding your executable directory to your PATH
"""""""""""""""""""""""""""""""""""""""""""""
You can avoid having to type the full path of your LAMMPS binary by adding its
parent folder to the PATH environment variable as follows:
.. code-block:: bash
export PATH=$LAMMPS_DIR:$PATH
Input scripts can then be run like this:
.. code-block:: bash
lmp_serial -in in.melt
or
.. code-block:: bash
mpirun -np 4 lmp_mpi -in in.melt
However, this PATH variable will not persist if you close your bash window.
To persist this setting edit the $HOME/.bashrc file using your favorite editor
and add this line
.. code-block:: bash
export PATH=/full/path/to/your/lammps/src:$PATH
**Example:**
For an executable lmp_serial with a full path
.. code-block:: bash
/home/richard/lammps/src/lmp_serial
the PATH variable should be
.. code-block:: bash
export PATH=/home/richard/lammps/src:$PATH
.. note::
This should give you a jump start when trying to run LAMMPS on Windows.
To become effective in this environment I encourage you to look into Linux
tutorials explaining Bash and Basic Unix commands (e.g., `Linux Journey <https://linuxjourney.com>`_)

View File

@ -102,8 +102,8 @@ documentation for the formula it computes.
* :doc:`pair_style <pair_buck>` buck/coul/cut
* :doc:`pair_style <pair_buck>` buck/coul/long
* :doc:`pair_style <pair_lj>` lj/cut
* :doc:`pair_style <pair_lj>` lj/cut/coul/cut
* :doc:`pair_style <pair_lj>` lj/cut/coul/long
* :doc:`pair_style <pair_lj_cut_coul>` lj/cut/coul/cut
* :doc:`pair_style <pair_lj_cut_coul>` lj/cut/coul/long
* :doc:`pair_style <pair_hbond_dreiding>` hbond/dreiding/lj
* :doc:`pair_style <pair_hbond_dreiding>` hbond/dreiding/morse

View File

@ -9,13 +9,15 @@ surface meshes of discrete points, collections of sub-particles,
deformable objects, etc. Note that other kinds of finite-size
spherical and aspherical particles are also supported by LAMMPS, such
as spheres, ellipsoids, line segments, and triangles, but they are
simpler entities that body particles. See the :doc:`Howto spherical <Howto_spherical>` doc page for a general overview of all
these particle types.
simpler entities than body particles. See the :doc:`Howto spherical
<Howto_spherical>` doc page for a general overview of all these
particle types.
Body particles are used via the :doc:`atom_style body <atom_style>`
command. It takes a body style as an argument. The current body
styles supported by LAMMPS are as follows. The name in the first
column is used as the *bstyle* argument for the :doc:`atom_style body <atom_style>` command.
column is used as the *bstyle* argument for the :doc:`atom_style body
<atom_style>` command.
+----------------------+---------------------------------------------------+
| *nparticle* | rigid body with N sub-particles |
@ -30,8 +32,9 @@ thus how they can be used to compute pairwise body/body or
bond/non-body (point particle) interactions. More details of each
style are described below.
More styles may be added in the future. See the :doc:`Modify body <Modify_body>` doc page for details on how to add a new body
style to the code.
More styles may be added in the future. See the :doc:`Modify body
<Modify_body>` doc page for details on how to add a new body style to
the code.
----------
@ -55,10 +58,10 @@ interactions, building neighbor lists, migrating particles between
processors, output of particles to a dump file, etc. This means that
interactions between pairs of bodies or between a body and non-body
(point) particle need to be encoded in an appropriate pair style. If
such a pair style were to mimic the :doc:`fix rigid <fix_rigid>` model,
it would need to loop over the entire collection of interactions
between pairs of simple particles within the two bodies, each time a
single body/body interaction was computed.
such a pair style were to mimic the :doc:`fix rigid <fix_rigid>`
model, it would need to loop over the entire collection of
interactions between pairs of simple particles within the two bodies,
each time a single body/body interaction was computed.
Thus it only makes sense to use body particles and develop such a pair
style, when particle/particle interactions are more complex than what
@ -160,27 +163,6 @@ of the body particle.
The :doc:`pair_style body/nparticle <pair_body_nparticle>` command can be used
with this body style to compute body/body and body/non-body interactions.
For output purposes via the :doc:`compute body/local <compute_body_local>` and :doc:`dump local <dump>`
commands, this body style produces one datum for each of the N
sub-particles in a body particle. The datum has 3 values:
.. parsed-literal::
1 = x position of sub-particle
2 = y position of sub-particle
3 = z position of sub-particle
These values are the current position of the sub-particle within the
simulation domain, not a displacement from the center-of-mass (COM) of
the body particle itself. These values are calculated using the
current COM and orientation of the body particle.
For images created by the :doc:`dump image <dump_image>` command, if the
*body* keyword is set, then each body particle is drawn as a
collection of spheres, one for each sub-particle. The size of each
sphere is determined by the *bflag1* parameter for the *body* keyword.
The *bflag2* argument is ignored.
----------
**Specifics of body style rounded/polygon:**
@ -208,7 +190,7 @@ The Nmin and Nmax arguments are used to bound the size of data
structures used internally by each particle.
When the :doc:`read_data <read_data>` command reads a data file for this
body style, the following information must be provided for each entry
body style, the following information must be provided for each body
in the *Bodies* section of the data file:
.. parsed-literal::
@ -219,21 +201,25 @@ in the *Bodies* section of the data file:
x1 y1 z1
...
xN yN zN
i j j k k ...
diameter
where M = 6 + 3\*N + 2\*N + 1, and N is the number of vertices in the
body particle.
where M = 6 + 3\*N + 1, and N is the number of vertices in the body
particle.
The integer line has a single value N. The floating point line(s)
list 6 moments of inertia followed by the coordinates of the N
list 6 moments of inertia, followed by the coordinates of the N
vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by
2N vertex indices corresponding to the end points of the N edges,
followed by a single diameter value = the rounded diameter of the
circle that surrounds each vertex. The diameter value can be different
for each body particle. These floating-point values can be listed on
as many lines as you wish; see the :doc:`read_data <read_data>` command
for more details.
a diameter value = the rounded diameter of the circle that surrounds
each vertex. The diameter value can be different for each body
particle. These floating-point values can be listed on as many lines
as you wish; see the :doc:`read_data <read_data>` command for more
details.
.. note::
It is important that the vertices for each polygonal body particle be
listed in order around its perimeter, so that edges can be inferred.
LAMMPS does not check that this is the case.
The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
values consistent with the current orientation of the rigid body
@ -260,10 +246,6 @@ is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz =
-0.7071 0.7071 0
0.7071 0.7071 0
0.7071 -0.7071 0
0 1
1 2
2 3
3 0
1.0
A rod in 2D, whose length is 4.0, mass 1.0, rounded at two ends
@ -345,8 +327,10 @@ in the *Bodies* section of the data file:
1 2 3 4
diameter
where M = 6 + 3\*N + 2\*E + 4\*F + 1, and N is the number of vertices in
the body particle, E = number of edges, F = number of faces.
where M = 6 + 3\*N + 2\*E + 4\*F + 1, and N is the number of vertices
in the body particle, E = number of edges, F = number of faces. For N
= 1 or 2, the format is simpler. E and F are ignored and no edges or
faces are listed, so that M = 6 + 3\*N + 1.
The integer line has three values: number of vertices (N), number of
edges (E) and number of faces (F). The floating point line(s) list 6
@ -356,16 +340,26 @@ the end points of the E edges, then 4\*F vertex indices defining F
faces. The last value is the diameter value = the rounded diameter of
the sphere that surrounds each vertex. The diameter value can be
different for each body particle. These floating-point values can be
listed on as many lines as you wish; see the
:doc:`read_data <read_data>` command for more details. Because the
maximum number of vertices per face is hard-coded to be 4
(i.e. quadrilaterals), faces with more than 4 vertices need to be
split into triangles or quadrilaterals. For triangular faces, the
last vertex index should be set to -1.
listed on as many lines as you wish; see the :doc:`read_data
<read_data>` command for more details.
The ordering of the 4 vertices within a face should follow
the right-hand rule so that the normal vector of the face points
outwards from the center of mass.
Note that vertices are numbered from 0 to N-1 inclusive. The order of
the 2 vertices in each edge does not matter. Faces can be triangles
or quadrilaterals. In both cases 4 vertices must be specified. For a
triangle the 4th vertex is -1. The 4 vertices within each triangle or
quadrilateral face should be ordered by the right-hand rule so that
the normal vector of the face points outwards from the center of mass.
For polyhedron with faces with more than 4 vertices, you should split
the complex face into multiple simple faces, each of which is a
triangle or quadrilateral.
.. note::
If a face is a quadrilateral then its 4 vertices must be co-planar.
LAMMPS does not check that this is the case. If you have a quad-face
of a polyhedron that is not planar (e.g. a cube whose vertices have
been randomly displaced), then you should represent the single quad
face as two triangle faces instead.
The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
values consistent with the current orientation of the rigid body
@ -421,8 +415,8 @@ by circles of diameter 0.5, is specified as follows:
.. parsed-literal::
1 1 13
2
1 3 13
2 1 1
0 1.33333 1.33333 0 0 0
-2 0 0
2 0 0
@ -432,27 +426,34 @@ A sphere whose diameter is 3.0 and mass 1.0, is specified as follows:
.. parsed-literal::
1 1 10
1
1 3 10
1 1 1
0.9 0.9 0.9 0 0 0
0 0 0
3.0
The :doc:`pair_style body/rounded/polhedron <pair_body_rounded_polyhedron>` command can
be used with this body style to compute body/body interactions. The
:doc:`fix wall/body/polyhedron <fix_wall_body_polygon>` command can be
used with this body style to compute the interaction of body particles
with a wall.
The number of edges and faces for a rod or sphere must be listed,
but is ignored.
The :doc:`pair_style body/rounded/polhedron
<pair_body_rounded_polyhedron>` command can be used with this body
style to compute body/body interactions. The :doc:`fix
wall/body/polyhedron <fix_wall_body_polygon>` command can be used with
this body style to compute the interaction of body particles with a
wall.
----------
For output purposes via the :doc:`compute body/local <compute_body_local>` and :doc:`dump local <dump>`
commands, this body style produces one datum for each of the N
sub-particles in a body particle. The datum has 3 values:
**Output specifics for all body styles:**
For the :doc:`compute body/local <compute_body_local>` and :doc:`dump
local <dump>` commands, all 3 of the body styles described on his page
produces one datum for each of the N vertices (of sub-particles) in a
body particle. The datum has 3 values:
.. parsed-literal::
1 = x position of vertex
1 = x position of vertex (or sub-particle)
2 = y position of vertex
3 = z position of vertex
@ -461,15 +462,29 @@ simulation domain, not a displacement from the center-of-mass (COM) of
the body particle itself. These values are calculated using the
current COM and orientation of the body particle.
For images created by the :doc:`dump image <dump_image>` command, if the
*body* keyword is set, then each body particle is drawn as a polygon
consisting of N line segments. Note that the line segments are drawn
between the N vertices, which does not correspond exactly to the
physical extent of the body (because the :doc:`pair_style rounded/polygon <pair_body_rounded_polygon>` defines finite-size
spheres at those point and the line segments between the spheres are
tangent to the spheres). The drawn diameter of each line segment is
determined by the *bflag1* parameter for the *body* keyword. The
*bflag2* argument is ignored.
The :doc:`dump image <dump_image>` command and its *body* keyword can
be used to render body particles.
For the *nparticle* body style, each body is drawn as a
collection of spheres, one for each sub-particle. The size of each
sphere is determined by the *bflag1* parameter for the *body* keyword.
The *bflag2* argument is ignored.
For the *rounded/polygon* body style, each body is drawn as a polygon
with N line segments. For the *rounded/polyhedron* body style, each
face of each body is drawn as a polygon with N line segments. The
drawn diameter of each line segment is determined by the *bflag1*
parameter for the *body* keyword. The *bflag2* argument is ignored.
Note that for both the *rounded/polygon* and *rounded/polyhedron*
styles, line segments are drawn between the pairs of vertices.
Depending on the diameters of the line segments this may be slightly
different than the physical extent of the body as calculated by the
:doc:`pair_style rounded/polygon <pair_body_rounded_polygon>` or
:doc:`pair_style rounded/polyhedron <pair_body_rounded_polyhedron>`
commands. Conceptually, the pair styles define the surface of a 2d or
3d body by lines or planes that are tangent to the finite-size spheres
of specified diameter which are placed on each vertex position.
----------

View File

@ -47,7 +47,7 @@ using a shell like Bash.
- Linux: any Terminal window will work
- MacOS X: launch the Terminal application.
- Windows 10: install and run the :doc:`Windows subsystem for Linux <Howto_bash>`
- Windows 10: install and run the :doc:`Windows Subsystem for Linux <Howto_wsl>`
We also assume that you have downloaded and unpacked a recent LAMMPS source code package
or used Git to create a clone of the LAMMPS sources on your compilation machine.
@ -331,7 +331,7 @@ Some common LAMMPS specific variables
* - ``BUILD_DOC``
- include building the HTML format documentation for packaging/installing (default: ``off``)
* - ``CMAKE_TUNE_FLAGS``
- common compiler flags, for optimization or instrumentation (default: compiler specific)
- common compiler flags, for optimization or instrumentation (default:)
* - ``LAMMPS_MACHINE``
- when set to ``name`` the LAMMPS executable and library will be called ``lmp_name`` and ``liblammps_name.a``
* - ``LAMMPS_EXCEPTIONS``

View File

@ -3,13 +3,15 @@ Output from LAMMPS (thermo, dumps, computes, fixes, variables)
There are four basic kinds of LAMMPS output:
* :doc:`Thermodynamic output <thermo_style>`, which is a list
of quantities printed every few timesteps to the screen and logfile.
* :doc:`Thermodynamic output <thermo_style>`, which is a list of
quantities printed every few timesteps to the screen and logfile.
* :doc:`Dump files <dump>`, which contain snapshots of atoms and various
per-atom values and are written at a specified frequency.
* Certain fixes can output user-specified quantities to files: :doc:`fix ave/time <fix_ave_time>` for time averaging, :doc:`fix ave/chunk <fix_ave_chunk>` for spatial or other averaging, and :doc:`fix print <fix_print>` for single-line output of
:doc:`variables <variable>`. Fix print can also output to the
screen.
* Certain fixes can output user-specified quantities to files:
:doc:`fix ave/time <fix_ave_time>` for time averaging,
:doc:`fix ave/chunk <fix_ave_chunk>` for spatial or other averaging, and
:doc:`fix print <fix_print>` for single-line output of
:doc:`variables <variable>`. Fix print can also output to the screen.
* :doc:`Restart files <restart>`.
A simulation prints one set of thermodynamic output and (optionally)
@ -41,7 +43,7 @@ to output and the kind of data they operate on and produce:
.. _global:
Global/per-atom/local data
---------------------------------------
--------------------------
Various output-related commands work with three different styles of
data: global, per-atom, or local. A global datum is one or more
@ -54,7 +56,7 @@ bond distances.
.. _scalar:
Scalar/vector/array data
-------------------------------------
------------------------
Global, per-atom, and local datums can each come in three kinds: a
single scalar value, a vector of values, or a 2d array of values. The
@ -81,10 +83,27 @@ the dimension twice (array -> scalar). Thus a command that uses
scalar values as input can typically also process elements of a vector
or array.
.. _disambiguation:
Disambiguation
--------------
Some computes and fixes produce data in multiple styles, e.g. a global
scalar and a per-atom vector. Usually the context in which the input
script references the data determines which style is meant. Example: if
a compute provides both a global scalar and a per-atom vector, the
former will be accessed by using ``c_ID`` in an equal-style variable,
while the latter will be accessed by using ``c_ID`` in an atom-style
variable. Note that atom-style variable formulas can also access global
scalars, but in this case it is not possible to do directly because of
the ambiguity. Instead, an equal-style variable can be defined which
accesses the global scalar, and that variable used in the atom-style
variable formula in place of ``c_ID``.
.. _thermo:
Thermodynamic output
---------------------------------
--------------------
The frequency and format of thermodynamic output is set by the
:doc:`thermo <thermo>`, :doc:`thermo_style <thermo_style>`, and
@ -112,7 +131,7 @@ intensive result.
.. _dump:
Dump file output
---------------------------
----------------
Dump file output is specified by the :doc:`dump <dump>` and
:doc:`dump_modify <dump_modify>` commands. There are several
@ -138,7 +157,7 @@ command.
.. _fixoutput:
Fixes that write output files
---------------------------------------------
-----------------------------
Several fixes take various quantities as input and can write output
files: :doc:`fix ave/time <fix_ave_time>`, :doc:`fix ave/chunk <fix_ave_chunk>`, :doc:`fix ave/histo <fix_ave_histo>`,
@ -192,7 +211,7 @@ from normal thermodynamic or dump file output.
.. _computeoutput:
Computes that process output quantities
-----------------------------------------------------------
---------------------------------------
The :doc:`compute reduce <compute_reduce>` and :doc:`compute reduce/region <compute_reduce>` commands take one or more per-atom
or local vector quantities as inputs and "reduce" them (sum, min, max,
@ -219,7 +238,7 @@ output commands.
.. _fixprocoutput:
Fixes that process output quantities
--------------------------------------------------------
------------------------------------
The :doc:`fix vector <fix_vector>` command can create global vectors as
output from global scalars as input, accumulating them one element at
@ -244,7 +263,7 @@ The output of this fix can be used as input to other output commands.
.. _compute:
Computes that generate values to output
-----------------------------------------------------
---------------------------------------
Every :doc:`compute <compute>` in LAMMPS produces either global or
per-atom or local values. The values can be scalars or vectors or
@ -257,7 +276,7 @@ without the word "atom" or "local" produce global values.
.. _fix:
Fixes that generate values to output
----------------------------------------------
------------------------------------
Some :doc:`fixes <fix>` in LAMMPS produces either global or per-atom or
local values which can be accessed by other commands. The values can
@ -269,7 +288,7 @@ describes them.
.. _variable:
Variables that generate values to output
-------------------------------------------------------
----------------------------------------
:doc:`Variables <variable>` defined in an input script can store one or
more strings. But equal-style, vector-style, and atom-style or
@ -284,7 +303,7 @@ commands described in this section.
.. _table:
Summary table of output options and data flow between commands
--------------------------------------------------------------------------
--------------------------------------------------------------
This table summarizes the various commands that can be used for
generating output from LAMMPS. Each command produces output data of

View File

@ -11,11 +11,11 @@ angle style of *harmonic* or *charmm* should also be used.
A TIP4P model is run with LAMMPS using either this command
for a cutoff model:
* :doc:`pair_style lj/cut/tip4p/cut <pair_lj>`
* :doc:`pair_style lj/cut/tip4p/cut <pair_lj_cut_tip4p>`
or these two commands for a long-range model:
* :doc:`pair_style lj/cut/tip4p/long <pair_lj>`
* :doc:`pair_style lj/cut/tip4p/long <pair_lj_cut_tip4p>`
* :doc:`kspace_style pppm/tip4p <kspace_style>`
For both models, the bond lengths and bond angles should be held fixed
@ -95,7 +95,7 @@ typically best in an efficiency sense to use a LJ cutoff >= Coulomb
cutoff + 2\*(OM distance), to shrink the size of the neighbor list.
This leads to slightly larger cost for the long-range calculation, so
you can test the trade-off for your model. The OM distance and the LJ
and Coulombic cutoffs are set in the :doc:`pair_style lj/cut/tip4p/long <pair_lj>` command.
and Coulombic cutoffs are set in the :doc:`pair_style lj/cut/tip4p/long <pair_lj_cut_tip4p>` command.
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.

359
doc/src/Howto_wsl.rst Normal file
View File

@ -0,0 +1,359 @@
Using LAMMPS on Windows 10 with WSL
###################################
**written by Richard Berger**
----------
It's always been tricky for us to have LAMMPS users and developers work on
Windows. We primarily develop LAMMPS to run on Linux clusters. To teach
LAMMPS in workshop settings, we had to redirect Windows users to
Linux Virtual Machines such as VirtualBox or Unix-like compilation with
Cygwin.
With the latest updates in Windows 10 (Version 2004, Build 19041 or higher),
Microsoft has added a new way to work on Linux-based code. The Windows
Subsystem for Linux (WSL). With WSL Version 2, you now get a Linux Virtual
Machine that transparently integrates into Windows. All you need is to ensure
you have the latest Windows updates installed and enable this new feature.
Linux VMs are then easily installed using the Microsoft Store.
In this tutorial, I'll show you how to set up and compile LAMMPS for both serial
and MPI usage in WSL2.
Installation
============
Upgrade to the latest Windows 10
--------------------------------
Type "Updates" in Windows Start and select "Check for Updates".
.. image:: img/wsl_tutorial/updates.png
:scale: 50%
Install all pending updates and reboot your system as many times as
necessary. Continue until your Windows installation is updated.
.. image:: img/wsl_tutorial/windows_update.png
:scale: 50%
Verify your system has at least **version 2004 and build 19041 or later**. You
can find this information by clicking on "OS build info".
.. image:: img/wsl_tutorial/osinfo.png
:scale: 50%
Enable WSL
----------
Next, we must install two additional Windows features to enable WSL support.
Open a PowerShell window as an administrator. Type "PowerShell" in Windows
Start and select "Run as Administrator".
.. image:: img/wsl_tutorial/powershell.png
:scale: 50%
Windows will ask you for administrator access. After you accept a new command
line window will appear. Type in the following command to install WSL:
.. code-block::
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
.. image:: img/wsl_tutorial/wsl_install1.png
Next, enable the VirtualMachinePlatform feature using the following command:
.. code-block::
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
.. image:: img/wsl_tutorial/wsl_install2.png
Finally, reboot your system.
Update WSL kernel component
---------------------------
Download and install the :download:`WSL Kernel Component Update <https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi>`.
Afterwards, reboot your system.
Set WSL2 as default
-------------------
Again, open PowerShell as administrator and run the following command:
.. code-block:: powershell
wsl --set-default-version 2
This command ensures that all future Linux installations will use WSL version 2.
.. image:: img/wsl_tutorial/wsl_install3.png
Install a Linux Distribution
----------------------------
Next, we need to install a Linux distribution via the Microsoft Store.
Install `Ubuntu 20.04 LTS <ms-windows-store://pdp/?ProductId=9n6svws3rx71>`_.
Once installed, you can launch it like any other application from the Start
Menu.
.. image:: img/wsl_tutorial/ubuntu_in_store.png
:scale: 50%
Initial Setup
^^^^^^^^^^^^^
The first time you launch the Ubuntu Linux console, it will prompt you for a
UNIX username and password. You will need this password to perform :code:`sudo`
commands later. Once completed, your Linux shell is ready for use. All your
actions and commands will run as the Linux user you specified.
.. image:: img/wsl_tutorial/first_login.png
:scale: 50%
Windows Explorer / WSL integration
==================================
Your Linux installation will have its own Linux filesystem, which contains
the Ubuntu files. Your Linux user will have a regular Linux home directory in
:code:`/home/<USERNAME>`. This directory is different from your Windows User
directory. Windows and Linux filesystems are connected through WSL.
All hard drives in Windows are accessible in the :code:`/mnt` directory in Linux.
E.g., WSL maps the :code:`C` hard drive to the :code:`/mnt/c` directory. That means you
can access your Windows User directory in :code:`/mnt/c/Users/<WINDOWS_USERNAME>`.
The Windows Explorer can also access the Linux filesystem. To illustrate this
integration, open an Ubuntu console and navigate to a directory of your
choice. To view this location in Windows Explorer, use the :code:`explorer.exe .`
command (do not forget the final dot!).
.. image:: img/wsl_tutorial/wsl_integration.png
:scale: 50%
--------
Compiling LAMMPS
================
You now have a fully functioning Ubuntu installation and can follow most
guides to install LAMMPS on a Linux system. Here are some of the essential
steps to follow:
Install prerequisite packages
-----------------------------
Before we can begin, we need to download the necessary compiler toolchain and
libraries to compile LAMMPS. In our Ubuntu-based Linux installation, we will
use the :code:`apt` package manager to install additional packages.
First, upgrade all existing packages using :code:`apt update` and :code:`apt upgrade`.
.. code-block:: bash
sudo apt update
sudo apt upgrade -y
Next, install the following packages with :code:`apt install`:
.. code-block:: bash
sudo apt install -y cmake build-essential ccache gfortran openmpi-bin libopenmpi-dev \
libfftw3-dev libjpeg-dev libpng-dev python3-dev python3-pip \
python3-virtualenv libblas-dev liblapack-dev libhdf5-serial-dev \
hdf5-tools
Download LAMMPS
---------------
Obtain a copy of the LAMMPS source code and go into it using the :code:`cd` command.
Option 1: Download a LAMMPS tarball using wget
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: bash
wget https://github.com/lammps/lammps/archive/stable_3Mar2020.tar.gz
tar xvzf stable_3Mar2020.tar.gz
cd lammps
Option 2: Download a LAMMPS development version from GitHub
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: bash
git clone --depth=1 https://github.com/lammps/lammps.git
cd lammps
Configure and Compile LAMMPS with CMake
---------------------------------------
A beginner-friendly way to compile LAMMPS is to use CMake. Create a :code:`build`
directory to compile LAMMPS and move into it. This directory will store the
build configuration and any binaries generated during compilation.
.. code-block:: bash
mkdir build
cd build
There are countless ways to compile LAMMPS. It is beyond the scope of this
tutorial. If you want to find out more about what can be enabled, please
consult the extensive `documentation <https://lammps.sandia.gov/doc/Build_cmake.html>`_.
To compile a minimal version of LAMMPS, we're going to use a preset.
Presets are a way to specify a collection of CMake options using a file.
.. code-block:: bash
cmake ../cmake/presets/minimal.cmake ../cmake
This command configures the build and generates the necessary Makefiles. To compile the binary, run the make command.
.. code-block:: bash
make -j 4
The :code:`-j` option specifies how many parallel processes will perform the
compilation. This option can significantly speed up compilation times. Use a
number that corresponds to the number of processors in your system.
After the compilation completes successfully, you will have an executable
called :code:`lmp` in the :code:`build` directory.
.. image:: img/wsl_tutorial/compilation_result.png
:scale: 50%
Please take note of the absolute path of your :code:`build` directory. You will
need to know the location to execute the LAMMPS binary later.
One way of getting the absolute path of the current directory is through the
:code:`$PWD` variable:
.. code-block:: bash
# prints out the current value of the PWD variable
echo $PWD
Let us save this value in a temporary variable :code:`LAMMPS_BUILD_DIR` for future use:
.. code-block:: bash
LAMMPS_BUILD_DIR=$PWD
The full path of the LAMMPS binary then is :code:`$LAMMPS_BUILD_DIR/lmp`.
------------
Running an example script
=========================
Now that we have a LAMMPS binary, we will run a script from the examples folder.
Switch into the :code:`examples/melt` folder:
.. code-block::
cd ../examples/melt
To run this example in serial, use the following command line:
.. code-block::
$LAMMPS_BUILD_DIR/lmp -in in.melt
To run the same script in parallel using MPI with 4 processes, do the following:
.. code-block:: bash
mpirun -np 4 $LAMMPS_BUILD_DIR/lmp -in in.melt
If you run LAMMPS for the first time, the Windows Firewall might prompt you
to confirm access. LAMMPS is accessing the network stack to enable parallel
computation. Allow the access.
.. image:: img/wsl_tutorial/windows_firewall.png
:scale: 75%
In either serial or MPI case, LAMMPS executes and will output something similar to this:
.. code-block::
LAMMPS (30 Jun 2020)
...
...
...
Total # of neighbors = 151513
Ave neighs/atom = 37.878250
Neighbor list builds = 12
Dangerous builds not checked
Total wall time: 0:00:00
**Congratulations! You've successfully compiled and executed LAMMPS on WSL!**
Final steps
===========
It is cumbersome to always specify the path of your LAMMPS binary. You can
avoid this by adding the absolute path of your :code:`build` directory to your PATH
environment variable.
.. code-block:: bash
export PATH=$LAMMPS_BUILD_DIR:$PATH
You can then run LAMMPS input scripts like this:
.. code-block:: bash
lmp -in in.melt
or
.. code-block:: bash
mpirun -np 4 lmp -in in.melt
.. note::
The value of this :code:`PATH` variable will disappear once you close your
console window. To persist this setting edit the :code:`$HOME/.bashrc` file using your
favorite text editor and add this line:
.. code-block:: bash
export PATH=/full/path/to/your/lammps/build:$PATH
**Example:**
If the LAMMPS executable `lmp` has the following absolute path:
.. code-block:: bash
/home/<USERNAME>/lammps/build/lmp
the :code:`PATH` variable should be:
.. code-block:: bash
export PATH=/home/<USERNAME>/lammps/build:$PATH
Once set up, all your Ubuntu consoles will always have access to your :code:`lmp`
binary without having to specify its location.
Conclusion
==========
I hope this gives you good overview on how to start compiling and running LAMMPS on
Windows. WSL makes preparing and running scripts on Windows a much better
experience.
If you are completely new to Linux, I highly recommend investing some time in
studying Linux online tutorials. E.g., tutorials about Bash Shell and Basic
Unix commands (e.g., `Linux Journey <https://linuxjourney.com/>`_). Acquiring
these skills will make you much more productive in this environment.
.. seealso::
* `Windows Subsystem for Linux Documentation <https://docs.microsoft.com/en-us/windows/wsl/>`_

View File

@ -21,8 +21,14 @@ Pre-built Ubuntu Linux executables
A pre-built LAMMPS executable suitable for running on the latest
Ubuntu Linux versions, can be downloaded as a Debian package. This
allows you to install LAMMPS with a single command, and stay
up-to-date with the current version of LAMMPS by simply updating your
operating system.
up-to-date with the current stable version of LAMMPS by simply updating
your operating system. Please note, that the repository below offers
two LAMMPS packages, ``lammps-daily`` and ``lammps-stable``. The
LAMMPS developers recommend to use the ``lammps-stable`` package for
any production simulations. The ``lammps-daily`` package is built
from the LAMMPS development sources, and those versions may have known
issues and bugs when new features are added and the software has not
undergone full release testing.
To install the appropriate personal-package archives (PPAs), do the
following once:
@ -37,16 +43,16 @@ To install LAMMPS do the following once:
.. code-block:: bash
$ sudo apt-get install lammps-daily
$ sudo apt-get install lammps-stable
This downloads an executable named ``lmp_daily`` to your box, which
This downloads an executable named ``lmp_stable`` to your box, which
can then be used in the usual way to run input scripts:
.. code-block:: bash
$ lmp_daily -in in.lj
$ lmp_stable -in in.lj
To update LAMMPS to the most current version, do the following:
To update LAMMPS to the most current stable version, do the following:
.. code-block:: bash
@ -58,25 +64,25 @@ To get a copy of the current documentation and examples:
.. code-block:: bash
$ sudo apt-get install lammps-daily-doc
$ sudo apt-get install lammps-stable-doc
which will download the doc files in
``/usr/share/doc/lammps-daily-doc/doc`` and example problems in
``/usr/share/doc/lammps-stable-doc/doc`` and example problems in
``/usr/share/doc/lammps-doc/examples``.
To get a copy of the current potentials files:
.. code-block:: bash
$ sudo apt-get install lammps-daily-data
$ sudo apt-get install lammps-stable-data
which will download the potentials files to
``/usr/share/lammps-daily/potentials``. The ``lmp_daily`` binary is
``/usr/share/lammps-stable/potentials``. The ``lmp_stable`` binary is
hard-coded to look for potential files in this directory (it does not
use the `LAMMPS_POTENTIALS` environment variable, as described
in :doc:`pair_coeff <pair_coeff>` command).
The ``lmp_daily`` binary is built with the :ref:`KIM package <kim>` which
The ``lmp_stable`` binary is built with the :ref:`KIM package <kim>` which
results in the above command also installing the `kim-api` binaries when LAMMPS
is installed. In order to use potentials from `openkim.org <openkim_>`_, you
can install the `openkim-models` package
@ -89,9 +95,9 @@ To un-install LAMMPS, do the following:
.. code-block:: bash
$ sudo apt-get remove lammps-daily
$ sudo apt-get remove lammps-stable
Please use ``lmp_daily -help`` to see which compilation options, packages,
Please use ``lmp_stable -help`` to see which compilation options, packages,
and styles are included in the binary.
Thanks to Anton Gladky (gladky.anton at gmail.com) for setting up this

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

View File

@ -306,7 +306,8 @@ gpu" or "-suffix gpu" :doc:`command-line switches <Run_options>`. See
also the :ref:`KOKKOS <PKG-KOKKOS>` package, which has GPU-enabled styles.
**Authors:** Mike Brown (Intel) while at Sandia and ORNL and Trung Nguyen
(Northwestern U) while at ORNL.
(Northwestern U) while at ORNL and later. AMD HIP support by Evgeny
Kuznetsov, Vladimir Stegailov, and Vsevolod Nikolskiy (HSE University).
**Install:**

View File

@ -80,16 +80,23 @@ See the python/README file for instructions on how to run them and the
source code for individual scripts for comments about what they do.
Here are screenshots of the vizplotgui_tool.py script in action for
different visualization package options. Click to see larger images:
different visualization package options:
.. image:: JPG/screenshot_gl_small.jpg
:target: JPG/screenshot_gl.jpg
.. |pyex1| image:: img/screenshot_gl.jpg
:width: 24%
.. image:: JPG/screenshot_atomeye_small.jpg
:target: JPG/screenshot_atomeye.jpg
.. |pyex2| image:: img/screenshot_atomeye.jpg
:width: 24%
.. image:: JPG/screenshot_pymol_small.jpg
:target: JPG/screenshot_pymol.jpg
.. |pyex3| image:: img/screenshot_pymol.jpg
:width: 24%
.. |pyex4| image:: img/screenshot_vmd.jpg
:width: 24%
|pyex1| |pyex2| |pyex3| |pyex4|
.. raw:: html
Click to see larger versions of the images.
.. image:: JPG/screenshot_vmd_small.jpg
:target: JPG/screenshot_vmd.jpg

View File

@ -78,7 +78,7 @@ above, create a test.py file containing these lines:
pypar.finalize()
To run LAMMPS in parallel, assuming you have installed the
`mpi4py <https://bitbucket.org/mpi4py/mpi4py>`_ package as discussed
`mpi4py <https://mpi4py.readthedocs.io>`_ package as discussed
above, create a test.py file containing these lines:
.. code-block:: python

View File

@ -50,6 +50,10 @@ but this can be overridden using the device option of the :doc:`package <package
command. run lammps/lib/gpu/ocl_get_devices to get a list of available
platforms and devices with a suitable ICD available.
To compute and use this package in HIP mode, you have to have the AMD ROCm
software installed. Versions of ROCm older than 3.5 are currently deprecated
by AMD.
**Building LAMMPS with the GPU package:**
See the :ref:`Build extras <gpu>` doc page for

View File

@ -138,10 +138,10 @@ For Intel Xeon Phi co-processors (Offload):
**Required hardware/software:**
When using Intel compilers version 16.0 or later is required.
In order to use offload to co-processors, an Intel Xeon Phi
co-processor and an Intel compiler are required. For this, the
recommended version of the Intel compiler is 14.0.1.106 or
versions 15.0.2.044 and higher.
co-processor and an Intel compiler are required.
Although any compiler can be used with the USER-INTEL package,
currently, vectorization directives are disabled by default when

17
doc/src/accel_styles.rst Normal file
View File

@ -0,0 +1,17 @@
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.

View File

@ -49,13 +49,14 @@ The following coefficients must be defined for each angle type via the
the data file or restart files read by the :doc:`read_data <read_data>`
or :doc:`read_restart <read_restart>` commands:
* :math:`K` (energy/radian\^2)
* :math:`K` (energy)
* :math:`\theta_0` (degrees)
* :math:`K_{ub}` (energy/distance\^2)
* :math:`r_{ub}` (distance)
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
internally; hence the units of :math:`K` are in energy/radian\^2.
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
radians internally; hence :math:`K` is effectively energy per
radian\^2.
----------

View File

@ -41,27 +41,29 @@ The *class2* angle style uses the potential
E_{bb} & = M (r_{ij} - r_1) (r_{jk} - r_2) \\
E_{ba} & = N_1 (r_{ij} - r_1) (\theta - \theta_0) + N_2(r_{jk} - r_2)(\theta - \theta_0)
where :math:`E_a` is the angle term, :math:`E_{bb}` is a bond-bond term, and :math:`E_{ba}` is a
bond-angle term. :math:`\theta_0` is the equilibrium angle and :math:`r_1` and :math:`r_2` are
the equilibrium bond lengths.
where :math:`E_a` is the angle term, :math:`E_{bb}` is a bond-bond
term, and :math:`E_{ba}` is a bond-angle term. :math:`\theta_0` is
the equilibrium angle and :math:`r_1` and :math:`r_2` are the
equilibrium bond lengths.
See :ref:`(Sun) <angle-Sun>` for a description of the COMPASS class2 force field.
Coefficients for the :math:`E_a`, :math:`E_{bb}`, and :math:`E_{ba}` formulas must be defined for
each angle type via the :doc:`angle_coeff <angle_coeff>` command as in
the example above, or in the data file or restart files read by the
:doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
commands.
Coefficients for the :math:`E_a`, :math:`E_{bb}`, and :math:`E_{ba}`
formulas must be defined for each angle type via the :doc:`angle_coeff
<angle_coeff>` command as in the example above, or in the data file or
restart files read by the :doc:`read_data <read_data>` or
:doc:`read_restart <read_restart>` commands.
These are the 4 coefficients for the :math:`E_a` formula:
* :math:`\theta_0` (degrees)
* :math:`K_2` (energy/radian\^2)
* :math:`K_3` (energy/radian\^3)
* :math:`K_4` (energy/radian\^4)
* :math:`K_2` (energy)
* :math:`K_3` (energy)
* :math:`K_4` (energy)
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
internally; hence the units of the various :math:`K` are in per-radian.
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
radians internally; hence the various :math:`K` are effectively energy
per radian\^2 or radian\^3 or radian\^4.
For the :math:`E_{bb}` formula, each line in a :doc:`angle_coeff <angle_coeff>`
command in the input script lists 4 coefficients, the first of which
@ -93,23 +95,7 @@ since it is the same value from the :math:`E_a` formula.
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------
@ -122,11 +108,15 @@ The *class2/p6* angle style uses the *class2* potential expanded to sixth order:
In this expanded term 6 coefficients for the :math:`E_a` formula need to be set:
* :math:`\theta_0` (degrees)
* :math:`K_2` (energy/radian\^2)
* :math:`K_3` (energy/radian\^3)
* :math:`K_4` (energy/radian\^4)
* :math:`K_5` (energy/radian\^5)
* :math:`K_6` (energy/radian\^6)
* :math:`K_2` (energy)
* :math:`K_3` (energy)
* :math:`K_4` (energy)
* :math:`K_5` (energy)
* :math:`K_6` (energy)
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
radians internally; hence the various :math:`K` are effectively energy
per radian\^2 or radian\^3 or radian\^4 or radian\^5 or radian\^6.
The bond-bond and bond-angle terms remain unchanged.

View File

@ -44,23 +44,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -46,23 +46,7 @@ internally.
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -54,23 +54,7 @@ geometry.
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -45,23 +45,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -56,23 +56,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -46,23 +46,7 @@ internally.
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -40,14 +40,15 @@ the data file or restart files read by the :doc:`read_data <read_data>`
or :doc:`read_restart <read_restart>` commands:
* :math:`K_{SS}` (energy/distance\^2)
* :math:`K_{BS0}` (energy/distance/rad)
* :math:`K_{BS1}` (energy/distance/rad)
* :math:`K_{BS0}` (energy/distance)
* :math:`K_{BS1}` (energy/distance)
* :math:`r_{12,0}` (distance)
* :math:`r_{32,0}` (distance)
* :math:`\theta_0` (degrees)
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
internally; hence the units of :math:`K_{BS0}` and :math:`K_{BS1}` are in energy/distance/radian.
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
radians internally; hence the :math:`K_{BS0}` and :math:`K_{BS1}` are
effectively energy/distance per radian.
Restrictions
""""""""""""

View File

@ -82,23 +82,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
Restrictions
""""""""""""

View File

@ -42,23 +42,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -41,23 +41,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -44,31 +44,16 @@ The following coefficients must be defined for each angle type via the
the data file or restart files read by the :doc:`read_data <read_data>`
or :doc:`read_restart <read_restart>` commands:
* :math:`K` (energy/radian\^2)
* :math:`K` (energy)
* :math:`\theta_0` (degrees)
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
internally; hence the units of :math:`K` are in energy/radian\^2.
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
radians internally; hence :math:`K` is effectively energy per
radian\^2.
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -28,20 +28,22 @@ as defined in :ref:`(Allinger) <mm3-allinger1989>`
E = K (\theta - \theta_0)^2 \left[ 1 - 0.014(\theta - \theta_0) + 5.6(10)^{-5} (\theta - \theta_0)^2 - 7.0(10)^{-7} (\theta - \theta_0)^3 + 9(10)^{-10} (\theta - \theta_0)^4 \right]
where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a
prefactor. The anharmonic prefactors have units :math:`\deg^{-n}`, for example
:math:`-0.014 \deg^{-1}`, :math:`5.6 \cdot 10^{-5} \deg^{-2}`, ...
where :math:`\theta_0` is the equilibrium value of the angle, and
:math:`K` is a prefactor. The anharmonic prefactors have units
:math:`\deg^{-n}`, for example :math:`-0.014 \deg^{-1}`, :math:`5.6
\cdot 10^{-5} \deg^{-2}`, ...
The following coefficients must be defined for each angle type via the
:doc:`angle_coeff <angle_coeff>` command as in the example above, or in
the data file or restart files read by the :doc:`read_data <read_data>`
or :doc:`read_restart <read_restart>` commands:
* :math:`K` (energy/radian\^2)
* :math:`K` (energy)
* :math:`\theta_0` (degrees)
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
internally; hence the units of :math:`K` are in energy/radian\^2.
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
radians internally; hence :math:`K` is effectively energy per
radian\^2.
Restrictions
""""""""""""

View File

@ -39,32 +39,17 @@ the data file or restart files read by the :doc:`read_data <read_data>`
or :doc:`read_restart <read_restart>` commands:
* :math:`\theta_0` (degrees)
* :math:`K_2` (energy/radian\^2)
* :math:`K_3` (energy/radian\^3)
* :math:`K_4` (energy/radian\^4)
* :math:`K_2` (energy)
* :math:`K_3` (energy)
* :math:`K_4` (energy)
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
internally; hence the units of :math:`K` are in energy/radian\^2.
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
radians internally; hence the various :math:`K` are effectively energy
per radian\^2 or radian\^3 or radian\^4.
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -44,33 +44,19 @@ is included in :math:`K`.
The following coefficients must be defined for each angle type via the
:doc:`angle_coeff <angle_coeff>` command as in the example above:
* :math:`K` (energy/radian\^2)
* :math:`K` (energy)
* :math:`\theta_0` (degrees)
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
internally; hence the units of :math:`K` are in energy/radian\^2.
The also required *lj/sdk* parameters will be extracted automatically
from the pair_style.
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
radians internally; hence :math:`K` is effectively energy per
radian\^2.
The required *lj/sdk* parameters are extracted automatically from the
pair_style.
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -126,23 +126,7 @@ one that matches the specified keyword.
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -177,16 +177,16 @@ volume (area in 2d) assigned to each processor, as in the following 2d
diagram where processor sub-domains are shown and particles are
colored by the processor that owns them.
.. list-table::
.. |balance1| image:: img/balance_uniform.jpg
:width: 32%
* - .. figure:: JPG/balance_uniform_small.jpg
:target: JPG/balance_uniform.jpg
.. |balance2| image:: img/balance_nonuniform.jpg
:width: 32%
- .. figure:: JPG/balance_nonuniform_small.jpg
:target: JPG/balance_nonuniform.jpg
.. |balance3| image:: img/balance_rcb.jpg
:width: 32%
- .. figure:: JPG/balance_rcb_small.jpg
:target: JPG/balance_rcb.jpg
|balance1| |balance2| |balance3|
The leftmost diagram is the default partitioning of the simulation box
across processors (one sub-box for each of 16 processors); the middle

View File

@ -49,23 +49,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -54,23 +54,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -52,23 +52,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -43,23 +43,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -49,23 +49,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -48,23 +48,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -46,23 +46,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -44,23 +44,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -13,7 +13,7 @@ Syntax
Examples
""""""""
.. code-blocK:: LAMMPS
.. code-block:: LAMMPS
bond_style none

View File

@ -44,23 +44,7 @@ or :doc:`read_restart <read_restart>` commands:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

View File

@ -88,23 +88,7 @@ status of broken bonds or permanently delete them, e.g.:
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
page. The accelerated styles take the same arguments and should
produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
instructions on how to use the accelerated styles effectively.
.. include:: accel_styles.rst
----------

106
doc/src/bond_special.rst Normal file
View File

@ -0,0 +1,106 @@
.. index:: bond_style special
bond_style special command
=================================
Syntax
""""""
.. code-block:: LAMMPS
bond_style special
Examples
""""""""
.. code-block:: LAMMPS
bond_style special
bond_coeff 0.5 0.5
Description
"""""""""""
The *special* bond style can be used to create conceptual bonds which
effectively impose weightings on the pairwise Lennard Jones and/or
Coulombic interactions between selected pairs of particles in the
system. The form of the pairwise interaction will be whatever is
computed by the :doc:`pair_style <pair_style>` command defined for the
system; this command defines the weightings for its two terms.
This command can thus be useful to apply weightings that cannot be
handled by the :doc:`special_bonds <special_bonds>` command, such as
on 1-5 or 1-6 interactions. Or it can be used to add pairwise forces
between one or more pairs of atoms that otherwise would not be include
in the :doc:`pair_style <pair_style>` computation.
The potential for this bond style has the form
.. math::
E = w_{LJ} E_{LJ} + w_{Coul} E_{Coul}
The following coefficients must be defined for each bond type via the
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in
the data file or restart files read by the :doc:`read_data <read_data>`
or :doc:`read_restart <read_restart>` commands:
* :math:`w_{LJ}` weight (0.0 to 1.0) on pairwise Lennard-Jones interactions
* :math:`w_{Coul}` weight (0.0 to 1.0) on pairwise Coulombic interactions
----------
Normally this bond style should be used in conjunction with one (or
more) other bond styles which compute forces between atoms directly
bonded to each other in a molecule. This means the :doc:`bond_style
hybrid <bond_hybrid>` command should be used with bond_style special
as one of its sub-styles.
Note that the same as for any other bond style, pairs of bonded atoms
must be enumerated in the data file read by the :doc:`read_data
<read_data>` command. Thus if this command is used to weight all 1-5
interactions in the system, all the 1-5 pairs of atoms must be listed
in the "Bonds" section of the data file.
This bond style imposes strict requirements on settings made with the
:doc:`special_bonds <special_bonds>` command. These requirements
ensure that the new bonds created by this style do not create spurious
1-2, 1-3, or 1-4 interactions within the molecular topology.
Specifically 1-2 interactions must have weights of zero, 1-3
interactions must either have weights of unity or :doc:`special_bonds
angle yes <special_bonds>` must be used, and 1-4 interactions must
have weights of unity or :doc:`special_bonds dihedral yes <special_bonds>`
must be used.
If this command is used to create bonded interactions between
particles that are further apart than usual (e.g. 1-5 or 1-6
interactions), this style may require an increase in the communication
cutoff via the :doc:`comm_modify cutoff <comm_modify>` command. If
LAMMPS cannot find a partner atom in a bond, an error will be issued.
Restrictions
""""""""""""
This bond style can only be used if LAMMPS was built with the
USER-MISC package. See the :doc:`Build package <Build_package>` doc
page for more info.
This bond style requires the use of a :doc:`pair_style <pair_style>` which
computes a pairwise additive interaction and provides the ability to
compute interactions for individual pairs of atoms. Manybody potentials
are not compatible in general, but also some other pair styles are missing
the required functionality and thus will cause an error.
This command is not compatible with long-range Coulombic interactions. If a
`kspace_style <kspace_style>` is declared, an error will be issued.
Related commands
""""""""""""""""
:doc:`bond_coeff <bond_coeff>`, :doc:`special_bonds <special_bonds>`
**Default:** none

View File

@ -98,6 +98,7 @@ accelerated styles exist.
* :doc:`oxdna2/fene <bond_oxdna>` - same as oxdna but used with different pair styles
* :doc:`oxrna2/fene <bond_oxdna>` - modified FENE bond suitable for RNA modeling
* :doc:`quartic <bond_quartic>` - breakable quartic bond
* :doc:`special <bond_special>` - enable special bond exclusions for 1-5 pairs and beyond
* :doc:`table <bond_table>` - tabulated by bond length
----------

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