Compare commits
654 Commits
patch_22Au
...
patch_9Nov
| Author | SHA1 | Date | |
|---|---|---|---|
| 1651a21f92 | |||
| cbae3b5afa | |||
| f2a29880e2 | |||
| e0955f6434 | |||
| 3681bc853d | |||
| a6e9b99295 | |||
| 893a51ce14 | |||
| 80ee08482c | |||
| bbb371134d | |||
| a1e8992eac | |||
| baa7b705b8 | |||
| 2d12260ade | |||
| 31277349c6 | |||
| df232c1cf6 | |||
| bdf73f7adb | |||
| 84fcf01bed | |||
| cc0d685e8e | |||
| 5196fa37e0 | |||
| 4e6253254c | |||
| 562296bdb7 | |||
| 91c4ef6f64 | |||
| f46d6a4312 | |||
| cb828e9579 | |||
| ed77701e56 | |||
| 7ed6cab040 | |||
| ce7f76de1d | |||
| 58d2f0cc57 | |||
| ab7aa9dfda | |||
| 6d1ea2d0b1 | |||
| a3ca177d20 | |||
| a3c0fe7726 | |||
| a051d61e1f | |||
| 8cb665f013 | |||
| cb8c51e353 | |||
| a37d718ed1 | |||
| f7aa01d74a | |||
| badfdd7433 | |||
| ac11d66d5a | |||
| 18216de084 | |||
| 3cb2291a5a | |||
| 54c52c3bdf | |||
| df3390e224 | |||
| d185b34b19 | |||
| 30518a993b | |||
| b7e507a258 | |||
| ea9746f26d | |||
| 2635f7d160 | |||
| 85a5cab663 | |||
| b1c50e3bbe | |||
| 0c7c344e19 | |||
| b67e54dd7d | |||
| 5821a5ecc8 | |||
| 20b9c7fd79 | |||
| a66d4c7451 | |||
| 7514838700 | |||
| 1fccb391a6 | |||
| 688945a0ef | |||
| 50b99c8450 | |||
| 446b05ebc1 | |||
| 2a5cd1d31e | |||
| 3faecc4d28 | |||
| e992bf935b | |||
| 42068944aa | |||
| e3b89b60dc | |||
| e70a9b0f26 | |||
| 113539b053 | |||
| ba6f6f73f1 | |||
| c838a9fd48 | |||
| fb4df86d3d | |||
| 1bae30c295 | |||
| 044507640f | |||
| bcc7a4c32f | |||
| 283096d1d5 | |||
| 079134255d | |||
| 25b425dbb0 | |||
| bee2cb96fa | |||
| 360aca581c | |||
| 21661f84db | |||
| a662afe970 | |||
| 3a082e227e | |||
| 54d728c0c7 | |||
| ae499b980d | |||
| 925d6d37b9 | |||
| bdf3764905 | |||
| bfbf5695fd | |||
| e788ffe210 | |||
| 3cc9384488 | |||
| a60b6d1ab8 | |||
| 174b180a41 | |||
| 7bbd8644c8 | |||
| f36b7e38a8 | |||
| f70af61b35 | |||
| 4fa78a78de | |||
| ff9f836be4 | |||
| 2e79d9f340 | |||
| 2428c1c1f3 | |||
| 0e213b80e9 | |||
| 7069b52a44 | |||
| 45f28517ef | |||
| fccc26758b | |||
| b6b6270716 | |||
| 0293dee9b2 | |||
| 6107f00e9d | |||
| 1d38f2d725 | |||
| 4a5c14f60d | |||
| aa27c8f733 | |||
| da38ae0370 | |||
| 527ec61586 | |||
| 8649081904 | |||
| c0dd187802 | |||
| 3661836a3b | |||
| 76a2a9ab0a | |||
| 8223f5e0a3 | |||
| 07a499fcc1 | |||
| 8aecefe233 | |||
| 2140caa6f5 | |||
| fb6f019a11 | |||
| 79da210dc4 | |||
| 348febdf4b | |||
| 0783f8ad2f | |||
| 3a735d15d4 | |||
| 04a4a29fcf | |||
| 52f02f2bbb | |||
| f82a8493fa | |||
| 8cd70f7d78 | |||
| 27a46cec8c | |||
| 15de09683e | |||
| f542590090 | |||
| 01c3ab5979 | |||
| 709013be5a | |||
| db32373b32 | |||
| 9d7c4ac5f2 | |||
| 0ec94b2ad6 | |||
| 83c830fd8a | |||
| 3a4bef351c | |||
| da84138475 | |||
| 2f52eee6bf | |||
| 80e0dddae0 | |||
| 1c994bda46 | |||
| f5206d2f7b | |||
| 9bca5ae607 | |||
| d1f260a765 | |||
| 36a1ca7e72 | |||
| 5f1c77ced2 | |||
| dc89bdd924 | |||
| a979c6eeec | |||
| cc6f1be82d | |||
| 9090fd0255 | |||
| 7deb1df2b6 | |||
| d9dd80b368 | |||
| 4015b36a1a | |||
| dcde84eb53 | |||
| 7bb5821baf | |||
| 2b0e474729 | |||
| 65ebbdada3 | |||
| b71f530bd0 | |||
| 0ec9b9a71a | |||
| 2273604533 | |||
| 6e99b3d8ff | |||
| bea0a3091d | |||
| 7968d2ed22 | |||
| 382e91cf5b | |||
| ce63a22783 | |||
| 00c75ecb74 | |||
| 8224c89f93 | |||
| a223338b47 | |||
| 8eb74d8fb3 | |||
| e5c6b6987a | |||
| 8cbee78725 | |||
| c37deebffa | |||
| c142288eb3 | |||
| 7faa48b4c3 | |||
| a1266a1a1e | |||
| 7cce002cf9 | |||
| 2def00d4c9 | |||
| 3d0722b974 | |||
| 747f72aca2 | |||
| 1b76e14224 | |||
| 9a0c02a845 | |||
| 70bee26641 | |||
| 7416e113ff | |||
| 791024586e | |||
| 962fd1df90 | |||
| dc6123fafc | |||
| 3c41295e70 | |||
| e7ca200e97 | |||
| 8b944e06f0 | |||
| 8960774b16 | |||
| 1e9778b81e | |||
| d805796cd7 | |||
| 0c1ff5ac3e | |||
| 43ae9656d7 | |||
| 61e2cd3f61 | |||
| e024658cec | |||
| 17853aef20 | |||
| 7f8302b65b | |||
| fd20eb93b2 | |||
| b16a83cddc | |||
| b02d3b1b94 | |||
| a1a9f34c18 | |||
| c3abf13af1 | |||
| cdea8968c2 | |||
| 9e9b97231c | |||
| a549752764 | |||
| 590ab1661e | |||
| 08b135ce6b | |||
| a6ba55080f | |||
| e3b80e734a | |||
| 177044cd07 | |||
| ff7449b29a | |||
| 13d3903e8d | |||
| f81836d605 | |||
| 57b2f60556 | |||
| c7c0defa77 | |||
| ac658a17fc | |||
| b5a5270f4a | |||
| b481af51d6 | |||
| 69c3ff560e | |||
| af5ac6bcdf | |||
| 89c0655809 | |||
| 3a0cfc1d57 | |||
| dba8f9c62b | |||
| ca3a64ea3e | |||
| 4b4f7d6ee0 | |||
| 66bfdd20d4 | |||
| 990a93f9d9 | |||
| d5e71e7099 | |||
| 14251948f3 | |||
| 799ffc58d9 | |||
| a333fdac30 | |||
| ffbc33bea5 | |||
| 12d2dd201a | |||
| 497af2ebb9 | |||
| 21c59d4cf0 | |||
| 4fe23c3854 | |||
| 1de76c33fd | |||
| 2da999d864 | |||
| e4d4f3a775 | |||
| f58aa05e02 | |||
| 9ae6cb5c4f | |||
| f23b638d47 | |||
| e1627caf04 | |||
| 5481e99331 | |||
| 91286ddb0e | |||
| cf0f3b6b61 | |||
| 8e7ddff6dc | |||
| 7987f3319e | |||
| b07adbf98c | |||
| a9b8a6521d | |||
| 5a6226caa5 | |||
| 37fe03c0ab | |||
| 93e56c113a | |||
| e5ddc909ad | |||
| aefdcd0f94 | |||
| 36c5fb2ec6 | |||
| 918030bf1c | |||
| de010551cf | |||
| 6e546ef5af | |||
| dd39bc44ee | |||
| 5aeba421bb | |||
| 37201beda5 | |||
| c705e8d0e6 | |||
| cda89283aa | |||
| c2758a0b55 | |||
| 9c58834af2 | |||
| 4bfac61b1a | |||
| 8dff5fd5d7 | |||
| e9ed95c2db | |||
| 33e33048bf | |||
| d753c51c45 | |||
| e2293cc7df | |||
| 0c287a55cd | |||
| 5f6b5c5400 | |||
| 494b149272 | |||
| 39ee7876c4 | |||
| 8fa80081df | |||
| e14db00d52 | |||
| 7054800932 | |||
| 01beaf38a1 | |||
| 83b6d6ae96 | |||
| 6ae4bdead5 | |||
| 1f5885fc45 | |||
| 92b508f14c | |||
| b7c75b6c4e | |||
| c3ece2f086 | |||
| 7f328d3f79 | |||
| 983e8bb110 | |||
| 0305cca1df | |||
| 3d2c731709 | |||
| 02b653c0ce | |||
| a33f45f176 | |||
| a903e64947 | |||
| 46b87518b8 | |||
| 45682f8695 | |||
| 2faa34b2be | |||
| 075d366051 | |||
| 3b073de357 | |||
| 6f379f54d6 | |||
| e325c78628 | |||
| b488f1072e | |||
| 0384ef8967 | |||
| 25907c856e | |||
| 861a7acdf0 | |||
| f7cdf2a7b8 | |||
| aea148a86a | |||
| dd64c063cf | |||
| 44fcdc4024 | |||
| 947f574503 | |||
| 5c4434b283 | |||
| 8f8aee65d2 | |||
| d7b00f86f8 | |||
| efd582fb21 | |||
| b915716b60 | |||
| b3079f3aec | |||
| 84657f1531 | |||
| db510af582 | |||
| 9c27548a5c | |||
| 4d52cb9245 | |||
| fbc1c1cfdd | |||
| ca04e8f31c | |||
| ba1c5d3191 | |||
| 0b951840f2 | |||
| 95c3d2fc8e | |||
| ad498811b1 | |||
| 510e09f4ef | |||
| 5003354fba | |||
| 9b38a5b359 | |||
| 1c8feed69f | |||
| 84de0d38ea | |||
| c192236a7e | |||
| 779f1bd0b1 | |||
| a28990ed8d | |||
| 0c92c22755 | |||
| 4a5e28af81 | |||
| d3d16882ca | |||
| ae7b18fb77 | |||
| efd81a2854 | |||
| a5f7b418de | |||
| 09ef2bc829 | |||
| f8b8ebed5b | |||
| ff2e13e063 | |||
| 8608b4f93c | |||
| db7c2549d0 | |||
| 037420b611 | |||
| bcecc0389e | |||
| 5edff5d970 | |||
| af4b2b9354 | |||
| 842136afc8 | |||
| 990f733d22 | |||
| f18f12d1a6 | |||
| a6dfab6f27 | |||
| 1d3116d7c2 | |||
| cb4ffaf95c | |||
| c9cf3fba8f | |||
| a797a0d193 | |||
| 0af80bbbe0 | |||
| f6f4b58167 | |||
| 7b423c6d4b | |||
| ba4ff7744b | |||
| 9e03bf7db9 | |||
| 754036462f | |||
| 5f0423b97d | |||
| a299a7fa28 | |||
| 78301e5e93 | |||
| f66ce801ad | |||
| bc62002b1c | |||
| a989d04d09 | |||
| e3ce702eec | |||
| c4c5f9a32e | |||
| 41f0951d0c | |||
| 8f5512eafe | |||
| 4f30842ac4 | |||
| 3f07adb765 | |||
| b0f5400d52 | |||
| db180209b3 | |||
| 47b8a116a6 | |||
| 054abe280e | |||
| 499ffa198d | |||
| c5861307f6 | |||
| 447a6c3373 | |||
| 40e7ea83a3 | |||
| ed61ed5b56 | |||
| a8f1fe8f96 | |||
| c61f9248f4 | |||
| 0860b9e674 | |||
| a7e9076bc0 | |||
| 4c32a551bd | |||
| 6ea33e3e89 | |||
| 944574232e | |||
| 83d453e78b | |||
| 30d45e6773 | |||
| 03654b2b7f | |||
| eb850c5326 | |||
| cb318f55e9 | |||
| a404da02d5 | |||
| 71bc72ec13 | |||
| 02f131c544 | |||
| a103bd4de2 | |||
| aac238503b | |||
| a2ec8d3f21 | |||
| 62a1dcba55 | |||
| 41fff2979e | |||
| 31ed3f7178 | |||
| dbc0f0eea0 | |||
| 5189bc4f4b | |||
| b05aa62c49 | |||
| c471902db1 | |||
| c477129165 | |||
| 9ed6d0a9d1 | |||
| 38a998c03c | |||
| 0661a800a7 | |||
| c01fb5f701 | |||
| d8b087aeb4 | |||
| 735ec9de0b | |||
| 92a4dc25b1 | |||
| 19976bb94f | |||
| 7a2cb10864 | |||
| fd6792c6be | |||
| 1abeec3a43 | |||
| 33d5fe457c | |||
| 44bda245a6 | |||
| 413fdbbf23 | |||
| 1c4d68a92e | |||
| bd1e89ac4c | |||
| e1ef158b36 | |||
| 9b4f7090d3 | |||
| 3622cb9b28 | |||
| a10bb4b96f | |||
| 9eacabd821 | |||
| e9bc939098 | |||
| 7238d4af94 | |||
| 2eeb8cecb2 | |||
| 9388ed8cd0 | |||
| dd923edf15 | |||
| 59d3af44f2 | |||
| a04008cdfd | |||
| 648d8c3d2a | |||
| c5d3274222 | |||
| 4f36f077ff | |||
| 929185da07 | |||
| 440338d769 | |||
| af35c3bcca | |||
| c0d9d96e09 | |||
| 0cd71ee582 | |||
| b00046fd34 | |||
| 4b2629d8ba | |||
| 193f46dd9f | |||
| 96bde51ae4 | |||
| 683c87347c | |||
| fe6debfe9a | |||
| 9a8c09288f | |||
| eca0487daf | |||
| 4278a284e4 | |||
| 5da714bcc8 | |||
| 2d6d635ce0 | |||
| e632acec29 | |||
| 1bd5626140 | |||
| ffb1a9c46a | |||
| 9e37ea16ac | |||
| c8ac88dd87 | |||
| 0e292b397f | |||
| 01fe356904 | |||
| d5089858bd | |||
| 357ffef09c | |||
| 2aa4770e0d | |||
| 4074c4c67f | |||
| a1098d5796 | |||
| 8930a88e99 | |||
| fd56124a94 | |||
| 03b880a31c | |||
| 4e13ce1d25 | |||
| 89a3670fb5 | |||
| c4b55385e2 | |||
| cb8482b0e6 | |||
| a9fb8636ad | |||
| 9a15d0bd83 | |||
| f466c64071 | |||
| bfd711ad12 | |||
| c23534019c | |||
| 3573970e4a | |||
| fc7d9ff558 | |||
| cca1e0a399 | |||
| 937d4707dc | |||
| f8e6e4275a | |||
| e0fc050bf4 | |||
| 781ddc07c7 | |||
| 9765a9a430 | |||
| 165fa01a97 | |||
| 8f665a5a0f | |||
| 6f1986a8f1 | |||
| eb4d586493 | |||
| 9f058f19bc | |||
| 44d7c79fdc | |||
| 12ecc45b6a | |||
| ebc0abbb8d | |||
| faa21a0591 | |||
| d9fb37e25e | |||
| 120fdbb9fc | |||
| b0183de7ca | |||
| e08aaa7e39 | |||
| 2a5e550bda | |||
| fc93a79fdd | |||
| 7f5476b408 | |||
| 64cd37b6ed | |||
| 76ad2b35a9 | |||
| 74633ce28f | |||
| 48fd8b46ee | |||
| eb86ec3eea | |||
| cdde51d8af | |||
| a944d1c913 | |||
| bf2a942f36 | |||
| ba693a74be | |||
| 0a27b7065b | |||
| 953b283773 | |||
| b97195d48f | |||
| 4d75d2d611 | |||
| c1dffe40dc | |||
| 446a8da8e7 | |||
| 94bf221258 | |||
| e8774dce97 | |||
| 463e34cef5 | |||
| cdd85b0749 | |||
| 3e962c9729 | |||
| b2d1332d46 | |||
| efaebe0eb0 | |||
| 5412204ff7 | |||
| a8f0200fe9 | |||
| ac0ab4ba34 | |||
| ae04fd0bea | |||
| 649d0167c8 | |||
| ed96958915 | |||
| a2303e5a15 | |||
| 7cae80b6d8 | |||
| b2c75cc0b9 | |||
| a4dbac63d3 | |||
| 37a0a7b49b | |||
| 8846f97868 | |||
| 655bd10db6 | |||
| 1aa8307fa1 | |||
| 81abd8bc0a | |||
| ab1cc706cc | |||
| 2e93202519 | |||
| c2c654c87b | |||
| b08a2fcd3b | |||
| 7702114e25 | |||
| 8495fb62f4 | |||
| ae2d43031b | |||
| 1b7af5d93b | |||
| a90e019ec7 | |||
| ef3fd1374a | |||
| 2f55981224 | |||
| 0e0afdeb51 | |||
| 5c934cdb6f | |||
| 407708dcd2 | |||
| fba165d6b2 | |||
| 591e782415 | |||
| a62b65096b | |||
| b0c9fde1dd | |||
| 1a959a5683 | |||
| eebd075a15 | |||
| 54e33bd72b | |||
| dbd0d2180e | |||
| d4385ade15 | |||
| 406aaf011f | |||
| e7f4e059cf | |||
| eeaf907227 | |||
| b461967e91 | |||
| bf5fbc92df | |||
| 6cfdcd1000 | |||
| cdf091f228 | |||
| c442166ded | |||
| 6d9face1ec | |||
| 4734bc09dc | |||
| 8cca44ae45 | |||
| 88d3233b66 | |||
| 56c2127127 | |||
| b5816f2637 | |||
| 492e945b5a | |||
| 0d1e55c99d | |||
| c83b5ec226 | |||
| 687a4427da | |||
| af0eb52410 | |||
| a49f946f2f | |||
| 8c3cbad7ae | |||
| 4d5635a3c4 | |||
| ca8b109a1c | |||
| 55980294f1 | |||
| ee98d026dc | |||
| 75ec0a6a99 | |||
| 3a824b3a4b | |||
| dd38318f5f | |||
| 4c4d8372e4 | |||
| dbfea0e617 | |||
| f698e37bf2 | |||
| 4743bb3c30 | |||
| 400ae72267 | |||
| b259de95d2 | |||
| c84ae38e34 | |||
| 43cdca80f2 | |||
| ee98daeba5 | |||
| 2cd95d1a99 | |||
| 13d562e969 | |||
| 228caa3fab | |||
| 64fb7674b1 | |||
| cce0755ee9 | |||
| 67ed11a960 | |||
| acb0436057 | |||
| 2f3343b7ed | |||
| 13efc1b76d | |||
| dc93d4ceea | |||
| 7260bb58e1 | |||
| a6df61a637 | |||
| f394ed94f3 | |||
| 11a5ed0e03 | |||
| a365246e3a | |||
| 8ebe38474d | |||
| 0a5b027bac | |||
| 7f5a83cb1d | |||
| b299bfa821 | |||
| 2c5f2a6683 | |||
| 9b44529591 | |||
| f5642ac292 | |||
| ef0f9c0451 | |||
| 30f8bb059f | |||
| 52254fe155 | |||
| d8e0f48864 | |||
| 385e1e5adf | |||
| 28b894a1d7 | |||
| f72d38e0c3 | |||
| 2dcee75ae4 | |||
| 968587ac1e | |||
| 6dd8efd0b4 | |||
| ed494b295f | |||
| dbc308f352 | |||
| 4ec99edcc6 | |||
| c2477ce522 | |||
| f10c988903 | |||
| 81331e2a34 | |||
| dbbfacc598 | |||
| 2fc8da08f4 | |||
| 5886cadeef | |||
| 2b99a26b47 | |||
| 7156d49b8d | |||
| dce6c9edce | |||
| b0f9ae049d | |||
| a5790ef68f | |||
| 8e68015a6f | |||
| 95aec46b99 | |||
| 8a9a7f4e50 | |||
| d2da1f5797 | |||
| 9f08cec07a | |||
| ee9ba99cde | |||
| 41202c3627 | |||
| 54f2493018 |
68
.github/CODEOWNERS
vendored
68
.github/CODEOWNERS
vendored
@ -17,6 +17,7 @@ src/GPU/* @ndtrung81
|
||||
src/KOKKOS/* @stanmoore1
|
||||
src/KIM/* @ellio167
|
||||
src/LATTE/* @cnegre
|
||||
src/MESSAGE/* @sjplimp
|
||||
src/SPIN/* @julient31
|
||||
src/USER-CGDNA/* @ohenrich
|
||||
src/USER-CGSDK/* @akohlmey
|
||||
@ -29,19 +30,86 @@ src/USER-MOFFF/* @hheenen
|
||||
src/USER-MOLFILE/* @akohlmey
|
||||
src/USER-NETCDF/* @pastewka
|
||||
src/USER-PHONON/* @lingtikong
|
||||
src/USER-PTM/* @pmla
|
||||
src/USER-OMP/* @akohlmey
|
||||
src/USER-QMMM/* @akohlmey
|
||||
src/USER-REAXC/* @hasanmetin
|
||||
src/USER-SCAFACOS/* @rhalver
|
||||
src/USER-TALLY/* @akohlmey
|
||||
src/USER-UEF/* @danicholson
|
||||
src/USER-VTK/* @rbberger
|
||||
|
||||
|
||||
# individual files in packages
|
||||
src/GPU/pair_vashishta_gpu.* @andeplane
|
||||
src/KOKKOS/pair_vashishta_kokkos.* @andeplane
|
||||
src/MANYBODY/pair_vashishta_table.* @andeplane
|
||||
src/MANYBODY/pair_atm.* @sergeylishchuk
|
||||
src/USER-MISC/fix_bond_react.* @jrgissing
|
||||
src/USER-MISC/*_grem.* @dstelter92
|
||||
src/USER-MISC/compute_stress_mop*.* @RomainVermorel
|
||||
|
||||
# core LAMMPS classes
|
||||
src/lammps.* @sjplimp
|
||||
src/pointers.h @sjplimp
|
||||
src/atom.* @sjplimp
|
||||
src/atom_vec.* @sjplimp
|
||||
src/angle.* @sjplimp
|
||||
src/bond.* @sjplimp
|
||||
src/comm*.* @sjplimp
|
||||
src/compute.* @sjplimp
|
||||
src/dihedral.* @sjplimp
|
||||
src/domain.* @sjplimp
|
||||
src/dump*.* @sjplimp
|
||||
src/error.* @sjplimp
|
||||
src/finish.* @sjplimp
|
||||
src/fix.* @sjplimp
|
||||
src/force.* @sjplimp
|
||||
src/group.* @sjplimp
|
||||
src/improper.* @sjplimp
|
||||
src/kspace.* @sjplimp
|
||||
src/lmptyp.h @sjplimp
|
||||
src/library.* @sjplimp
|
||||
src/main.cpp @sjplimp
|
||||
src/memory.* @sjplimp
|
||||
src/modify.* @sjplimp
|
||||
src/molecule.* @sjplimp
|
||||
src/my_page.h @sjplimp
|
||||
src/my_pool_chunk.h @sjplimp
|
||||
src/npair*.* @sjplimp
|
||||
src/ntopo*.* @sjplimp
|
||||
src/nstencil*.* @sjplimp
|
||||
src/neighbor.* @sjplimp
|
||||
src/nbin*.* @sjplimp
|
||||
src/neigh_*.* @sjplimp
|
||||
src/output.* @sjplimp
|
||||
src/pair.* @sjplimp
|
||||
src/rcb.* @sjplimp
|
||||
src/random_*.* @sjplimp
|
||||
src/region*.* @sjplimp
|
||||
src/rcb.* @sjplimp
|
||||
src/read*.* @sjplimp
|
||||
src/rerun.* @sjplimp
|
||||
src/run.* @sjplimp
|
||||
src/respa.* @sjplimp
|
||||
src/set.* @sjplimp
|
||||
src/special.* @sjplimp
|
||||
src/suffix.h @sjplimp
|
||||
src/thermo.* @sjplimp
|
||||
src/universe.* @sjplimp
|
||||
src/update.* @sjplimp
|
||||
src/variable.* @sjplimp
|
||||
src/verlet.* @sjplimp
|
||||
src/velocity.* @sjplimp
|
||||
src/write_data.* @sjplimp
|
||||
src/write_restart.* @sjplimp
|
||||
|
||||
# overrides for specific files
|
||||
src/dump_movie.* @akohlmey
|
||||
src/exceptions.h @rbberger
|
||||
src/fix_nh.* @athomps
|
||||
src/info.* @akohlmey @rbberger
|
||||
src/timer.* @akohlmey
|
||||
|
||||
# tools
|
||||
tools/msi2lmp/* @akohlmey
|
||||
|
||||
10
.github/CONTRIBUTING.md
vendored
10
.github/CONTRIBUTING.md
vendored
@ -6,7 +6,7 @@ The following is a set of guidelines as well as explanations of policies and wor
|
||||
|
||||
Thus please also have a look at:
|
||||
* [The Section on submitting new features for inclusion in LAMMPS of the Manual](http://lammps.sandia.gov/doc/Section_modify.html#mod-15)
|
||||
* [The LAMMPS GitHub Tutorial in the Manual](http://lammps.sandia.gov/doc/tutorial_github.html)
|
||||
* [The LAMMPS GitHub Tutorial in the Manual](http://lammps.sandia.gov/doc/Howto_github.html)
|
||||
|
||||
## Table of Contents
|
||||
|
||||
@ -62,7 +62,7 @@ To be able to submit an issue on GitHub, you have to register for an account (fo
|
||||
|
||||
We encourage users to submit new features or modifications for LAMMPS to the core developers so they can be added to the LAMMPS distribution. The preferred way to manage and coordinate this is by submitting a pull request at the LAMMPS project on GitHub. For any larger modifications or programming project, you are encouraged to contact the LAMMPS developers ahead of time, in order to discuss implementation strategies and coding guidelines, that will make it easier to integrate your contribution and result in less work for everybody involved. You are also encouraged to search through the list of open issues on GitHub and submit a new issue for a planned feature, so you would not duplicate the work of others (and possibly get scooped by them) or have your work duplicated by others.
|
||||
|
||||
How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core code base, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of typical requirements. Once you have prepared everything, see [this tutorial](http://lammps.sandia.gov/doc/tutorial_github.html)
|
||||
How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core code base, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of typical requirements. Once you have prepared everything, see [this tutorial](http://lammps.sandia.gov/doc/Howto_github.html)
|
||||
for instructions on how to submit your changes or new files through a GitHub pull request
|
||||
|
||||
Here is a checklist of steps you need to follow to submit a single file or user package for our consideration. Following these steps will save both you and us time. See existing files in packages in the source directory for examples. If you are uncertain, please ask on the lammps-users mailing list.
|
||||
@ -102,11 +102,11 @@ For bug reports, the next step is that one of the core LAMMPS developers will se
|
||||
|
||||
### Pull Requests
|
||||
|
||||
For submitting pull requests, there is a [detailed tutorial](http://lammps.sandia.gov/doc/tutorial_github.html) in the LAMMPS manual. Thus only a brief breakdown of the steps is presented here.
|
||||
For submitting pull requests, there is a [detailed tutorial](http://lammps.sandia.gov/doc/Howto_github.html) in the LAMMPS manual. Thus only a brief breakdown of the steps is presented here. Please note, that the LAMMPS developers are still reviewing and trying to improve the process. If you are unsure about something, do not hesitate to post a question on the lammps-users mailing list or contact one fo the core LAMMPS developers.
|
||||
Immediately after the submission, the LAMMPS continuing integration server at ci.lammps.org will download your submitted branch and perform a simple compilation test, i.e. will test whether your submitted code can be compiled under various conditions. It will also do a check on whether your included documentation translates cleanly. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each the pull request is updated with a push to the remote branch on GitHub.
|
||||
Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you are not yet registered as a LAMMPS collaborator, you will receive an invitation for that.
|
||||
You may also receive comments and suggestions on the overall submission or specific details. If permitted, additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes.
|
||||
The LAMMPS developer may then decide to assign the pull request to another developer (e.g. when that developer is more knowledgeable about the submitted feature or enhancement or has written the modified code). It may also happen, that additional developers are requested to provide a review and approve the changes. For submissions, that may change the general behavior of LAMMPS, or where a possibility of unwanted side effects exists, additional tests may be requested by the assigned developer.
|
||||
If the assigned developer is satisfied and considers the submission ready for inclusion into LAMMPS, the pull request will be assigned to the LAMMPS lead developer, Steve Plimpton (@sjplimp), who will then have the final decision on whether the submission will be included, additional changes are required or it will be ultimately rejected. After the pull request is merged, you may delete the pull request branch in your personal LAMMPS fork.
|
||||
Since the learning curve for git is quite steep for efficiently managing remote repositories, local and remote branches, pull requests and more, do not hesitate to ask questions, if you are not sure about how to do certain steps that are asked of you. Even if the changes asked of you do not make sense to you, they may be important for the LAMMPS developers. Please also note, that these all are guidelines and not set in stone.
|
||||
If the assigned developer is satisfied and considers the submission ready for inclusion into LAMMPS, the pull request will receive approvals and be merged into the master branch by one of the core LAMMPS developers. After the pull request is merged, you may delete the feature branch used for the pull request in your personal LAMMPS fork.
|
||||
Since the learning curve for git is quite steep for efficiently managing remote repositories, local and remote branches, pull requests and more, do not hesitate to ask questions, if you are not sure about how to do certain steps that are asked of you. Even if the changes asked of you do not make sense to you, they may be important for the LAMMPS developers. Please also note, that these all are guidelines and nothing set in stone. So depending on the nature of the contribution, the workflow may be adjusted.
|
||||
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,6 +1,7 @@
|
||||
*~
|
||||
*.o
|
||||
*.so
|
||||
*.lo
|
||||
*.cu_o
|
||||
*.ptx
|
||||
*_ptx.h
|
||||
@ -32,6 +33,7 @@ log.cite
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
.clang-format
|
||||
|
||||
#cmake
|
||||
/build*
|
||||
|
||||
@ -13,7 +13,7 @@ get_filename_component(LAMMPS_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../doc ABSOLUT
|
||||
|
||||
|
||||
# To avoid conflicts with the conventional Makefile build system, we build everything here
|
||||
file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/*.cpp)
|
||||
file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/[^.]*.cpp)
|
||||
file(GLOB LMP_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp)
|
||||
list(REMOVE_ITEM LIB_SOURCES ${LMP_SOURCES})
|
||||
|
||||
@ -43,9 +43,34 @@ function(validate_option name values)
|
||||
endif()
|
||||
endfunction(validate_option)
|
||||
|
||||
function(get_lammps_version version_header variable)
|
||||
file(READ ${version_header} line)
|
||||
set(MONTHS x Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
|
||||
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\1" day "${line}")
|
||||
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\2" month "${line}")
|
||||
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\3" year "${line}")
|
||||
string(STRIP ${day} day)
|
||||
string(STRIP ${month} month)
|
||||
string(STRIP ${year} year)
|
||||
list(FIND MONTHS "${month}" month)
|
||||
string(LENGTH ${day} day_length)
|
||||
string(LENGTH ${month} month_length)
|
||||
if(day_length EQUAL 1)
|
||||
set(day "0${day}")
|
||||
endif()
|
||||
if(month_length EQUAL 1)
|
||||
set(month "0${month}")
|
||||
endif()
|
||||
set(${variable} "${year}${month}${day}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h LAMMPS_VERSION)
|
||||
|
||||
# Cmake modules/macros are in a subdirectory to keep this file cleaner
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules)
|
||||
|
||||
include(PreventInSourceBuilds)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
|
||||
#release comes with -O3 by default
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||
@ -113,6 +138,7 @@ if(BUILD_EXE)
|
||||
if(LAMMPS_MACHINE)
|
||||
set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}")
|
||||
endif()
|
||||
set(LAMMPS_BINARY lmp${LAMMPS_MACHINE})
|
||||
endif()
|
||||
|
||||
option(BUILD_LIB "Build LAMMPS library" OFF)
|
||||
@ -121,10 +147,10 @@ if(BUILD_LIB)
|
||||
if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
endif()
|
||||
set(LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file")
|
||||
mark_as_advanced(LIB_SUFFIX)
|
||||
if(LIB_SUFFIX)
|
||||
set(LIB_SUFFIX "_${LIB_SUFFIX}")
|
||||
set(LAMMPS_LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file")
|
||||
mark_as_advanced(LAMMPS_LIB_SUFFIX)
|
||||
if(LAMMPS_LIB_SUFFIX)
|
||||
set(LAMMPS_LIB_SUFFIX "_${LAMMPS_LIB_SUFFIX}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -139,6 +165,38 @@ set(LAMMPS_LINK_LIBS)
|
||||
set(LAMMPS_DEPS)
|
||||
set(LAMMPS_API_DEFINES)
|
||||
|
||||
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
|
||||
KSPACE MANYBODY MC MEAM MESSAGE MISC MOLECULE PERI REAX REPLICA RIGID SHOCK
|
||||
SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD
|
||||
USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION
|
||||
USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD
|
||||
USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF
|
||||
USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC USER-SCAFACOS
|
||||
USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK
|
||||
USER-QUIP USER-QMMM)
|
||||
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
|
||||
set(OTHER_PACKAGES CORESHELL QEQ)
|
||||
foreach(PKG ${DEFAULT_PACKAGES})
|
||||
option(PKG_${PKG} "Build ${PKG} Package" OFF)
|
||||
endforeach()
|
||||
foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
|
||||
option(PKG_${PKG} "Build ${PKG} Package" OFF)
|
||||
endforeach()
|
||||
|
||||
######################################################
|
||||
# packages with special compiler needs or external libs
|
||||
######################################################
|
||||
if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE OR PKG_USER-SCAFACOS)
|
||||
enable_language(Fortran)
|
||||
endif()
|
||||
|
||||
if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_USER-SCAFACOS)
|
||||
enable_language(C)
|
||||
endif()
|
||||
|
||||
include_directories(${LAMMPS_SOURCE_DIR})
|
||||
|
||||
# do MPI detection after language activation, if MPI for these language is required
|
||||
find_package(MPI QUIET)
|
||||
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
|
||||
if(BUILD_MPI)
|
||||
@ -183,25 +241,52 @@ endif()
|
||||
option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF)
|
||||
|
||||
option(ENABLE_TESTING "Enable testing" OFF)
|
||||
if(ENABLE_TESTING)
|
||||
if(ENABLE_TESTING AND BUILD_EXE)
|
||||
enable_testing()
|
||||
endif(ENABLE_TESTING)
|
||||
option(LAMMPS_TESTING_SOURCE_DIR "Location of lammps-testing source directory" "")
|
||||
option(LAMMPS_TESTING_GIT_TAG "Git tag of lammps-testing" "master")
|
||||
mark_as_advanced(LAMMPS_TESTING_SOURCE_DIR LAMMPS_TESTING_GIT_TAG)
|
||||
|
||||
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
|
||||
KSPACE MANYBODY MC MEAM MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP
|
||||
SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS
|
||||
USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE
|
||||
USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC
|
||||
USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD
|
||||
USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM)
|
||||
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
|
||||
set(OTHER_PACKAGES CORESHELL QEQ)
|
||||
foreach(PKG ${DEFAULT_PACKAGES})
|
||||
option(PKG_${PKG} "Build ${PKG} Package" OFF)
|
||||
endforeach()
|
||||
foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
|
||||
option(PKG_${PKG} "Build ${PKG} Package" OFF)
|
||||
endforeach()
|
||||
if (CMAKE_VERSION VERSION_GREATER "3.10.3" AND NOT LAMMPS_TESTING_SOURCE_DIR)
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(lammps-testing
|
||||
GIT_REPOSITORY https://github.com/lammps/lammps-testing.git
|
||||
GIT_TAG ${LAMMPS_TESTING_GIT_TAG}
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(lammps-testing)
|
||||
if(NOT lammps-testing_POPULATED)
|
||||
message(STATUS "Downloading tests...")
|
||||
FetchContent_Populate(lammps-testing)
|
||||
endif()
|
||||
|
||||
set(LAMMPS_TESTING_SOURCE_DIR ${lammps-testing_SOURCE_DIR})
|
||||
elseif(NOT LAMMPS_TESTING_SOURCE_DIR)
|
||||
message(WARNING "Full test-suite requires CMake >= 3.11 or copy of\n"
|
||||
"https://github.com/lammps/lammps-testing in LAMMPS_TESTING_SOURCE_DIR")
|
||||
endif()
|
||||
|
||||
if(EXISTS ${LAMMPS_TESTING_SOURCE_DIR})
|
||||
message(STATUS "Running test discovery...")
|
||||
|
||||
file(GLOB_RECURSE TEST_SCRIPTS ${LAMMPS_TESTING_SOURCE_DIR}/tests/core/*/in.*)
|
||||
foreach(script_path ${TEST_SCRIPTS})
|
||||
get_filename_component(TEST_NAME ${script_path} EXT)
|
||||
get_filename_component(SCRIPT_NAME ${script_path} NAME)
|
||||
get_filename_component(PARENT_DIR ${script_path} DIRECTORY)
|
||||
string(SUBSTRING ${TEST_NAME} 1 -1 TEST_NAME)
|
||||
string(REPLACE "-" "_" TEST_NAME ${TEST_NAME})
|
||||
string(REPLACE "+" "_" TEST_NAME ${TEST_NAME})
|
||||
set(TEST_NAME "test_core_${TEST_NAME}_serial")
|
||||
add_test(${TEST_NAME} ${CMAKE_BINARY_DIR}/${LAMMPS_BINARY} -in ${SCRIPT_NAME})
|
||||
set_tests_properties(${TEST_NAME} PROPERTIES WORKING_DIRECTORY ${PARENT_DIR})
|
||||
endforeach()
|
||||
list(LENGTH TEST_SCRIPTS NUM_TESTS)
|
||||
|
||||
message(STATUS "Found ${NUM_TESTS} tests.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
macro(pkg_depends PKG1 PKG2)
|
||||
if(PKG_${PKG1} AND NOT (PKG_${PKG2} OR BUILD_${PKG2}))
|
||||
@ -215,17 +300,7 @@ pkg_depends(MPIIO MPI)
|
||||
pkg_depends(USER-ATC MANYBODY)
|
||||
pkg_depends(USER-LB MPI)
|
||||
pkg_depends(USER-PHONON KSPACE)
|
||||
|
||||
######################################################
|
||||
# packages with special compiler needs or external libs
|
||||
######################################################
|
||||
if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE)
|
||||
enable_language(Fortran)
|
||||
endif()
|
||||
|
||||
if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM)
|
||||
enable_language(C)
|
||||
endif()
|
||||
pkg_depends(USER-SCAFACOS MPI)
|
||||
|
||||
find_package(OpenMP QUIET)
|
||||
option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND})
|
||||
@ -276,11 +351,14 @@ endif()
|
||||
|
||||
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
|
||||
find_package(LAPACK)
|
||||
if(NOT LAPACK_FOUND)
|
||||
find_package(BLAS)
|
||||
if(NOT LAPACK_FOUND OR NOT BLAS_FOUND)
|
||||
enable_language(Fortran)
|
||||
file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/*.[fF])
|
||||
file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/[^.]*.[fF])
|
||||
add_library(linalg STATIC ${LAPACK_SOURCES})
|
||||
set(LAPACK_LIBRARIES linalg)
|
||||
else()
|
||||
list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -400,6 +478,83 @@ if(PKG_LATTE)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${LATTE_LIBRARIES} ${LAPACK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(PKG_USER-SCAFACOS)
|
||||
find_package(GSL REQUIRED)
|
||||
option(DOWNLOAD_SCAFACOS "Download ScaFaCoS (instead of using the system's one)" OFF)
|
||||
if(DOWNLOAD_SCAFACOS)
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(scafacos_build
|
||||
URL https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz
|
||||
URL_MD5 bd46d74e3296bd8a444d731bb10c1738
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
||||
--disable-doc
|
||||
--enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m
|
||||
--with-internal-fftw
|
||||
--with-internal-pfft
|
||||
--with-internal-pnfft
|
||||
$<$<BOOL:${BUILD_SHARED_LIBS}>:--with-pic>
|
||||
FC=${CMAKE_MPI_Fortran_COMPILER}
|
||||
CXX=${CMAKE_MPI_CXX_COMPILER}
|
||||
CC=${CMAKE_MPI_C_COMPILER}
|
||||
F77=
|
||||
)
|
||||
ExternalProject_get_property(scafacos_build INSTALL_DIR)
|
||||
set(SCAFACOS_BUILD_DIR ${INSTALL_DIR})
|
||||
set(SCAFACOS_INCLUDE_DIRS ${SCAFACOS_BUILD_DIR}/include)
|
||||
list(APPEND LAMMPS_DEPS scafacos_build)
|
||||
# list and order from pkg_config file of ScaFaCoS build
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_direct.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_ewald.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fmm.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p2nfft.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p3m.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${GSL_LIBRARIES})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_near.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_gridsort.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_resort.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_redist.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_common.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pnfft.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pfft.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3_mpi.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3.a)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${MPI_Fortran_LIBRARIES})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${MPI_C_LIBRARIES})
|
||||
else()
|
||||
FIND_PACKAGE(PkgConfig REQUIRED)
|
||||
PKG_CHECK_MODULES(SCAFACOS scafacos REQUIRED)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_LDFLAGS})
|
||||
endif()
|
||||
include_directories(${SCAFACOS_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(PKG_USER-PLUMED)
|
||||
find_package(GSL REQUIRED)
|
||||
option(DOWNLOAD_PLUMED "Download Plumed (instead of using the system's one)" OFF)
|
||||
if(DOWNLOAD_PLUMED)
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(plumed_build
|
||||
URL https://github.com/plumed/plumed2/releases/download/v2.4.3/plumed-src-2.4.3.tgz
|
||||
URL_MD5 b1be7c48971627febc11c61b70767fc5
|
||||
BUILD_IN_SOURCE 1
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
||||
$<$<BOOL:${BUILD_SHARED_LIBS}>:--with-pic> )
|
||||
ExternalProject_get_property(plumed_build INSTALL_DIR)
|
||||
set(PLUMED_INSTALL_DIR ${INSTALL_DIR})
|
||||
list(APPEND LAMMPS_DEPS plumed_build)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/plumed/obj/kernel.o
|
||||
${PLUMED_INSTALL_DIR}/lib/plumed/obj/PlumedStatic.o ${GSL_LIBRARIES} ${CMAKE_DL_LIBS})
|
||||
set(PLUMED_INCLUDE_DIRS "${PLUMED_INSTALL_DIR}/include")
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(PLUMED plumed REQUIRED)
|
||||
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.static)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_LOAD})
|
||||
endif()
|
||||
include_directories(${PLUMED_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(PKG_USER-MOLFILE)
|
||||
add_library(molfile INTERFACE)
|
||||
target_include_directories(molfile INTERFACE ${LAMMPS_LIB_SOURCE_DIR}/molfile)
|
||||
@ -409,8 +564,8 @@ endif()
|
||||
|
||||
if(PKG_USER-NETCDF)
|
||||
find_package(NetCDF REQUIRED)
|
||||
include_directories(NETCDF_INCLUDE_DIR)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARY})
|
||||
include_directories(${NETCDF_INCLUDE_DIRS})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARIES})
|
||||
add_definitions(-DLMP_HAS_NETCDF -DNC_64BIT_DATA=0x0020)
|
||||
endif()
|
||||
|
||||
@ -427,8 +582,9 @@ if(PKG_USER-SMD)
|
||||
set(EIGEN3_INCLUDE_DIR ${SOURCE_DIR})
|
||||
list(APPEND LAMMPS_DEPS Eigen3_build)
|
||||
else()
|
||||
find_package(Eigen3)
|
||||
if(NOT Eigen3_FOUND)
|
||||
find_package(Eigen3 NO_MODULE)
|
||||
mark_as_advanced(Eigen3_DIR)
|
||||
if(NOT EIGEN3_FOUND)
|
||||
message(FATAL_ERROR "Eigen3 not found, help CMake to find it by setting EIGEN3_INCLUDE_DIR, or set DOWNLOAD_EIGEN3=ON to download it")
|
||||
endif()
|
||||
endif()
|
||||
@ -478,6 +634,40 @@ if(PKG_KIM)
|
||||
include_directories(${KIM_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(PKG_MESSAGE)
|
||||
option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF)
|
||||
file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.F
|
||||
${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.c
|
||||
${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.cpp)
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
add_library(cslib SHARED ${cslib_SOURCES})
|
||||
else()
|
||||
add_library(cslib STATIC ${cslib_SOURCES})
|
||||
endif()
|
||||
|
||||
if(BUILD_MPI)
|
||||
target_compile_definitions(cslib PRIVATE -DMPI_YES)
|
||||
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi")
|
||||
else()
|
||||
target_compile_definitions(cslib PRIVATE -DMPI_NO)
|
||||
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi")
|
||||
endif()
|
||||
|
||||
if(MESSAGE_ZMQ)
|
||||
target_compile_definitions(cslib PRIVATE -DZMQ_YES)
|
||||
find_package(ZMQ REQUIRED)
|
||||
target_include_directories(cslib PRIVATE ${ZMQ_INCLUDE_DIRS})
|
||||
target_link_libraries(cslib PUBLIC ${ZMQ_LIBRARIES})
|
||||
else()
|
||||
target_compile_definitions(cslib PRIVATE -DZMQ_NO)
|
||||
target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ)
|
||||
endif()
|
||||
|
||||
list(APPEND LAMMPS_LINK_LIBS cslib)
|
||||
include_directories(${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src)
|
||||
endif()
|
||||
|
||||
if(PKG_MSCG)
|
||||
find_package(GSL REQUIRED)
|
||||
option(DOWNLOAD_MSCG "Download latte (instead of using the system's one)" OFF)
|
||||
@ -564,8 +754,8 @@ RegisterStyles(${LAMMPS_SOURCE_DIR})
|
||||
foreach(PKG ${DEFAULT_PACKAGES})
|
||||
set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG})
|
||||
|
||||
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp)
|
||||
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h)
|
||||
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp)
|
||||
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/[^.]*.h)
|
||||
|
||||
# check for package files in src directory due to old make system
|
||||
DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS})
|
||||
@ -583,8 +773,8 @@ endforeach()
|
||||
foreach(PKG ${ACCEL_PACKAGES})
|
||||
set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG})
|
||||
|
||||
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp)
|
||||
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h)
|
||||
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp)
|
||||
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/[^.]*.h)
|
||||
|
||||
# check for package files in src directory due to old make system
|
||||
DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS})
|
||||
@ -598,8 +788,10 @@ foreach(SIMPLE_LIB REAX MEAM POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD
|
||||
if(PKG_${SIMPLE_LIB})
|
||||
string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}")
|
||||
string(TOLOWER "${PKG_LIB}" PKG_LIB)
|
||||
file(GLOB_RECURSE ${PKG_LIB}_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.F
|
||||
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.c ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.cpp)
|
||||
file(GLOB_RECURSE ${PKG_LIB}_SOURCES
|
||||
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.F
|
||||
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.c
|
||||
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.cpp)
|
||||
add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PKG_LIB})
|
||||
if(PKG_LIB STREQUAL awpmd)
|
||||
@ -674,13 +866,16 @@ if(PKG_USER-OMP)
|
||||
set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP)
|
||||
set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp
|
||||
${USER-OMP_SOURCES_DIR}/thr_omp.cpp
|
||||
${USER-OMP_SOURCES_DIR}/fix_omp.cpp
|
||||
${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp
|
||||
${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp)
|
||||
${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
|
||||
${USER-OMP_SOURCES_DIR}/domain_omp.cpp)
|
||||
add_definitions(-DLMP_USER_OMP)
|
||||
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}")
|
||||
|
||||
# detects styles which have USER-OMP version
|
||||
RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES)
|
||||
|
||||
RegisterFixStyle("${USER-OMP_SOURCES_DIR}/fix_omp.h")
|
||||
|
||||
get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
|
||||
|
||||
@ -710,6 +905,20 @@ if(PKG_USER-OMP)
|
||||
include_directories(${USER-OMP_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
# Fix rigid/meso requires RIGID to be installed
|
||||
if(PKG_USER-SDPD)
|
||||
set(USER-SDPD_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-SDPD)
|
||||
|
||||
get_property(hlist GLOBAL PROPERTY FIX)
|
||||
if(NOT PKG_RIGID)
|
||||
list(REMOVE_ITEM hlist ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.h)
|
||||
list(REMOVE_ITEM LIB_SOURCES ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.cpp)
|
||||
endif()
|
||||
set_property(GLOBAL PROPERTY FIX "${hlist}")
|
||||
|
||||
include_directories(${USER-SDPD_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
if(PKG_KOKKOS)
|
||||
set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos)
|
||||
set(LAMMPS_LIB_KOKKOS_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/kokkos)
|
||||
@ -880,7 +1089,7 @@ if(PKG_GPU)
|
||||
set(GPU_PREC_SETTING "SINGLE_SINGLE")
|
||||
endif()
|
||||
|
||||
file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cpp)
|
||||
file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cpp)
|
||||
file(MAKE_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/gpu)
|
||||
|
||||
if(GPU_API STREQUAL "CUDA")
|
||||
@ -893,15 +1102,15 @@ if(PKG_GPU)
|
||||
|
||||
set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM architecture (e.g. sm_60)")
|
||||
|
||||
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/*.cu)
|
||||
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/[^.]*.cu)
|
||||
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu)
|
||||
|
||||
cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu ${LAMMPS_LIB_BINARY_DIR}/gpu)
|
||||
|
||||
if(CUDPP_OPT)
|
||||
cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
|
||||
file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/*.cpp)
|
||||
file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/*.cu)
|
||||
file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cpp)
|
||||
file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cu)
|
||||
endif()
|
||||
|
||||
cuda_compile_cubin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS
|
||||
@ -950,7 +1159,7 @@ if(PKG_GPU)
|
||||
include(OpenCLUtils)
|
||||
set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h)
|
||||
|
||||
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu)
|
||||
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu)
|
||||
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu)
|
||||
|
||||
foreach(GPU_KERNEL ${GPU_LIB_CU})
|
||||
@ -1000,7 +1209,6 @@ set(LAMMPS_STYLE_HEADERS_DIR ${CMAKE_CURRENT_BINARY_DIR}/styles)
|
||||
|
||||
GenerateStyleHeaders(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
|
||||
include_directories(${LAMMPS_SOURCE_DIR})
|
||||
include_directories(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
|
||||
######################################
|
||||
@ -1008,7 +1216,9 @@ include_directories(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
######################################
|
||||
set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n")
|
||||
set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n")
|
||||
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
|
||||
set(temp_PKG_LIST ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
|
||||
list(SORT temp_PKG_LIST)
|
||||
foreach(PKG ${temp_PKG_LIST})
|
||||
if(PKG_${PKG})
|
||||
set(temp "${temp} \"${PKG}\",\n")
|
||||
endif()
|
||||
@ -1033,14 +1243,14 @@ if(BUILD_LIB)
|
||||
if(LAMMPS_DEPS)
|
||||
add_dependencies(lammps ${LAMMPS_DEPS})
|
||||
endif()
|
||||
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LIB_SUFFIX})
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
|
||||
install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps)
|
||||
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||
endif()
|
||||
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_LIB_SUFFIX})
|
||||
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
|
||||
install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps)
|
||||
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||
configure_file(FindLAMMPS.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Module)
|
||||
else()
|
||||
list(APPEND LMP_SOURCES ${LIB_SOURCES})
|
||||
endif()
|
||||
@ -1056,10 +1266,11 @@ if(BUILD_EXE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE})
|
||||
set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY})
|
||||
install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME ${LAMMPS_BINARY}.1)
|
||||
if(ENABLE_TESTING)
|
||||
add_test(ShowHelp lmp${LAMMPS_MACHINE} -help)
|
||||
add_test(ShowHelp ${LAMMPS_BINARY} -help)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -1074,7 +1285,7 @@ if(BUILD_DOC)
|
||||
|
||||
set(VIRTUALENV ${PYTHON_EXECUTABLE} -m virtualenv)
|
||||
|
||||
file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/*.txt)
|
||||
file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/[^.]*.txt)
|
||||
file(GLOB PDF_EXTRA_SOURCES ${LAMMPS_DOC_DIR}/src/lammps_commands*.txt ${LAMMPS_DOC_DIR}/src/lammps_support.txt ${LAMMPS_DOC_DIR}/src/lammps_tutorials.txt)
|
||||
list(REMOVE_ITEM DOC_SOURCES ${PDF_EXTRA_SOURCES})
|
||||
|
||||
@ -1127,7 +1338,7 @@ endif()
|
||||
# Install potential files in data directory
|
||||
###############################################################################
|
||||
set(LAMMPS_POTENTIALS_DIR ${CMAKE_INSTALL_FULL_DATADIR}/lammps/potentials)
|
||||
install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials DESTINATION ${CMAKE_INSTALL_DATADIR}/lammps/potentials)
|
||||
install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials/ DESTINATION ${LAMMPS_POTENTIALS_DIR})
|
||||
|
||||
configure_file(etc/profile.d/lammps.sh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh @ONLY)
|
||||
configure_file(etc/profile.d/lammps.csh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh @ONLY)
|
||||
@ -1169,7 +1380,7 @@ endif()
|
||||
###############################################################################
|
||||
# Print package summary
|
||||
###############################################################################
|
||||
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
|
||||
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
|
||||
if(PKG_${PKG})
|
||||
message(STATUS "Building package: ${PKG}")
|
||||
endif()
|
||||
|
||||
48
cmake/FindLAMMPS.cmake.in
Normal file
48
cmake/FindLAMMPS.cmake.in
Normal file
@ -0,0 +1,48 @@
|
||||
# - Find liblammps
|
||||
# Find the native liblammps headers and libraries.
|
||||
#
|
||||
# The following variables will set:
|
||||
# LAMMPS_INCLUDE_DIRS - where to find lammps/library.h, etc.
|
||||
# LAMMPS_LIBRARIES - List of libraries when using lammps.
|
||||
# LAMMPS_API_DEFINES - lammps library api defines
|
||||
# LAMMPS_VERSION - lammps library version
|
||||
# LAMMPS_FOUND - True if liblammps found.
|
||||
#
|
||||
# In addition a LAMMPS::LAMMPS imported target is getting created.
|
||||
#
|
||||
# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
# http://lammps.sandia.gov, Sandia National Laboratories
|
||||
# Steve Plimpton, sjplimp@sandia.gov
|
||||
#
|
||||
# Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
# certain rights in this software. This software is distributed under
|
||||
# the GNU General Public License.
|
||||
#
|
||||
# See the README file in the top-level LAMMPS directory.
|
||||
#
|
||||
|
||||
find_package(PkgConfig)
|
||||
|
||||
pkg_check_modules(PC_LAMMPS liblammps@LAMMPS_LIB_SUFFIX@)
|
||||
find_path(LAMMPS_INCLUDE_DIR lammps/library.h HINTS ${PC_LAMMPS_INCLUDE_DIRS} @CMAKE_INSTALL_FULL_INCLUDEDIR@)
|
||||
|
||||
set(LAMMPS_VERSION @LAMMPS_VERSION@)
|
||||
set(LAMMPS_API_DEFINES @LAMMPS_API_DEFINES@)
|
||||
|
||||
find_library(LAMMPS_LIBRARY NAMES lammps@LAMMPS_LIB_SUFFIX@ HINTS ${PC_LAMMPS_LIBRARY_DIRS} @CMAKE_INSTALL_FULL_LIBDIR@)
|
||||
|
||||
set(LAMMPS_INCLUDE_DIRS "${LAMMPS_INCLUDE_DIR}")
|
||||
set(LAMMPS_LIBRARIES "${LAMMPS_LIBRARY}")
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set LAMMPS_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
find_package_handle_standard_args(LAMMPS REQUIRED_VARS LAMMPS_LIBRARY LAMMPS_INCLUDE_DIR VERSION_VAR LAMMPS_VERSION)
|
||||
|
||||
mark_as_advanced(LAMMPS_INCLUDE_DIR LAMMPS_LIBRARY)
|
||||
|
||||
if(LAMMPS_FOUND AND NOT TARGET LAMMPS::LAMMPS)
|
||||
add_library(LAMMPS::LAMMPS UNKNOWN IMPORTED)
|
||||
set_target_properties(LAMMPS::LAMMPS PROPERTIES IMPORTED_LOCATION "${LAMMPS_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${LAMMPS_INCLUDE_DIR}" INTERFACE_COMPILE_DEFINITIONS "${LAMMPS_API_DEFINES}")
|
||||
endif()
|
||||
8
cmake/Modules/FindZMQ.cmake
Normal file
8
cmake/Modules/FindZMQ.cmake
Normal file
@ -0,0 +1,8 @@
|
||||
find_path(ZMQ_INCLUDE_DIR zmq.h)
|
||||
find_library(ZMQ_LIBRARY NAMES zmq)
|
||||
|
||||
set(ZMQ_LIBRARIES ${ZMQ_LIBRARY})
|
||||
set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR)
|
||||
23
cmake/Modules/PreventInSourceBuilds.cmake
Normal file
23
cmake/Modules/PreventInSourceBuilds.cmake
Normal file
@ -0,0 +1,23 @@
|
||||
# - Prevent in-source builds.
|
||||
# https://stackoverflow.com/questions/1208681/with-cmake-how-would-you-disable-in-source-builds/
|
||||
|
||||
function(prevent_in_source_builds)
|
||||
# make sure the user doesn't play dirty with symlinks
|
||||
get_filename_component(srcdir "${CMAKE_SOURCE_DIR}" REALPATH)
|
||||
get_filename_component(srcdir2 "${CMAKE_SOURCE_DIR}/.." REALPATH)
|
||||
get_filename_component(srcdir3 "${CMAKE_SOURCE_DIR}/../src" REALPATH)
|
||||
get_filename_component(bindir "${CMAKE_BINARY_DIR}" REALPATH)
|
||||
|
||||
# disallow in-source builds
|
||||
if("${srcdir}" STREQUAL "${bindir}" OR "${srcdir2}" STREQUAL "${bindir}" OR "${srcdir3}" STREQUAL "${bindir}")
|
||||
message(FATAL_ERROR "\
|
||||
|
||||
CMake must not to be run in the source directory. \
|
||||
Rather create a dedicated build directory and run CMake there. \
|
||||
To clean up after this aborted in-place compilation:
|
||||
rm -r CMakeCache.txt CMakeFiles
|
||||
")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
prevent_in_source_builds()
|
||||
@ -48,8 +48,13 @@ function(CreateStyleHeader path filename)
|
||||
set(temp "")
|
||||
if(ARGC GREATER 2)
|
||||
list(REMOVE_AT ARGV 0 1)
|
||||
set(header_list)
|
||||
foreach(FNAME ${ARGV})
|
||||
get_filename_component(FNAME ${FNAME} NAME)
|
||||
list(APPEND header_list ${FNAME})
|
||||
endforeach()
|
||||
list(SORT header_list)
|
||||
foreach(FNAME ${header_list})
|
||||
set(temp "${temp}#include \"${FNAME}\"\n")
|
||||
endforeach()
|
||||
endif()
|
||||
@ -80,19 +85,23 @@ function(RegisterNPairStyle path)
|
||||
AddStyleHeader(${path} NPAIR)
|
||||
endfunction(RegisterNPairStyle)
|
||||
|
||||
function(RegisterFixStyle path)
|
||||
AddStyleHeader(${path} FIX)
|
||||
endfunction(RegisterFixStyle)
|
||||
|
||||
function(RegisterStyles search_path)
|
||||
FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force
|
||||
FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid
|
||||
FindStyleHeaders(${search_path} BODY_CLASS body_ BODY ) # body ) # atom_vec_body
|
||||
FindStyleHeaders(${search_path} BOND_CLASS bond_ BOND ) # bond ) # force
|
||||
FindStyleHeaders(${search_path} COMMAND_CLASS "" COMMAND ) # command ) # input
|
||||
FindStyleHeaders(${search_path} COMMAND_CLASS "[^.]" COMMAND ) # command ) # input
|
||||
FindStyleHeaders(${search_path} COMPUTE_CLASS compute_ COMPUTE ) # compute ) # modify
|
||||
FindStyleHeaders(${search_path} DIHEDRAL_CLASS dihedral_ DIHEDRAL ) # dihedral ) # force
|
||||
FindStyleHeaders(${search_path} DUMP_CLASS dump_ DUMP ) # dump ) # output write_dump
|
||||
FindStyleHeaders(${search_path} FIX_CLASS fix_ FIX ) # fix ) # modify
|
||||
FindStyleHeaders(${search_path} IMPROPER_CLASS improper_ IMPROPER ) # improper ) # force
|
||||
FindStyleHeaders(${search_path} INTEGRATE_CLASS "" INTEGRATE ) # integrate ) # update
|
||||
FindStyleHeaders(${search_path} KSPACE_CLASS "" KSPACE ) # kspace ) # force
|
||||
FindStyleHeaders(${search_path} INTEGRATE_CLASS "[^.]" INTEGRATE ) # integrate ) # update
|
||||
FindStyleHeaders(${search_path} KSPACE_CLASS "[^.]" KSPACE ) # kspace ) # force
|
||||
FindStyleHeaders(${search_path} MINIMIZE_CLASS min_ MINIMIZE ) # minimize ) # update
|
||||
FindStyleHeaders(${search_path} NBIN_CLASS nbin_ NBIN ) # nbin ) # neighbor
|
||||
FindStyleHeaders(${search_path} NPAIR_CLASS npair_ NPAIR ) # npair ) # neighbor
|
||||
|
||||
@ -1,18 +1,38 @@
|
||||
# pkg-config file for lammps
|
||||
# https://people.freedesktop.org/~dbn/pkg-config-guide.html
|
||||
# Usage: cc `pkg-config --cflags --libs liblammps` -o myapp myapp.c
|
||||
# after you added @CMAKE_INSTALL_FULL_LIBDIR@/pkg-config to PKG_CONFIG_PATH,
|
||||
|
||||
# Add the directory where lammps.pc got installed to your PKG_CONFIG_PATH
|
||||
# e.g. export PKG_CONFIG_PATH=@CMAKE_INSTALL_FULL_LIBDIR@/pkgconfig
|
||||
|
||||
prefix=@CMAKE_INSTALL_FULL_PREFIX@
|
||||
# Use this on commandline with:
|
||||
# c++ `pkg-config --cflags --libs lammps` -o myapp myapp.cpp
|
||||
|
||||
# Use this in a Makefile:
|
||||
# myapp: myapp.cpp
|
||||
# $(CC) `pkg-config --cflags --libs lammps` -o $@ $<
|
||||
|
||||
# Use this in autotools:
|
||||
# configure.ac:
|
||||
# PKG_CHECK_MODULES([LAMMPS], [lammps])
|
||||
# Makefile.am:
|
||||
# myapp_CFLAGS = $(LAMMPS_CFLAGS)
|
||||
# myapp_LDADD = $(LAMMPS_LIBS)
|
||||
|
||||
# Use this in CMake:
|
||||
# CMakeLists.txt:
|
||||
# find_package(PkgConfig)
|
||||
# pkg_check_modules(LAMMPS IMPORTED_TARGET lammps)
|
||||
# target_link_libraries(<lib> PkgConfig::LAMMPS)
|
||||
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
|
||||
Name: liblammps@LAMMPS_MACHINE@
|
||||
Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library
|
||||
URL: http://lammps.sandia.gov
|
||||
Version:
|
||||
Version: @LAMMPS_VERSION@
|
||||
Requires:
|
||||
Libs: -L${libdir} -llammps@LIB_SUFFIX@@
|
||||
Libs: -L${libdir} -llammps@LAMMPS_LIB_SUFFIX@
|
||||
Libs.private: -lm
|
||||
Cflags: -I${includedir} @LAMMPS_API_DEFINES@
|
||||
|
||||
@ -8,7 +8,7 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
|
||||
@ -8,7 +8,7 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
|
||||
@ -61,6 +61,7 @@ set(PKG_USER-QMMM OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-QTB OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-QUIP OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-REAXC OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-SDPD OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-SMD OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-SMTBQ OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-SPH OFF CACHE BOOL "" FORCE)
|
||||
|
||||
@ -8,7 +8,7 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
|
||||
@ -8,7 +8,7 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
|
||||
@ -8,7 +8,7 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
|
||||
@ -8,7 +8,7 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
|
||||
30
doc/Makefile
30
doc/Makefile
@ -31,17 +31,19 @@ SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocess
|
||||
SOURCES=$(filter-out $(wildcard src/lammps_commands*.txt) src/lammps_support.txt src/lammps_tutorials.txt,$(wildcard src/*.txt))
|
||||
OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst)
|
||||
|
||||
.PHONY: help clean-all clean epub html pdf old venv spelling anchor_check
|
||||
.PHONY: help clean-all clean epub mobi html pdf old venv spelling anchor_check
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html create HTML doc pages in html dir"
|
||||
@echo " pdf create Manual.pdf and Developer.pdf in this dir"
|
||||
@echo " pdf create Developer.pdf and Manual.pdf in this dir"
|
||||
@echo " old create old-style HTML doc pages in old dir"
|
||||
@echo " fetch fetch HTML and PDF files from LAMMPS web site"
|
||||
@echo " epub create ePUB format manual for e-book readers"
|
||||
@echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)"
|
||||
@echo " (requires ebook-convert tool from calibre)"
|
||||
@echo " clean remove all intermediate RST files"
|
||||
@echo " clean-all reset the entire build environment"
|
||||
@echo " txt2html build txt2html tool"
|
||||
@ -93,9 +95,10 @@ spelling: $(OBJECTS) utils/sphinx-config/false_positives.txt
|
||||
@echo "Spell check finished."
|
||||
|
||||
epub: $(OBJECTS)
|
||||
@mkdir -p epub
|
||||
@mkdir -p epub/JPG
|
||||
@rm -f LAMMPS.epub
|
||||
@cp src/JPG/lammps-logo.png epub/
|
||||
@cp src/JPG/*.* epub/JPG
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
cp -r src/* $(RSTDIR)/ ;\
|
||||
@ -106,20 +109,25 @@ epub: $(OBJECTS)
|
||||
@rm -rf epub
|
||||
@echo "Build finished. The ePUB manual file is created."
|
||||
|
||||
mobi: epub
|
||||
@rm -f LAMMPS.mobi
|
||||
@ebook-convert LAMMPS.epub LAMMPS.mobi
|
||||
@echo "Conversion finished. The MOBI manual file is created."
|
||||
|
||||
pdf: utils/txt2html/txt2html.exe
|
||||
@(\
|
||||
set -e; \
|
||||
cd src; \
|
||||
../utils/txt2html/txt2html.exe -b *.txt; \
|
||||
htmldoc --batch lammps.book; \
|
||||
for s in `echo *.txt | sed -e 's,\.txt,\.html,g'` ; \
|
||||
do grep -q $$s lammps.book || \
|
||||
echo doc file $$s missing in src/lammps.book; done; \
|
||||
rm *.html; \
|
||||
cd Developer; \
|
||||
cd src/Developer; \
|
||||
pdflatex developer; \
|
||||
pdflatex developer; \
|
||||
mv developer.pdf ../../Developer.pdf; \
|
||||
cd ..; \
|
||||
../utils/txt2html/txt2html.exe -b *.txt; \
|
||||
htmldoc --batch lammps.book; \
|
||||
for s in `echo *.txt | sed -e 's/ \(pairs\|bonds\|angles\|dihedrals\|impropers\|commands_list\|fixes\|computes\).txt/ /g' | sed -e 's,\.txt,\.html,g'` ; \
|
||||
do grep -q ^$$s lammps.book || \
|
||||
echo WARNING: doc file $$s missing in src/lammps.book; done; \
|
||||
rm *.html; \
|
||||
)
|
||||
|
||||
old: utils/txt2html/txt2html.exe
|
||||
|
||||
45
doc/lammps.1
Normal file
45
doc/lammps.1
Normal file
@ -0,0 +1,45 @@
|
||||
.TH LAMMPS "2018-08-22"
|
||||
.SH NAME
|
||||
.B LAMMPS
|
||||
\- Molecular Dynamics Simulator.
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B lmp
|
||||
-in in.file
|
||||
|
||||
or
|
||||
|
||||
mpirun \-np 2
|
||||
.B lmp
|
||||
-in in.file
|
||||
|
||||
.SH DESCRIPTION
|
||||
.B LAMMPS
|
||||
LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale
|
||||
Atomic/Molecular Massively Parallel Simulator. LAMMPS has potentials for soft
|
||||
materials (biomolecules, polymers) and solid-state materials (metals,
|
||||
semiconductors) and coarse-grained or mesoscopic systems. It can be used to
|
||||
model atoms or, more generically, as a parallel particle simulator at the
|
||||
atomic, meso, or continuum scale.
|
||||
|
||||
See http://lammps.sandia.gov/ for documentation.
|
||||
|
||||
.SH OPTIONS
|
||||
See https://lammps.sandia.gov/doc/Run_options.html for details on
|
||||
command-line options.
|
||||
|
||||
.SH COPYRIGHT
|
||||
© 2003--2018 Sandia Corporation
|
||||
|
||||
This package is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This package is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License can be found in `/usr/share/common-licenses/GPL-2'.
|
||||
@ -61,7 +61,7 @@ library files. Failing this, these 3 variables can be used to specify
|
||||
where the mpi.h file (MPI_INC), and the MPI library files (MPI_PATH)
|
||||
are found, and the name of the library files (MPI_LIB).
|
||||
|
||||
For a serial build, you need to specify the 3 varaibles, as shown
|
||||
For a serial build, you need to specify the 3 variables, as shown
|
||||
above.
|
||||
|
||||
For a serial LAMMPS build, use the dummy MPI library provided in
|
||||
@ -145,7 +145,7 @@ By default CMake will use a compiler it finds and it will add
|
||||
optimization flags appropriate to that compiler and any "accelerator
|
||||
packages"_Speed_packages.html you have included in the build.
|
||||
|
||||
You can tell CMake to look for a specific compiler with these varaible
|
||||
You can tell CMake to look for a specific compiler with these variable
|
||||
settings. Likewise you can specify the FLAGS variables if you want to
|
||||
experiment with alternate optimization flags. You should specify all
|
||||
3 compilers, so that the small number of LAMMPS source files written
|
||||
@ -216,8 +216,8 @@ LAMMPS can be built as either an executable or as a static or shared
|
||||
library. The LAMMPS library can be called from another application or
|
||||
a scripting language. See the "Howto couple"_Howto_couple.html doc
|
||||
page for more info on coupling LAMMPS to other codes. See the
|
||||
"Python"_Python doc page for more info on wrapping and running LAMMPS
|
||||
from Python via its library interface.
|
||||
"Python"_Python_head.html doc page for more info on wrapping and
|
||||
running LAMMPS from Python via its library interface.
|
||||
|
||||
[CMake variables]:
|
||||
|
||||
@ -247,7 +247,7 @@ Note that for a shared library to be usable by a calling program, all
|
||||
the auxiliary libraries it depends on must also exist as shared
|
||||
libraries. This will be the case for libraries included with LAMMPS,
|
||||
such as the dummy MPI library in src/STUBS or any package libraries in
|
||||
the lib/packages directroy, since they are always built as shared
|
||||
the lib/packages directory, since they are always built as shared
|
||||
libraries using the -fPIC switch. However, if a library like MPI or
|
||||
FFTW does not exist as a shared library, the shared library build will
|
||||
generate an error. This means you will need to install a shared
|
||||
@ -292,6 +292,10 @@ This will create a lammps/doc/html dir with the HTML doc pages so that
|
||||
you can browse them locally on your system. Type "make" from the
|
||||
lammps/doc dir to see other options.
|
||||
|
||||
NOTE: You can also download a tarball of the documention for the
|
||||
current LAMMPS version (HTML and PDF files), from the website
|
||||
"download page"_http://lammps.sandia.gov/download.html.
|
||||
|
||||
:line
|
||||
|
||||
Install LAMMPS after a build :h4,link(install)
|
||||
@ -299,7 +303,7 @@ Install LAMMPS after a build :h4,link(install)
|
||||
After building LAMMPS, you may wish to copy the LAMMPS executable of
|
||||
library, along with other LAMMPS files (library header, doc files) to
|
||||
a globally visible place on your system, for others to access. Note
|
||||
that you may need super-user priveleges (e.g. sudo) if the directory
|
||||
that you may need super-user privileges (e.g. sudo) if the directory
|
||||
you want to copy files to is protected.
|
||||
|
||||
[CMake variable]:
|
||||
|
||||
@ -40,7 +40,7 @@ executable called "lmp" and a library called "liblammps.a" in the
|
||||
If your machine has multiple CPU cores (most do these days), using a
|
||||
command like "make -jN" (with N being the number of available local
|
||||
CPU cores) can be much faster. If you plan to do development on
|
||||
LAMMPS or need to recompile LAMMPS repeatedly, installation of the
|
||||
LAMMPS or need to re-compile LAMMPS repeatedly, installation of the
|
||||
ccache (= Compiler Cache) software may speed up compilation even more.
|
||||
|
||||
After compilation, you can optionally copy the LAMMPS executable and
|
||||
@ -50,7 +50,7 @@ make install # optional, copy LAMMPS executable & library elsewhere :pre
|
||||
|
||||
:line
|
||||
|
||||
There are 3 variants of CMake: a command-line verison (cmake), a text mode
|
||||
There are 3 variants of CMake: a command-line version (cmake), a text mode
|
||||
UI version (ccmake), and a graphical GUI version (cmake-GUI). You can use
|
||||
any of them interchangeably to configure and create the LAMMPS build
|
||||
environment. On Linux all the versions produce a Makefile as their
|
||||
@ -188,7 +188,7 @@ module list # is a cmake module already loaded?
|
||||
module avail # is a cmake module available?
|
||||
module load cmake3 # load cmake module with appropriate name :pre
|
||||
|
||||
Most Linux distributions offer precompiled cmake packages through
|
||||
Most Linux distributions offer pre-compiled cmake packages through
|
||||
their package management system. If you do not have CMake or a new
|
||||
enough version, you can download the latest version at
|
||||
"https://cmake.org/download/"_https://cmake.org/download/.
|
||||
|
||||
@ -31,6 +31,7 @@ This is the list of packages that may require additional steps.
|
||||
"KOKKOS"_#kokkos,
|
||||
"LATTE"_#latte,
|
||||
"MEAM"_#meam,
|
||||
"MESSAGE"_#message,
|
||||
"MSCG"_#mscg,
|
||||
"OPT"_#opt,
|
||||
"POEMS"_#poems,
|
||||
@ -40,6 +41,7 @@ This is the list of packages that may require additional steps.
|
||||
"USER-ATC"_#user-atc,
|
||||
"USER-AWPMD"_#user-awpmd,
|
||||
"USER-COLVARS"_#user-colvars,
|
||||
"USER-PLUMED" _#user-plumed,
|
||||
"USER-H5MD"_#user-h5md,
|
||||
"USER-INTEL"_#user-intel,
|
||||
"USER-MOLFILE"_#user-molfile,
|
||||
@ -47,6 +49,7 @@ This is the list of packages that may require additional steps.
|
||||
"USER-OMP"_#user-omp,
|
||||
"USER-QMMM"_#user-qmmm,
|
||||
"USER-QUIP"_#user-quip,
|
||||
"USER-SCAFACOS"_#user-scafacos,
|
||||
"USER-SMD"_#user-smd,
|
||||
"USER-VTK"_#user-vtk :tb(c=6,ea=c,a=l)
|
||||
|
||||
@ -340,7 +343,7 @@ NOTE: the use of the MEAM package is discouraged, as it has been
|
||||
superseded by the USER-MEAMC package, which is a direct translation of
|
||||
the Fortran code in the MEAM library to C++. The code in USER-MEAMC
|
||||
should be functionally equivalent to the MEAM package, fully supports
|
||||
use of "pair_style hybrid"_pair_hybrid.html (the MEAM packaged doesn
|
||||
use of "pair_style hybrid"_pair_hybrid.html (the MEAM package does
|
||||
not), and has optimizations that make it significantly faster than the
|
||||
MEAM package.
|
||||
|
||||
@ -361,6 +364,10 @@ make lib-meam args="-m mpi" # build with default Fortran compiler compatible
|
||||
make lib-meam args="-m serial" # build with compiler compatible with "make serial" (GNU Fortran)
|
||||
make lib-meam args="-m ifort" # build with Intel Fortran compiler using Makefile.ifort :pre
|
||||
|
||||
NOTE: You should test building the MEAM library with both the Intel
|
||||
and GNU compilers to see if a simulation runs faster with one versus
|
||||
the other on your system.
|
||||
|
||||
The build should produce two files: lib/meam/libmeam.a and
|
||||
lib/meam/Makefile.lammps. The latter is copied from an existing
|
||||
Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with
|
||||
@ -373,6 +380,35 @@ file.
|
||||
|
||||
:line
|
||||
|
||||
MESSAGE package :h4,link(message)
|
||||
|
||||
This package can optionally include support for messaging via sockets,
|
||||
using the open-source "ZeroMQ library"_http://zeromq.org, which must
|
||||
be installed on your system.
|
||||
|
||||
[CMake build]:
|
||||
|
||||
-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
Before building LAMMPS, you must build the CSlib library in
|
||||
lib/message. You can build the CSlib library manually if you prefer;
|
||||
follow the instructions in lib/message/README. You can also do it in
|
||||
one step from the lammps/src dir, using a command like these, which
|
||||
simply invoke the lib/message/Install.py script with the specified args:
|
||||
|
||||
make lib-message # print help message
|
||||
make lib-message args="-m -z" # build with MPI and socket (ZMQ) support
|
||||
make lib-message args="-s" # build as serial lib with no ZMQ support
|
||||
|
||||
The build should produce two files: lib/message/cslib/src/libmessage.a
|
||||
and lib/message/Makefile.lammps. The latter is copied from an
|
||||
existing Makefile.lammps.* and has settings to link with the ZeroMQ
|
||||
library if requested in the build.
|
||||
|
||||
:line
|
||||
|
||||
MSCG package :h4,link(mscg)
|
||||
|
||||
To build with this package, you must download and build the MS-CG
|
||||
@ -470,7 +506,7 @@ lib/python/README for more details.
|
||||
|
||||
-D PYTHON_EXECUTABLE=path # path to Python executable to use :pre
|
||||
|
||||
Without this setting, CMake will ues the default Python on your
|
||||
Without this setting, CMake will guess the default Python on your
|
||||
system. To use a different Python version, you can either create a
|
||||
virtualenv, activate it and then run cmake. Or you can set the
|
||||
PYTHON_EXECUTABLE variable to specify which Python interpreter should
|
||||
@ -528,9 +564,9 @@ file.
|
||||
VORONOI package :h4,link(voronoi)
|
||||
|
||||
To build with this package, you must download and build the "Voro++
|
||||
library"_voro_home.
|
||||
library"_voro-home.
|
||||
|
||||
:link(voro_home,http://math.lbl.gov/voro++)
|
||||
:link(voro-home,http://math.lbl.gov/voro++)
|
||||
|
||||
[CMake build]:
|
||||
|
||||
@ -677,6 +713,62 @@ a corresponding Makefile.lammps.machine file.
|
||||
|
||||
:line
|
||||
|
||||
USER-PLUMED package :h4,link(user-plumed)
|
||||
|
||||
[CMake build]:
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
Before building LAMMPS with this package, you must first build
|
||||
PLUMED. We recommending building PLUMED separately to LAMMPS using
|
||||
the instructions that can be found at http://plumed.github.io/doc-master/user-doc/html/_installation.html.
|
||||
Before compiling LAMMPS you can then install the fix plumed command
|
||||
and compile LAMMPS in the usual manner:
|
||||
|
||||
make yes-user-plumed
|
||||
make machine :pre
|
||||
|
||||
Once this compilation completes you should be able to run LAMMPS in the usual
|
||||
way. When running LAMMPS with an input script that contains a fix
|
||||
plumed command LAMMPS will try to call the PLUMED runtime library. PLUMED
|
||||
must therefore be available in your path if LAMMPS is compiled in this way.
|
||||
|
||||
On some machines it is not possible to call runtime libraries in the way described
|
||||
above. When compiling on these machines it is thus better to statically link
|
||||
PLUMED when compiling LAMMPS. To do this you must either download a PLUMED
|
||||
tarball from http://www.plumed.org/get-it or clone it using
|
||||
git clone https://github.com/plumed/plumed2.git. If you download the tarball
|
||||
unpack it in the /lib/plumed directory. Similarly if you clone
|
||||
it clone it to the /lib/plumed directory as if there is a version of PLUMED within
|
||||
this directory LAMMPS will always try to statically link the version of PLUMED
|
||||
that this directory contains instead of dynamically linking the library.
|
||||
|
||||
Once you have downloaded PLUMED into /lib/plumed you must again build the code
|
||||
here by following the instructions that can be found at
|
||||
http://plumed.github.io/doc-master/user-doc/html/_installation.html.
|
||||
|
||||
You can statically link PLUMED manually and if you want to access the full
|
||||
range of PLUMED functionalities this is what you should do. If you only want the
|
||||
basic range of functionalities, however, (i.e. no user contributed modules) then
|
||||
you can download and compile PLUMED in one step from the lammps/src dir, using a
|
||||
command like like those below:
|
||||
|
||||
make lib-plumed # print help message
|
||||
make lib-plumed args="-b" # download and build the latest stable version of PLUMED
|
||||
|
||||
These commands will simply invoke the lib/plumed/Install.py script with
|
||||
args specified. Furthermore, once the script has completed you should
|
||||
have a compiled version of PLUMED. With this built you can install/un-install
|
||||
PLUMED and build LAMMPS in the usual manner:
|
||||
|
||||
make yes-user-plumed
|
||||
make machine :pre
|
||||
|
||||
make no-user-plumed
|
||||
make machine :pre
|
||||
|
||||
:line
|
||||
|
||||
USER-H5MD package :h4,link(user-h5md)
|
||||
|
||||
To build with this package you must have the HDF5 software package
|
||||
@ -687,7 +779,7 @@ the HDF5 library.
|
||||
|
||||
No additional settings are needed besides "-D PKG_USER-H5MD=yes".
|
||||
|
||||
This should autodetect the H5MD library on your system. Several
|
||||
This should auto-detect the H5MD library on your system. Several
|
||||
advanced CMake H5MD options exist if you need to specify where it is
|
||||
installed. Use the ccmake (terminal window) or cmake-gui (graphical)
|
||||
tools to see these options and set them interactively from their user
|
||||
@ -777,7 +869,7 @@ on your system.
|
||||
|
||||
No additional settings are needed besides "-D PKG_USER-NETCDF=yes".
|
||||
|
||||
This should autodetect the NETCDF library if it is installed on your
|
||||
This should auto-detect the NETCDF library if it is installed on your
|
||||
system at standard locations. Several advanced CMake NETCDF options
|
||||
exist if you need to specify where it was installed. Use the ccmake
|
||||
(terminal window) or cmake-gui (graphical) tools to see these options
|
||||
@ -894,6 +986,45 @@ successfully build on your system.
|
||||
|
||||
:line
|
||||
|
||||
USER-SCAFACOS package :h4,link(user-scafacos)
|
||||
|
||||
To build with this package, you must download and build the "ScaFaCoS
|
||||
Coulomb solver library"_scafacos-home
|
||||
|
||||
:link(scafacos-home,http://www.scafacos.de)
|
||||
|
||||
[CMake build]:
|
||||
|
||||
-D DOWNLOAD_SCAFACOS=value # download ScaFaCoS for build, value = no (default) or yes
|
||||
-D SCAFACOS_LIBRARY=path # ScaFaCos library file (only needed if at custom location)
|
||||
-D SCAFACOS_INCLUDE_DIR=path # ScaFaCoS include directory (only needed if at custom location) :pre
|
||||
|
||||
If DOWNLOAD_SCAFACOS is set, the ScaFaCoS library will be downloaded
|
||||
and built inside the CMake build directory. If the ScaFaCoS library
|
||||
is already on your system (in a location CMake cannot find it),
|
||||
SCAFACOS_LIBRARY is the filename (plus path) of the ScaFaCoS library
|
||||
file, not the directory the library file is in. SCAFACOS_INCLUDE_DIR
|
||||
is the directory the ScaFaCoS include file is in.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
You can download and build the ScaFaCoS library manually if you
|
||||
prefer; follow the instructions in lib/scafacos/README. You can also
|
||||
do it in one step from the lammps/src dir, using a command like these,
|
||||
which simply invoke the lib/scafacos/Install.py script with the
|
||||
specified args:
|
||||
|
||||
make lib-scafacos # print help message
|
||||
make lib-scafacos args="-b" # download and build in lib/scafacos/scafacos-<version>
|
||||
make lib-scafacos args="-p $HOME/scafacos # use existing ScaFaCoS installation in $HOME/scafacos
|
||||
|
||||
Note that 2 symbolic (soft) links, "includelink" and "liblink", are
|
||||
created in lib/scafacos to point to the ScaFaCoS src dir. When LAMMPS
|
||||
builds in src it will use these links. You should not need to edit
|
||||
the lib/scafacos/Makefile.lammps file.
|
||||
|
||||
:line
|
||||
|
||||
USER-SMD package :h4,link(user-smd)
|
||||
|
||||
To build with this package, you must download the Eigen3 library.
|
||||
@ -905,7 +1036,7 @@ Eigen3 is a template library, so you do not need to build it.
|
||||
-D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location) :pre
|
||||
|
||||
If DOWNLOAD_EIGEN3 is set, the Eigen3 library will be downloaded and
|
||||
inside the CMake build directory. If the Eig3n3 library is already on
|
||||
inside the CMake build directory. If the Eigen3 library is already on
|
||||
your system (in a location CMake cannot find it), EIGEN3_INCLUDE_DIR
|
||||
is the directory the Eigen3++ include file is in.
|
||||
|
||||
@ -936,7 +1067,7 @@ your system.
|
||||
|
||||
No additional settings are needed besides "-D PKG_USER-VTK=yes".
|
||||
|
||||
This should autodetect the VTK library if it is installed on your
|
||||
This should auto-detect the VTK library if it is installed on your
|
||||
system at standard locations. Several advanced VTK options exist if
|
||||
you need to specify where it was installed. Use the ccmake (terminal
|
||||
window) or cmake-gui (graphical) tools to see these options and set
|
||||
|
||||
@ -35,16 +35,16 @@ This initial compilation can take a long time, since LAMMPS is a large
|
||||
project with many features. If your machine has multiple CPU cores
|
||||
(most do these days), using a command like "make -jN mpi" (with N =
|
||||
the number of available CPU cores) can be much faster. If you plan to
|
||||
do development on LAMMPS or need to recompile LAMMPS repeatedly, the
|
||||
do development on LAMMPS or need to re-compile LAMMPS repeatedly, the
|
||||
installation of the ccache (= Compiler Cache) software may speed up
|
||||
compilation even more.
|
||||
|
||||
After the initial build, whenever you edit LAMMPS source files, or add
|
||||
or remove new files to the source directory (e.g. by installing or
|
||||
uninstalling packages), you must recompile and relink the LAMMPS
|
||||
uninstalling packages), you must re-compile and relink the LAMMPS
|
||||
executable with the same "make" command. This makefiles dependencies
|
||||
should insure that only the subset of files that need to be are
|
||||
recompiled.
|
||||
re-compiled.
|
||||
|
||||
NOTE: When you build LAMMPS for the first time, a long list of *.d
|
||||
files will be printed out rapidly. This is not an error; it is the
|
||||
@ -71,8 +71,8 @@ Makefiles you may wish to try include these (some require a package
|
||||
first be installed). Many of these include specific compiler flags
|
||||
for optimized performance. Please note, however, that some of these
|
||||
customized machine Makefile are contributed by users. Since both
|
||||
compilers, OS configs, and LAMMPS itself keep changing, their settings
|
||||
may become outdated:
|
||||
compilers, OS configurations, and LAMMPS itself keep changing, their
|
||||
settings may become outdated:
|
||||
|
||||
make mac # build serial LAMMPS on a Mac
|
||||
make mac_mpi # build parallel LAMMPS on a Mac
|
||||
|
||||
@ -42,6 +42,7 @@ packages:
|
||||
"KOKKOS"_Build_extras.html#kokkos,
|
||||
"LATTE"_Build_extras.html#latte,
|
||||
"MEAM"_Build_extras.html#meam,
|
||||
"MESSAGE"_Build_extras.html#message,
|
||||
"MSCG"_Build_extras.html#mscg,
|
||||
"OPT"_Build_extras.html#opt,
|
||||
"POEMS"_Build_extras.html#poems,
|
||||
@ -58,6 +59,7 @@ packages:
|
||||
"USER-OMP"_Build_extras.html#user-omp,
|
||||
"USER-QMMM"_Build_extras.html#user-qmmm,
|
||||
"USER-QUIP"_Build_extras.html#user-quip,
|
||||
"USER-SCAFACOS"_Build_extras.html#user-scafacos,
|
||||
"USER-SMD"_Build_extras.html#user-smd,
|
||||
"USER-VTK"_Build_extras.html#user-vtk :tb(c=6,ea=c,a=l)
|
||||
|
||||
|
||||
@ -80,8 +80,8 @@ per-timestep CPU cost, FFTs are only a portion of long-range
|
||||
Coulombics, and 1d FFTs are only a portion of the FFT cost (parallel
|
||||
communication can be costly). A breakdown of these timings is printed
|
||||
to the screen at the end of a run using the "kspace_style
|
||||
pppm"_kspace_style.html command. The "Run output"_doc page gives more
|
||||
details.
|
||||
pppm"_kspace_style.html command. The "Run output"_Run_output.html
|
||||
doc page gives more details.
|
||||
|
||||
FFTW is a fast, portable FFT library that should also work on any
|
||||
platform and can be faster than the KISS FFT library. You can
|
||||
@ -101,7 +101,7 @@ Performing 3d FFTs in parallel can be time consuming due to data
|
||||
access and required communication. This cost can be reduced by
|
||||
performing single-precision FFTs instead of double precision. Single
|
||||
precision means the real and imaginary parts of a complex datum are
|
||||
4-byte floats. Double precesion means they are 8-byte doubles. Note
|
||||
4-byte floats. Double precision means they are 8-byte doubles. Note
|
||||
that Fourier transform and related PPPM operations are somewhat less
|
||||
sensitive to floating point truncation errors and thus the resulting
|
||||
error is less than the difference in precision. Using the -DFFT_SINGLE
|
||||
@ -193,7 +193,7 @@ Output of JPG, PNG, and movie files :h4,link(graphics)
|
||||
|
||||
The "dump image"_dump_image.html command has options to output JPEG or
|
||||
PNG image files. Likewise the "dump movie"_dump_image.html command
|
||||
ouputs movie files in MPEG format. Using these options requires the
|
||||
outputs movie files in MPEG format. Using these options requires the
|
||||
following settings:
|
||||
|
||||
[CMake variables]:
|
||||
@ -206,7 +206,7 @@ following settings:
|
||||
# default = yes if CMake can find ffmpeg, else no :pre
|
||||
|
||||
Usually these settings are all that is needed. If CMake cannot find
|
||||
the graphics header, library, executuable files, you can set these
|
||||
the graphics header, library, executable files, you can set these
|
||||
variables:
|
||||
|
||||
-D JPEG_INCLUDE_DIR=path # path to jpeglib.h header file
|
||||
|
||||
@ -84,7 +84,7 @@ with the cross-compiler environment on Fedora machines.
|
||||
Please keep in mind, though, that this only applies to compiling LAMMPS.
|
||||
Whether the resulting binaries do work correctly is no tested by the
|
||||
LAMMPS developers. We instead rely on the feedback of the users
|
||||
of these precompiled LAMMPS packages for Windows. We will try to resolve
|
||||
of these pre-compiled LAMMPS packages for Windows. We will try to resolve
|
||||
issues to the best of our abilities if we become aware of them. However
|
||||
this is subject to time constraints and focus on HPC platforms.
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
All commands :h3
|
||||
|
||||
An alphabetic list of all LAMMPS commmands.
|
||||
An alphabetic list of all LAMMPS commands.
|
||||
|
||||
"angle_coeff"_angle_coeff.html,
|
||||
"angle_style"_angle_style.html,
|
||||
@ -71,6 +71,7 @@ An alphabetic list of all LAMMPS commmands.
|
||||
"lattice"_lattice.html,
|
||||
"log"_log.html,
|
||||
"mass"_mass.html,
|
||||
"message"_message.html,
|
||||
"minimize"_minimize.html,
|
||||
"min_modify"_min_modify.html,
|
||||
"min_style"_min_style.html,
|
||||
@ -103,6 +104,7 @@ An alphabetic list of all LAMMPS commmands.
|
||||
"restart"_restart.html,
|
||||
"run"_run.html,
|
||||
"run_style"_run_style.html,
|
||||
"server"_server.html,
|
||||
"set"_set.html,
|
||||
"shell"_shell.html,
|
||||
"special_bonds"_special_bonds.html,
|
||||
|
||||
@ -34,7 +34,7 @@ OPT.
|
||||
"fene (iko)"_bond_fene.html,
|
||||
"fene/expand (o)"_bond_fene_expand.html,
|
||||
"gromos (o)"_bond_gromos.html,
|
||||
"harmonic (ko)"_bond_harmonic.html,
|
||||
"harmonic (iko)"_bond_harmonic.html,
|
||||
"harmonic/shift (o)"_bond_harmonic_shift.html,
|
||||
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
|
||||
"morse (o)"_bond_morse.html,
|
||||
@ -57,9 +57,11 @@ OPT.
|
||||
"zero"_angle_zero.html,
|
||||
"hybrid"_angle_hybrid.html :tb(c=3,ea=c)
|
||||
|
||||
"charmm (ko)"_angle_charmm.html,
|
||||
"charmm (iko)"_angle_charmm.html,
|
||||
"class2 (ko)"_angle_class2.html,
|
||||
"class2/p6"_angle_class2.html,
|
||||
"cosine (o)"_angle_cosine.html,
|
||||
"cosine/buck6d"_angle_cosine_buck6d.html,
|
||||
"cosine/delta (o)"_angle_cosine_delta.html,
|
||||
"cosine/periodic (o)"_angle_cosine_periodic.html,
|
||||
"cosine/shift (o)"_angle_cosine_shift.html,
|
||||
@ -70,7 +72,7 @@ OPT.
|
||||
"fourier/simple (o)"_angle_fourier_simple.html,
|
||||
"harmonic (iko)"_angle_harmonic.html,
|
||||
"quartic (o)"_angle_quartic.html,
|
||||
"sdk"_angle_sdk.html,
|
||||
"sdk (o)"_angle_sdk.html,
|
||||
"table (o)"_angle_table.html :tb(c=4,ea=c)
|
||||
|
||||
:line
|
||||
@ -95,9 +97,9 @@ OPT.
|
||||
"helix (o)"_dihedral_helix.html,
|
||||
"multi/harmonic (o)"_dihedral_multi_harmonic.html,
|
||||
"nharmonic (o)"_dihedral_nharmonic.html,
|
||||
"opls (iko)"_dihedral_opls.htm;,
|
||||
"opls (iko)"_dihedral_opls.html,
|
||||
"quadratic (o)"_dihedral_quadratic.html,
|
||||
"spherical (o)"_dihedral_spherical.html,
|
||||
"spherical"_dihedral_spherical.html,
|
||||
"table (o)"_dihedral_table.html,
|
||||
"table/cut"_dihedral_table_cut.html :tb(c=4,ea=c)
|
||||
|
||||
@ -112,7 +114,7 @@ OPT.
|
||||
|
||||
"none"_improper_none.html,
|
||||
"zero"_improper_zero.html,
|
||||
"hybrid"_improper_hybrid.html :tb(c=3,ea=c)
|
||||
"hybrid"_improper_hybrid.html :tb(c=3,ea=c)
|
||||
|
||||
"class2 (ko)"_improper_class2.html,
|
||||
"cossq (o)"_improper_cossq.html,
|
||||
@ -120,5 +122,6 @@ OPT.
|
||||
"distance"_improper_distance.html,
|
||||
"fourier (o)"_improper_fourier.html,
|
||||
"harmonic (iko)"_improper_harmonic.html,
|
||||
"inversion/harmonic"_improper_inversion_harmonic.html,
|
||||
"ring (o)"_improper_ring.html,
|
||||
"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c)
|
||||
|
||||
@ -25,6 +25,7 @@ additional letters in parenthesis: g = GPU, i = USER-INTEL, k =
|
||||
KOKKOS, o = USER-OMP, t = OPT.
|
||||
|
||||
"ackland/atom"_compute_ackland_atom.html,
|
||||
"adf"_compute_adf.html,
|
||||
"aggregate/atom"_compute_cluster_atom.html,
|
||||
"angle"_compute_angle.html,
|
||||
"angle/local"_compute_angle_local.html,
|
||||
@ -35,6 +36,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"bond/local"_compute_bond_local.html,
|
||||
"centro/atom"_compute_centro_atom.html,
|
||||
"chunk/atom"_compute_chunk_atom.html,
|
||||
"chunk/spread/atom"_compute_chunk_spread_atom.html,
|
||||
"cluster/atom"_compute_cluster_atom.html,
|
||||
"cna/atom"_compute_cna_atom.html,
|
||||
"cnp/atom"_compute_cnp_atom.html,
|
||||
@ -91,12 +93,15 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"pe/tally"_compute_tally.html,
|
||||
"plasticity/atom"_compute_plasticity_atom.html,
|
||||
"pressure"_compute_pressure.html,
|
||||
"pressure/cylinder"_compute_pressure_cylinder.html,
|
||||
"pressure/uef"_compute_pressure_uef.html,
|
||||
"property/atom"_compute_property_atom.html,
|
||||
"property/chunk"_compute_property_chunk.html,
|
||||
"property/local"_compute_property_local.html,
|
||||
"ptm/atom"_compute_ptm_atom.html,
|
||||
"rdf"_compute_rdf.html,
|
||||
"reduce"_compute_reduce.html,
|
||||
"reduce/chunk"_compute_reduce_chunk.html,
|
||||
"reduce/region"_compute_reduce.html,
|
||||
"rigid/local"_compute_rigid_local.html,
|
||||
"saed"_compute_saed.html,
|
||||
@ -115,7 +120,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"smd/tlsph/strain"_compute_smd_tlsph_strain.html,
|
||||
"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html,
|
||||
"smd/tlsph/stress"_compute_smd_tlsph_stress.html,
|
||||
"smd/triangle/mesh/vertices"_compute_smd_triangle_mesh_vertices.html,
|
||||
"smd/triangle/vertices"_compute_smd_triangle_vertices.html,
|
||||
"smd/ulsph/num/neighs"_compute_smd_ulsph_num_neighs.html,
|
||||
"smd/ulsph/strain"_compute_smd_ulsph_strain.html,
|
||||
"smd/ulsph/strain/rate"_compute_smd_ulsph_strain_rate.html,
|
||||
@ -126,6 +131,8 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"snav/atom"_compute_sna_atom.html,
|
||||
"spin"_compute_spin.html,
|
||||
"stress/atom"_compute_stress_atom.html,
|
||||
"stress/mop"_compute_stress_mop.html,
|
||||
"stress/mop/profile"_compute_stress_mop.html,
|
||||
"stress/tally"_compute_tally.html,
|
||||
"tdpd/cc/atom"_compute_tdpd_cc_atom.html,
|
||||
"temp (k)"_compute_temp.html,
|
||||
@ -133,6 +140,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"temp/body"_compute_temp_body.html,
|
||||
"temp/chunk"_compute_temp_chunk.html,
|
||||
"temp/com"_compute_temp_com.html,
|
||||
"temp/cs"_compute_temp_cs.html,
|
||||
"temp/deform"_compute_temp_deform.html,
|
||||
"temp/deform/eff"_compute_temp_deform_eff.html,
|
||||
"temp/drude"_compute_temp_drude.html,
|
||||
|
||||
@ -40,11 +40,13 @@ OPT.
|
||||
"ave/time"_fix_ave_time.html,
|
||||
"aveforce"_fix_aveforce.html,
|
||||
"balance"_fix_balance.html,
|
||||
"bocs"_fix_bocs.html,
|
||||
"bond/break"_fix_bond_break.html,
|
||||
"bond/create"_fix_bond_create.html,
|
||||
"bond/react"_fix_bond_react.html,
|
||||
"bond/swap"_fix_bond_swap.html,
|
||||
"box/relax"_fix_box_relax.html,
|
||||
"client/md"_fix_client_md.html,
|
||||
"cmap"_fix_cmap.html,
|
||||
"colvars"_fix_colvars.html,
|
||||
"controller"_fix_controller.html,
|
||||
@ -54,7 +56,7 @@ OPT.
|
||||
"drag"_fix_drag.html,
|
||||
"drude"_fix_drude.html,
|
||||
"drude/transform/direct"_fix_drude_transform.html,
|
||||
"drude/transform/reverse"_fix_drude_transform.html,
|
||||
"drude/transform/inverse"_fix_drude_transform.html,
|
||||
"dt/reset"_fix_dt_reset.html,
|
||||
"edpd/source"_fix_dpd_source.html,
|
||||
"efield"_fix_efield.html,
|
||||
@ -65,13 +67,14 @@ OPT.
|
||||
"eos/table/rx (k)"_fix_eos_table_rx.html,
|
||||
"evaporate"_fix_evaporate.html,
|
||||
"external"_fix_external.html,
|
||||
"ffl"_fix_ffl.html,
|
||||
"filter/corotate"_fix_filter_corotate.html,
|
||||
"flow/gauss"_fix_flow_gauss.html,
|
||||
"freeze"_fix_freeze.html,
|
||||
"freeze (k)"_fix_freeze.html,
|
||||
"gcmc"_fix_gcmc.html,
|
||||
"gld"_fix_gld.html,
|
||||
"gle"_fix_gle.html,
|
||||
"gravity (o)"_fix_gravity.html,
|
||||
"gravity (ko)"_fix_gravity.html,
|
||||
"grem"_fix_grem.html,
|
||||
"halt"_fix_halt.html,
|
||||
"heat"_fix_heat.html,
|
||||
@ -91,6 +94,7 @@ OPT.
|
||||
"lineforce"_fix_lineforce.html,
|
||||
"manifoldforce"_fix_manifoldforce.html,
|
||||
"meso"_fix_meso.html,
|
||||
"meso/move"_fix_meso_move.html,
|
||||
"meso/stationary"_fix_meso_stationary.html,
|
||||
"momentum (k)"_fix_momentum.html,
|
||||
"move"_fix_move.html,
|
||||
@ -104,17 +108,18 @@ OPT.
|
||||
"nph/asphere (o)"_fix_nph_asphere.html,
|
||||
"nph/body"_fix_nph_body.html,
|
||||
"nph/eff"_fix_nh_eff.html,
|
||||
"nph/sphere (o)"_fix_nph_sphere.html,
|
||||
"nph/sphere (ko)"_fix_nph_sphere.html,
|
||||
"nphug (o)"_fix_nphug.html,
|
||||
"npt (kio)"_fix_nh.html,
|
||||
"npt (iko)"_fix_nh.html,
|
||||
"npt/asphere (o)"_fix_npt_asphere.html,
|
||||
"npt/body"_fix_npt_body.html,
|
||||
"npt/eff"_fix_nh_eff.html,
|
||||
"npt/sphere (o)"_fix_npt_sphere.html,
|
||||
"npt/uef"_fix_nh_uef.html,
|
||||
"nve (kio)"_fix_nve.html,
|
||||
"nve (iko)"_fix_nve.html,
|
||||
"nve/asphere (i)"_fix_nve_asphere.html,
|
||||
"nve/asphere/noforce"_fix_nve_asphere_noforce.html,
|
||||
"nve/awpmd"_fix_nve_awpmd.html,
|
||||
"nve/body"_fix_nve_body.html,
|
||||
"nve/dot"_fix_nve_dot.html,
|
||||
"nve/dotc/langevin"_fix_nve_dotc_langevin.html,
|
||||
@ -168,27 +173,28 @@ OPT.
|
||||
"restrain"_fix_restrain.html,
|
||||
"rhok"_fix_rhok.html,
|
||||
"rigid (o)"_fix_rigid.html,
|
||||
"rigid/meso"_fix_rigid_meso.html,
|
||||
"rigid/nph (o)"_fix_rigid.html,
|
||||
"rigid/nph/small"_fix_rigid.html,
|
||||
"rigid/npt (o)"_fix_rigid.html,
|
||||
"rigid/npt/small"_fix_rigid.html,
|
||||
"rigid/nve (o)"_fix_rigid.html,
|
||||
"rigid/nve/small"_fix_rigid.html,
|
||||
"rigid/nvt (o)"_fix_rigid.html,
|
||||
"rigid/nvt/small"_fix_rigid.html,
|
||||
"rigid/small (o)"_fix_rigid.html,
|
||||
"rigid/small/nph"_fix_rigid.html,
|
||||
"rigid/small/npt"_fix_rigid.html,
|
||||
"rigid/small/nve"_fix_rigid.html,
|
||||
"rigid/small/nvt"_fix_rigid.html,
|
||||
"rx (k)"_fix_rx.html,
|
||||
"saed/vtk"_fix_saed_vtk.html,
|
||||
"setforce (k)"_fix_setforce.html,
|
||||
"shake"_fix_shake.html,
|
||||
"shardlow (k)"_fix_shardlow.html,
|
||||
"smd"_fix_smd.html,
|
||||
"smd/adjust/dt"_fix_smd_adjust_dt.html,
|
||||
"smd/integrate/tlsph"_fix_smd_integrate_tlsph.html,
|
||||
"smd/integrate/ulsph"_fix_smd_integrate_ulsph.html,
|
||||
"smd/move/triangulated/surface"_fix_smd_move_triangulated_surface.html,
|
||||
"smd/adjust_dt"_fix_smd_adjust_dt.html,
|
||||
"smd/integrate_tlsph"_fix_smd_integrate_tlsph.html,
|
||||
"smd/integrate_ulsph"_fix_smd_integrate_ulsph.html,
|
||||
"smd/move_tri_surf"_fix_smd_move_triangulated_surface.html,
|
||||
"smd/setvel"_fix_smd_setvel.html,
|
||||
"smd/wall/surface"_fix_smd_wall_surface.html,
|
||||
"smd/wall_surface"_fix_smd_wall_surface.html,
|
||||
"spring"_fix_spring.html,
|
||||
"spring/chunk"_fix_spring_chunk.html,
|
||||
"spring/rg"_fix_spring_rg.html,
|
||||
@ -216,7 +222,7 @@ OPT.
|
||||
"wall/body/polyhedron"_fix_wall_body_polyhedron.html,
|
||||
"wall/colloid"_fix_wall.html,
|
||||
"wall/ees"_fix_wall_ees.html,
|
||||
"wall/gran"_fix_wall_gran.html,
|
||||
"wall/gran (o)"_fix_wall_gran.html,
|
||||
"wall/gran/region"_fix_wall_gran_region.html,
|
||||
"wall/harmonic"_fix_wall.html,
|
||||
"wall/lj1043"_fix_wall.html,
|
||||
|
||||
@ -33,4 +33,5 @@ OPT.
|
||||
"pppm/disp (i)"_kspace_style.html,
|
||||
"pppm/disp/tip4p"_kspace_style.html,
|
||||
"pppm/stagger"_kspace_style.html,
|
||||
"pppm/tip4p (o)"_kspace_style.html :tb(c=4,ea=c)
|
||||
"pppm/tip4p (o)"_kspace_style.html,
|
||||
"scafacos"_kspace_style.html :tb(c=4,ea=c)
|
||||
|
||||
@ -26,13 +26,14 @@ OPT.
|
||||
|
||||
"none"_pair_none.html,
|
||||
"zero"_pair_zero.html,
|
||||
"hybrid"_pair_hybrid.html,
|
||||
"hybrid (k)"_pair_hybrid.html,
|
||||
"hybrid/overlay (k)"_pair_hybrid.html :tb(c=4,ea=c)
|
||||
|
||||
"adp (o)"_pair_adp.html,
|
||||
"agni (o)"_pair_agni.html,
|
||||
"airebo (oi)"_pair_airebo.html,
|
||||
"airebo/morse (oi)"_pair_airebo.html,
|
||||
"airebo (io)"_pair_airebo.html,
|
||||
"airebo/morse (io)"_pair_airebo.html,
|
||||
"atm"_pair_atm.html,
|
||||
"awpmd/cut"_pair_awpmd.html,
|
||||
"beck (go)"_pair_beck.html,
|
||||
"body/nparticle"_pair_body_nparticle.html,
|
||||
@ -41,21 +42,23 @@ OPT.
|
||||
"bop"_pair_bop.html,
|
||||
"born (go)"_pair_born.html,
|
||||
"born/coul/dsf"_pair_born.html,
|
||||
"born/coul/dsf/cs"_pair_born.html,
|
||||
"born/coul/dsf/cs"_pair_cs.html,
|
||||
"born/coul/long (go)"_pair_born.html,
|
||||
"born/coul/long/cs"_pair_born.html,
|
||||
"born/coul/long/cs (g)"_pair_cs.html,
|
||||
"born/coul/msm (o)"_pair_born.html,
|
||||
"born/coul/wolf (go)"_pair_born.html,
|
||||
"born/coul/wolf/cs"_pair_born.html,
|
||||
"born/coul/wolf/cs (g)"_pair_cs.html,
|
||||
"brownian (o)"_pair_brownian.html,
|
||||
"brownian/poly (o)"_pair_brownian.html,
|
||||
"buck (giko)"_pair_buck.html,
|
||||
"buck/coul/cut (giko)"_pair_buck.html,
|
||||
"buck/coul/long (giko)"_pair_buck.html,
|
||||
"buck/coul/long/cs"_pair_buck.html,
|
||||
"buck/coul/long/cs"_pair_cs.html,
|
||||
"buck/coul/msm (o)"_pair_buck.html,
|
||||
"buck/long/coul/long (o)"_pair_buck_long.html,
|
||||
"buck/mdf"_pair_mdf.html,
|
||||
"buck6d/coul/gauss/dsf"_pair_buck6d_coul_gauss.html,
|
||||
"buck6d/coul/gauss/long"_pair_buck6d_coul_gauss.html,
|
||||
"colloid (go)"_pair_colloid.html,
|
||||
"comb (o)"_pair_comb.html,
|
||||
"comb3"_pair_comb.html,
|
||||
@ -65,13 +68,13 @@ OPT.
|
||||
"coul/diel (o)"_pair_coul_diel.html,
|
||||
"coul/dsf (gko)"_pair_coul.html,
|
||||
"coul/long (gko)"_pair_coul.html,
|
||||
"coul/long/cs"_pair_coul.html,
|
||||
"coul/long/cs (g)"_pair_cs.html,
|
||||
"coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"coul/msm"_pair_coul.html,
|
||||
"coul/msm (o)"_pair_coul.html,
|
||||
"coul/shield"_pair_coul_shield.html,
|
||||
"coul/streitz"_pair_coul.html,
|
||||
"coul/wolf (ko)"_pair_coul.html,
|
||||
"coul/wolf/cs"_pair_coul.html,
|
||||
"coul/wolf/cs"_pair_cs.html,
|
||||
"dpd (gio)"_pair_dpd.html,
|
||||
"dpd/fdt"_pair_dpd_fdt.html,
|
||||
"dpd/fdt/energy (k)"_pair_dpd_fdt.html,
|
||||
@ -80,6 +83,7 @@ OPT.
|
||||
"eam (gikot)"_pair_eam.html,
|
||||
"eam/alloy (gikot)"_pair_eam.html,
|
||||
"eam/cd (o)"_pair_eam.html,
|
||||
"eam/cd/old (o)"_pair_eam.html,
|
||||
"eam/fs (gikot)"_pair_eam.html,
|
||||
"edip (o)"_pair_edip.html,
|
||||
"edip/multi"_pair_edip.html,
|
||||
@ -89,11 +93,11 @@ OPT.
|
||||
"exp6/rx (k)"_pair_exp6_rx.html,
|
||||
"extep"_pair_extep.html,
|
||||
"gauss (go)"_pair_gauss.html,
|
||||
"gauss/cut"_pair_gauss.html,
|
||||
"gauss/cut (o)"_pair_gauss.html,
|
||||
"gayberne (gio)"_pair_gayberne.html,
|
||||
"gran/hertz/history (o)"_pair_gran.html,
|
||||
"gran/hooke (o)"_pair_gran.html,
|
||||
"gran/hooke/history (o)"_pair_gran.html,
|
||||
"gran/hooke/history (ko)"_pair_gran.html,
|
||||
"gw"_pair_gw.html,
|
||||
"gw/zbl"_pair_gw.html,
|
||||
"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html,
|
||||
@ -108,9 +112,9 @@ OPT.
|
||||
"list"_pair_list.html,
|
||||
"lj/charmm/coul/charmm (iko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long (giko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long/soft (o)"_pair_charmm.html,
|
||||
"lj/charmm/coul/msm"_pair_charmm.html,
|
||||
"lj/charmm/coul/long (gikot)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"lj/charmm/coul/msm (o)"_pair_charmm.html,
|
||||
"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html,
|
||||
"lj/charmmfsw/coul/long"_pair_charmm.html,
|
||||
"lj/class2 (gko)"_pair_class2.html,
|
||||
@ -123,12 +127,12 @@ OPT.
|
||||
"lj/cut/coul/debye (gko)"_pair_lj.html,
|
||||
"lj/cut/coul/dsf (gko)"_pair_lj.html,
|
||||
"lj/cut/coul/long (gikot)"_pair_lj.html,
|
||||
"lj/cut/coul/long/cs"_pair_lj.html,
|
||||
"lj/cut/coul/long/cs"_pair_cs.html,
|
||||
"lj/cut/coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"lj/cut/coul/msm (go)"_pair_lj.html,
|
||||
"lj/cut/coul/wolf (o)"_pair_lj.html,
|
||||
"lj/cut/dipole/cut (go)"_pair_dipole.html,
|
||||
"lj/cut/dipole/long"_pair_dipole.html,
|
||||
"lj/cut/dipole/long (g)"_pair_dipole.html,
|
||||
"lj/cut/dipole/sf (go)"_pair_dipole.html,
|
||||
"lj/cut/soft (o)"_pair_lj_soft.html,
|
||||
"lj/cut/thole/long (o)"_pair_thole.html,
|
||||
@ -136,15 +140,17 @@ OPT.
|
||||
"lj/cut/tip4p/long (ot)"_pair_lj.html,
|
||||
"lj/cut/tip4p/long/soft (o)"_pair_lj_soft.html,
|
||||
"lj/expand (gko)"_pair_lj_expand.html,
|
||||
"lj/expand/coul/long (g)"_pair_lj_expand.html,
|
||||
"lj/gromacs (gko)"_pair_gromacs.html,
|
||||
"lj/gromacs/coul/gromacs (ko)"_pair_gromacs.html,
|
||||
"lj/long/coul/long (io)"_pair_lj_long.html,
|
||||
"lj/long/coul/long (iot)"_pair_lj_long.html,
|
||||
"lj/long/dipole/long"_pair_dipole.html,
|
||||
"lj/long/tip4p/long"_pair_lj_long.html,
|
||||
"lj/long/tip4p/long (o)"_pair_lj_long.html,
|
||||
"lj/mdf"_pair_mdf.html,
|
||||
"lj/sdk (gko)"_pair_sdk.html,
|
||||
"lj/sdk/coul/long (go)"_pair_sdk.html,
|
||||
"lj/sdk/coul/msm (o)"_pair_sdk.html,
|
||||
"lj/sf/dipole/sf (go)"_pair_dipole.html,
|
||||
"lj/smooth (o)"_pair_lj_smooth.html,
|
||||
"lj/smooth/linear (o)"_pair_lj_smooth_linear.html,
|
||||
"lj96/cut (go)"_pair_lj96.html,
|
||||
@ -159,14 +165,14 @@ OPT.
|
||||
"meam/spline (o)"_pair_meam_spline.html,
|
||||
"meam/sw/spline"_pair_meam_sw_spline.html,
|
||||
"mgpt"_pair_mgpt.html,
|
||||
"mie/cut (o)"_pair_mie.html,
|
||||
"mie/cut (g)"_pair_mie.html,
|
||||
"momb"_pair_momb.html,
|
||||
"morse (gkot)"_pair_morse.html,
|
||||
"morse/smooth/linear"_pair_morse.html,
|
||||
"morse/smooth/linear (o)"_pair_morse.html,
|
||||
"morse/soft"_pair_morse.html,
|
||||
"multi/lucy"_pair_multi_lucy.html,
|
||||
"multi/lucy/rx (k)"_pair_multi_lucy_rx.html,
|
||||
"nb3b/harmonic (o)"_pair_nb3b_harmonic.html,
|
||||
"nb3b/harmonic"_pair_nb3b_harmonic.html,
|
||||
"nm/cut (o)"_pair_nm.html,
|
||||
"nm/cut/coul/cut (o)"_pair_nm.html,
|
||||
"nm/cut/coul/long (o)"_pair_nm.html,
|
||||
@ -178,7 +184,9 @@ OPT.
|
||||
"oxdna2/coaxstk"_pair_oxdna2.html,
|
||||
"oxdna2/dh"_pair_oxdna2.html,
|
||||
"oxdna2/excv"_pair_oxdna2.html,
|
||||
"oxdna2/hbond"_pair_oxdna2.html,
|
||||
"oxdna2/stk"_pair_oxdna2.html,
|
||||
"oxdna2/xstk"_pair_oxdna2.html,
|
||||
"peri/eps"_pair_peri.html,
|
||||
"peri/lps (o)"_pair_peri.html,
|
||||
"peri/pmb (o)"_pair_peri.html,
|
||||
@ -188,11 +196,12 @@ OPT.
|
||||
"quip"_pair_quip.html,
|
||||
"reax"_pair_reax.html,
|
||||
"reax/c (ko)"_pair_reaxc.html,
|
||||
"rebo (oi)"_pair_airebo.html,
|
||||
"rebo (io)"_pair_airebo.html,
|
||||
"resquared (go)"_pair_resquared.html,
|
||||
"sdpd/taitwater/isothermal"_pair_sdpd_taitwater_isothermal.html,
|
||||
"smd/hertz"_pair_smd_hertz.html,
|
||||
"smd/tlsph"_pair_smd_tlsph.html,
|
||||
"smd/triangulated/surface"_pair_smd_triangulated_surface.html,
|
||||
"smd/tri_surface"_pair_smd_triangulated_surface.html,
|
||||
"smd/ulsph"_pair_smd_ulsph.html,
|
||||
"smtbq"_pair_smtbq.html,
|
||||
"snap (k)"_pair_snap.html,
|
||||
@ -224,8 +233,8 @@ OPT.
|
||||
"tip4p/long/soft (o)"_pair_lj_soft.html,
|
||||
"tri/lj"_pair_tri_lj.html,
|
||||
"ufm (got)"_pair_ufm.html,
|
||||
"vashishta (ko)"_pair_vashishta.html,
|
||||
"vashishta (gko)"_pair_vashishta.html,
|
||||
"vashishta/table (o)"_pair_vashishta.html,
|
||||
"yukawa (gok)"_pair_yukawa.html,
|
||||
"yukawa (gko)"_pair_yukawa.html,
|
||||
"yukawa/colloid (go)"_pair_yukawa_colloid.html,
|
||||
"zbl (gok)"_pair_zbl.html :tb(c=4,ea=c)
|
||||
"zbl (gko)"_pair_zbl.html :tb(c=4,ea=c)
|
||||
|
||||
@ -14,7 +14,7 @@ LAMMPS commands are case sensitive. Command names are lower-case, as
|
||||
are specified command arguments. Upper case letters may be used in
|
||||
file names or user-chosen ID strings.
|
||||
|
||||
Here are 6 rulse for how each line in the input script is parsed by
|
||||
Here are 6 rules for how each line in the input script is parsed by
|
||||
LAMMPS:
|
||||
|
||||
(1) If the last printable character on the line is a "&" character,
|
||||
@ -71,7 +71,7 @@ floating-point value. The format string is used to output the result
|
||||
of the variable expression evaluation. If a format string is not
|
||||
specified a high-precision "%.20g" is used as the default.
|
||||
|
||||
This can be useful for formatting print output to a desired precion:
|
||||
This can be useful for formatting print output to a desired precision:
|
||||
|
||||
print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom" :pre
|
||||
|
||||
|
||||
@ -22,10 +22,10 @@ users.
|
||||
LAMMPS source files are in two directories of the distribution
|
||||
tarball. The src directory has the majority of them, all of which are
|
||||
C++ files (*.cpp and *.h). Many of these files are in the src
|
||||
directory itself. There are also dozens of "packages", which can be
|
||||
directory itself. There are also dozens of ``packages'', which can be
|
||||
included or excluded when LAMMPS is built. See the
|
||||
doc/Section\_build.html section of the manual for more information
|
||||
about packages, or type "make" from within the src directory, which
|
||||
about packages, or type ``make'' from within the src directory, which
|
||||
lists package-related commands, such as ``make package-status''. The
|
||||
source files for each package are in an all-uppercase sub-directory of
|
||||
src, like src/MOLECULE or src/USER-CUDA. If the package is currently
|
||||
@ -38,17 +38,17 @@ The lib directory also contains source code for external libraries,
|
||||
used by a few of the packages. Each sub-directory, like meam or gpu,
|
||||
contains the source files, some of which are in different languages
|
||||
such as Fortran. The files are compiled into libraries from within
|
||||
each sub-directory, e.g. performing a "make" in the lib/meam directory
|
||||
each sub-directory, e.g. performing a ``make'' in the lib/meam directory
|
||||
creates a libmeam.a file. These libraries are linked to during a
|
||||
LAMMPS build, if the corresponding package is installed.
|
||||
|
||||
LAMMPS C++ source files almost always come in pairs, such as run.cpp
|
||||
and run.h. The pair of files defines a C++ class, the Run class in
|
||||
this case, which contains the code invoked by the "run" command in a
|
||||
this case, which contains the code invoked by the ``run'' command in a
|
||||
LAMMPS input script. As this example illustrates, source file and
|
||||
class names often have a one-to-one correspondence with a command used
|
||||
in a LAMMPS input script. Some source files and classes do not have a
|
||||
corresponding input script command, e.g. force.cpp and the Force
|
||||
corresponding input script command, e.g. ``force.cpp'' and the Force
|
||||
class. They are discussed in the next section.
|
||||
|
||||
\pagebreak
|
||||
@ -57,12 +57,12 @@ class. They are discussed in the next section.
|
||||
Though LAMMPS has a lot of source files and classes, its class
|
||||
hierarchy is quite simple, as outlined in Fig \ref{fig:classes}. Each
|
||||
boxed name refers to a class and has a pair of associated source files
|
||||
in lammps/src, e.g. memory.cpp and memory.h. More details on the
|
||||
in lammps/src, e.g. ``memory.cpp'' and ``memory.h''. More details on the
|
||||
class and its methods and data structures can be found by examining
|
||||
its *.h file.
|
||||
|
||||
LAMMPS (lammps.cpp/h) is the top-level class for the entire code. It
|
||||
holds an "instance" of LAMMPS and can be instantiated one or more
|
||||
holds an ``instance'' of LAMMPS and can be instantiated one or more
|
||||
times by a calling code. For example, the file src/main.cpp simply
|
||||
instantiates one instance of LAMMPS and passes it the input script.
|
||||
|
||||
@ -81,7 +81,7 @@ enabled by a bit of cleverness in the Pointers class (see
|
||||
src/pointers.h) which every class inherits from.
|
||||
|
||||
There are a handful of virtual parent classes in LAMMPS that define
|
||||
what LAMMPS calls "styles". They are shaded red in Fig
|
||||
what LAMMPS calls ``styles''. They are shaded red in Fig
|
||||
\ref{fig:classes}. Each of these are parents of a number of child
|
||||
classes that implement the interface defined by the parent class. For
|
||||
example, the fix style has around 100 child classes. They are the
|
||||
@ -89,17 +89,17 @@ possible fixes that can be specified by the fix command in an input
|
||||
script, e.g. fix nve, fix shake, fix ave/time, etc. The corresponding
|
||||
classes are Fix (for the parent class), FixNVE, FixShake, FixAveTime,
|
||||
etc. The source files for these classes are easy to identify in the
|
||||
src directory, since they begin with the word "fix", e,g,
|
||||
src directory, since they begin with the word ``fix'', e,g,
|
||||
fix\_nve.cpp, fix\_shake,cpp, fix\_ave\_time.cpp, etc.
|
||||
|
||||
The one exception is child class files for the "command" style. These
|
||||
The one exception is child class files for the ``command'' style. These
|
||||
implement specific commands in the input script that can be invoked
|
||||
before/after/between runs or which launch a simulation. Examples are
|
||||
the create\_box, minimize, run, and velocity commands which encode the
|
||||
CreateBox, Minimize, Run, and Velocity classes. The corresponding
|
||||
files are create\_box,cpp, minimize.cpp, run.cpp, and velocity.cpp.
|
||||
The list of command style files can be found by typing "grep
|
||||
COMMAND\_CLASS *.h" from within the src directory, since that word in
|
||||
The list of command style files can be found by typing ``grep
|
||||
COMMAND\_CLASS *.h'' from within the src directory, since that word in
|
||||
the header file identifies the class as an input script command.
|
||||
Similar words can be grepped to list files for the other LAMMPS
|
||||
styles. E.g. ATOM\_CLASS, PAIR\_CLASS, BOND\_CLASS, REGION\_CLASS,
|
||||
@ -471,13 +471,13 @@ FixStyle(your/fix/name,FixMine)
|
||||
\end{verbatim}
|
||||
\end{center}
|
||||
|
||||
Where "your/fix/name" is a name of your fix in the script and FixMine
|
||||
Where ``your/fix/name'' is a name of your fix in the script and FixMine
|
||||
is the name of the class. This code allows LAMMPS to find your fix
|
||||
when it parses input script. In addition, your fix header must be
|
||||
included in the file "style\_fix.h". In case if you use LAMMPS make,
|
||||
included in the file ``style\_fix.h''. In case if you use LAMMPS make,
|
||||
this file is generated automatically - all files starting with prefix
|
||||
fix\_ are included, so call your header the same way. Otherwise, don't
|
||||
forget to add your include into "style\_fix.h".
|
||||
forget to add your include into ``style\_fix.h''.
|
||||
|
||||
Let's write a simple fix which will print average velocity at the end
|
||||
of each timestep. First of all, implement a constructor:
|
||||
@ -567,11 +567,11 @@ void FixPrintVel::end_of_step()
|
||||
\end{center}
|
||||
|
||||
In the code above, we use MathExtra routines defined in
|
||||
"math\_extra.h". There are bunch of math functions to work with
|
||||
``math\_extra.h''. There are bunch of math functions to work with
|
||||
arrays of doubles as with math vectors.
|
||||
|
||||
In this code we use an instance of Atom class. This object is stored
|
||||
in the Pointers class (see "pointers.h"). This object contains all
|
||||
in the Pointers class (see ``pointers.h''). This object contains all
|
||||
global information about the simulation system. Data from Pointers
|
||||
class available to all classes inherited from it using protected
|
||||
inheritance. Hence when you write you own class, which is going to use
|
||||
@ -689,7 +689,7 @@ int FixSavePos::unpack_exchange(int nlocal, double *buf)
|
||||
|
||||
Now, a little bit about memory allocation. We used Memory class which
|
||||
is just a bunch of template functions for allocating 1D and 2D
|
||||
arrays. So you need to add include "memory.h" to have access to them.
|
||||
arrays. So you need to add include ``memory.h'' to have access to them.
|
||||
|
||||
Finally, if you need to write/read some global information used in
|
||||
your fix to the restart file, you might do it by setting flag
|
||||
|
||||
BIN
doc/src/Eqs/pair_atm.jpg
Normal file
BIN
doc/src/Eqs/pair_atm.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
9
doc/src/Eqs/pair_atm.tex
Normal file
9
doc/src/Eqs/pair_atm.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{equation}
|
||||
E=\nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3}
|
||||
\end{equation}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/ptm_rmsd.jpg
Normal file
BIN
doc/src/Eqs/ptm_rmsd.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
21
doc/src/Eqs/ptm_rmsd.tex
Normal file
21
doc/src/Eqs/ptm_rmsd.tex
Normal file
@ -0,0 +1,21 @@
|
||||
\documentclass[12pt,article]{article}
|
||||
|
||||
\usepackage{indentfirst}
|
||||
\usepackage{amsmath}
|
||||
|
||||
\newcommand{\set}[1]{\ensuremath{\mathbf{#1}}}
|
||||
\newcommand{\mean}[1]{\ensuremath{\overline{#1}}}
|
||||
\newcommand{\norm}[1]{\ensuremath{\left|\left|{#1}\right|\right|}}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{equation*}
|
||||
\text{RMSD}(\set{u}, \set{v}) = \min_{s, \set{Q}} \sqrt{\frac{1}{N} \sum\limits_{i=1}^{N}
|
||||
\norm{
|
||||
s[\vec{u_i} - \mean{\set{u}}]
|
||||
-
|
||||
\set{Q} \vec{v_i}
|
||||
}^2}
|
||||
\end{equation*}
|
||||
|
||||
\end{document}
|
||||
@ -743,7 +743,7 @@ Self-explanatory. :dd
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and recompile)} :dt
|
||||
{Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and re-compile)} :dt
|
||||
|
||||
Single precision cannot be used with MSM. :dd
|
||||
|
||||
@ -1092,11 +1092,6 @@ correct. :dd
|
||||
The specified file cannot be opened. Check that the path and name are
|
||||
correct. :dd
|
||||
|
||||
{Cannot open fix ave/spatial file %s} :dt
|
||||
|
||||
The specified file cannot be opened. Check that the path and name are
|
||||
correct. :dd
|
||||
|
||||
{Cannot open fix ave/time file %s} :dt
|
||||
|
||||
The specified file cannot be opened. Check that the path and name are
|
||||
@ -1677,10 +1672,6 @@ provided by an atom map. An atom map does not exist (by default) for
|
||||
non-molecular problems. Using the atom_modify map command will force
|
||||
an atom map to be created. :dd
|
||||
|
||||
{Cannot use fix ave/spatial z for 2 dimensional model} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Cannot use fix bond/break with non-molecular systems} :dt
|
||||
|
||||
Only systems with bonds that can be changed can be used. Atom_style
|
||||
@ -2425,10 +2416,6 @@ Self-explanatory. :dd
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute ID for fix ave/spatial does not exist} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute ID for fix ave/time does not exist} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
@ -4074,10 +4061,6 @@ Self-explanatory. :dd
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Fix ID for fix ave/spatial does not exist} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Fix ID for fix ave/time does not exist} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
@ -4379,51 +4362,6 @@ same style. :dd
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Fix ave/spatial compute does not calculate a per-atom array} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Fix ave/spatial compute does not calculate a per-atom vector} :dt
|
||||
|
||||
A compute used by fix ave/spatial must generate per-atom values. :dd
|
||||
|
||||
{Fix ave/spatial compute does not calculate per-atom values} :dt
|
||||
|
||||
A compute used by fix ave/spatial must generate per-atom values. :dd
|
||||
|
||||
{Fix ave/spatial compute vector is accessed out-of-range} :dt
|
||||
|
||||
The index for the vector is out of bounds. :dd
|
||||
|
||||
{Fix ave/spatial fix does not calculate a per-atom array} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Fix ave/spatial fix does not calculate a per-atom vector} :dt
|
||||
|
||||
A fix used by fix ave/spatial must generate per-atom values. :dd
|
||||
|
||||
{Fix ave/spatial fix does not calculate per-atom values} :dt
|
||||
|
||||
A fix used by fix ave/spatial must generate per-atom values. :dd
|
||||
|
||||
{Fix ave/spatial fix vector is accessed out-of-range} :dt
|
||||
|
||||
The index for the vector is out of bounds. :dd
|
||||
|
||||
{Fix ave/spatial for triclinic boxes requires units reduced} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Fix ave/spatial settings invalid with changing box size} :dt
|
||||
|
||||
If the box size changes, only the units reduced option can be
|
||||
used. :dd
|
||||
|
||||
{Fix ave/spatial variable is not atom-style variable} :dt
|
||||
|
||||
A variable used by fix ave/spatial must generate per-atom values. :dd
|
||||
|
||||
{Fix ave/time cannot set output array intensive/extensive from these inputs} :dt
|
||||
|
||||
One of more of the vector inputs has individual elements which are
|
||||
@ -5078,7 +5016,7 @@ Self-explanatory. :dd
|
||||
|
||||
Occurs when number of neighbor atoms for an atom increased too much
|
||||
during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and
|
||||
recompile. :dd
|
||||
re-compile. :dd
|
||||
|
||||
{Fix qeq/point requires atom attribute q} :dt
|
||||
|
||||
@ -5092,7 +5030,7 @@ Self-explanatory. :dd
|
||||
|
||||
Occurs when number of neighbor atoms for an atom increased too much
|
||||
during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and
|
||||
recompile. :dd
|
||||
re-compile. :dd
|
||||
|
||||
{Fix qeq/shielded requires atom attribute q} :dt
|
||||
|
||||
@ -5110,7 +5048,7 @@ Self-explanatory. :dd
|
||||
|
||||
Occurs when number of neighbor atoms for an atom increased too much
|
||||
during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and
|
||||
recompile. :dd
|
||||
re-compile. :dd
|
||||
|
||||
{Fix qeq/slater requires atom attribute q} :dt
|
||||
|
||||
@ -5541,7 +5479,7 @@ See the package gpu command. :dd
|
||||
|
||||
{GPUs are requested but Kokkos has not been compiled for CUDA} :dt
|
||||
|
||||
Recompile Kokkos with CUDA support to use GPUs. :dd
|
||||
Re-compile Kokkos with CUDA support to use GPUs. :dd
|
||||
|
||||
{Ghost velocity forward comm not yet implemented with Kokkos} :dt
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ This is an alphabetic list of the WARNING messages LAMMPS prints out
|
||||
and the reason why. If the explanation here is not sufficient, the
|
||||
documentation for the offending command may help. Warning messages
|
||||
also list the source file and line number where the warning was
|
||||
generated. For example, a message lile this:
|
||||
generated. For example, a message like this:
|
||||
|
||||
WARNING: Bond atom missing in box size check (domain.cpp:187) :pre
|
||||
|
||||
@ -291,24 +291,6 @@ This may cause accuracy problems. :dd
|
||||
|
||||
This may cause accuracy problems. :dd
|
||||
|
||||
{Fix thermal/conductivity comes before fix ave/spatial} :dt
|
||||
|
||||
The order of these 2 fixes in your input script is such that fix
|
||||
thermal/conductivity comes first. If you are using fix ave/spatial to
|
||||
measure the temperature profile induced by fix viscosity, then this
|
||||
may cause a glitch in the profile since you are averaging immediately
|
||||
after swaps have occurred. Flipping the order of the 2 fixes
|
||||
typically helps. :dd
|
||||
|
||||
{Fix viscosity comes before fix ave/spatial} :dt
|
||||
|
||||
The order of these 2 fixes in your input script is such that
|
||||
fix viscosity comes first. If you are using fix ave/spatial
|
||||
to measure the velocity profile induced by fix viscosity, then
|
||||
this may cause a glitch in the profile since you are averaging
|
||||
immediately after swaps have occurred. Flipping the order
|
||||
of the 2 fixes typically helps. :dd
|
||||
|
||||
{Fixes cannot send data in Kokkos communication, switching to classic communication} :dt
|
||||
|
||||
This is current restriction with Kokkos. :dd
|
||||
|
||||
@ -54,6 +54,7 @@ General howto :h3
|
||||
Howto_replica
|
||||
Howto_library
|
||||
Howto_couple
|
||||
Howto_client_server
|
||||
|
||||
END_RST -->
|
||||
|
||||
@ -64,7 +65,8 @@ END_RST -->
|
||||
"Run multiple simulations from one input script"_Howto_multiple.html
|
||||
"Multi-replica simulations"_Howto_replica.html
|
||||
"Library interface to LAMMPS"_Howto_library.html
|
||||
"Couple LAMMPS to other codes"_Howto_couple.html :all(b)
|
||||
"Couple LAMMPS to other codes"_Howto_couple.html
|
||||
"Using LAMMPS in client/server mode"_Howto_client_server.html :all(b)
|
||||
|
||||
<!-- END_HTML_ONLY -->
|
||||
|
||||
|
||||
@ -64,11 +64,11 @@ Thermodynamic output, which can be setup via the
|
||||
"thermo_style"_thermo_style.html command, often includes pressure
|
||||
values. As explained on the doc page for the
|
||||
"thermo_style"_thermo_style.html command, the default pressure is
|
||||
setup by the thermo command itself. It is NOT the presure associated
|
||||
setup by the thermo command itself. It is NOT the pressure associated
|
||||
with any barostatting fix you have defined or with any compute you
|
||||
have defined that calculates a presure. The doc pages for the
|
||||
have defined that calculates a pressure. The doc pages for the
|
||||
barostatting fixes explain the ID of the pressure compute they create.
|
||||
Thus if you want to view these pressurse, you need to specify them
|
||||
Thus if you want to view these pressures, you need to specify them
|
||||
explicitly via the "thermo_style custom"_thermo_style.html command.
|
||||
Or you can use the "thermo_modify"_thermo_modify.html command to
|
||||
re-define what pressure compute is used for default thermodynamic
|
||||
|
||||
@ -337,7 +337,7 @@ 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
|
||||
"read_data"_read_data.html command for more details. Because the
|
||||
maxmimum vertices per face is hard-coded to be 4
|
||||
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.
|
||||
|
||||
@ -22,7 +22,7 @@ commands, to calculate various properties of a system:
|
||||
"fix ave/chunk"_fix_ave_chunk.html
|
||||
any of the "compute */chunk"_compute.html commands :ul
|
||||
|
||||
Here, each of the 3 kinds of chunk-related commands is briefly
|
||||
Here, each of the 4 kinds of chunk-related commands is briefly
|
||||
overviewed. Then some examples are given of how to compute different
|
||||
properties with chunk commands.
|
||||
|
||||
@ -83,8 +83,9 @@ chunk.
|
||||
|
||||
Compute */chunk commands: :h4
|
||||
|
||||
Currently the following computes operate on chunks of atoms to produce
|
||||
per-chunk values.
|
||||
The following computes operate on chunks of atoms to produce per-chunk
|
||||
values. Any compute whose style name ends in "/chunk" is in this
|
||||
category:
|
||||
|
||||
"compute com/chunk"_compute_com_chunk.html
|
||||
"compute gyration/chunk"_compute_gyration_chunk.html
|
||||
@ -111,8 +112,8 @@ of a center of mass, which requires summing mass*position over the
|
||||
atoms and then dividing by summed mass.
|
||||
|
||||
All of these computes produce a global vector or global array as
|
||||
output, wih one or more values per chunk. They can be used
|
||||
in various ways:
|
||||
output, wih one or more values per chunk. The output can be used in
|
||||
various ways:
|
||||
|
||||
As input to the "fix ave/time"_fix_ave_time.html command, which can
|
||||
write the values to a file and optionally time average them. :ulb,l
|
||||
@ -122,9 +123,27 @@ histogram values across chunks. E.g. a histogram of cluster sizes or
|
||||
molecule diffusion rates. :l
|
||||
|
||||
As input to special functions of "equal-style
|
||||
variables"_variable.html, like sum() and max(). E.g. to find the
|
||||
largest cluster or fastest diffusing molecule. :l
|
||||
:ule
|
||||
variables"_variable.html, like sum() and max() and ave(). E.g. to
|
||||
find the largest cluster or fastest diffusing molecule or average
|
||||
radius-of-gyration of a set of molecules (chunks). :l,ule
|
||||
|
||||
Other chunk commands: :h4
|
||||
|
||||
"compute chunk/spread/atom"_compute_chunk_spread_atom.html
|
||||
"compute reduce/chunk"_compute_reduce_chunk.html :ul
|
||||
|
||||
The "compute chunk/spread/atom"_compute_chunk_spread_atom.html command
|
||||
spreads per-chunk values to each atom in the chunk, producing per-atom
|
||||
values as its output. This can be useful for outputting per-chunk
|
||||
values to a per-atom "dump file"_dump.html. Or for using an atom's
|
||||
associated chunk value in an "atom-style variable"_variable.html.
|
||||
|
||||
The "compute reduce/chunk"_compute_reduce_chunk.html command reduces a
|
||||
peratom value across the atoms in each chunk to produce a value per
|
||||
chunk. When used with the "compute
|
||||
chunk/spread/atom"_compute_chunk_spread_atom.html command it can
|
||||
create peratom values that induce a new set of chunks with a second
|
||||
"compute chunk/atom"_compute_chunk_atom.html command.
|
||||
|
||||
Example calculations with chunks :h4
|
||||
|
||||
@ -164,3 +183,13 @@ compute cluster all cluster/atom 1.0
|
||||
compute cc1 all chunk/atom c_cluster compress yes
|
||||
compute size all property/chunk cc1 count
|
||||
fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre
|
||||
|
||||
(6) An example of using a per-chunk value to apply per-atom forces to
|
||||
compress individual polymer chains (molecules) in a mixture, is
|
||||
explained on the "compute
|
||||
chunk/spread/atom"_compute_chunk_spread_atom.html command doc page.
|
||||
|
||||
(7) An example of using one set of per-chunk values for molecule
|
||||
chunks, to create a 2nd set of micelle-scale chunks (clustered
|
||||
molecules, due to hydrophobicity), is explained on the "compute
|
||||
chunk/reduce"_compute_reduce_chunk.html command doc page.
|
||||
|
||||
131
doc/src/Howto_client_server.txt
Normal file
131
doc/src/Howto_client_server.txt
Normal file
@ -0,0 +1,131 @@
|
||||
"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Commands_all.html)
|
||||
|
||||
:line
|
||||
|
||||
Using LAMMPS in client/server mode :h3
|
||||
|
||||
Client/server coupling of two codes is where one code is the "client"
|
||||
and sends request messages to a "server" code. The server responds to
|
||||
each request with a reply message. This enables the two codes to work
|
||||
in tandem to perform a simulation. LAMMPS can act as either a client
|
||||
or server code.
|
||||
|
||||
Some advantages of client/server coupling are that the two codes run
|
||||
as stand-alone executables; they are not linked together. Thus
|
||||
neither code needs to have a library interface. This often makes it
|
||||
easier to run the two codes on different numbers of processors. If a
|
||||
message protocol (format and content) is defined for a particular kind
|
||||
of simulation, then in principle any code that implements the
|
||||
client-side protocol can be used in tandem with any code that
|
||||
implements the server-side protocol, without the two codes needing to
|
||||
know anything more specific about each other.
|
||||
|
||||
A simple example of client/server coupling is where LAMMPS is the
|
||||
client code performing MD timestepping. Each timestep it sends a
|
||||
message to a server quantum code containing current coords of all the
|
||||
atoms. The quantum code computes energy and forces based on the
|
||||
coords. It returns them as a message to LAMMPS, which completes the
|
||||
timestep.
|
||||
|
||||
Alternate methods for code coupling with LAMMPS are described on
|
||||
the "Howto couple"_Howto_couple.html doc page.
|
||||
|
||||
LAMMPS support for client/server coupling is in its "MESSAGE
|
||||
package"_Packages_details.html#PKG-MESSAGE which implements several
|
||||
commands that enable LAMMPS to act as a client or server, as discussed
|
||||
below. The MESSAGE package also wraps a client/server library called
|
||||
CSlib which enables two codes to exchange messages in different ways,
|
||||
either via files, sockets, or MPI. The CSlib is provided with LAMMPS
|
||||
in the lib/message dir. The CSlib has its own
|
||||
"website"_http://cslib.sandia.gov with documentation and test
|
||||
programs.
|
||||
|
||||
NOTE: For client/server coupling to work between LAMMPS and another
|
||||
code, the other code also has to use the CSlib. This can sometimes be
|
||||
done without any modifications to the other code by simply wrapping it
|
||||
with a Python script that exchanges CSlib messages with LAMMPS and
|
||||
prepares input for or processes output from the other code. The other
|
||||
code also has to implement a matching protocol for the format and
|
||||
content of messages that LAMMPS exchanges with it.
|
||||
|
||||
These are the commands currently in the MESSAGE package for two
|
||||
protocols, MD and MC (Monte Carlo). New protocols can easily be
|
||||
defined and added to this directory, where LAMMPS acts as either the
|
||||
client or server.
|
||||
|
||||
"message"_message.html
|
||||
"fix client md"_fix_client_md.html = LAMMPS is a client for running MD
|
||||
"server md"_server_md.html = LAMMPS is a server for computing MD forces
|
||||
"server mc"_server_mc.html = LAMMPS is a server for computing a Monte Carlo energy :ul
|
||||
|
||||
The server doc files give details of the message protocols
|
||||
for data that is exchanged bewteen the client and server.
|
||||
|
||||
These example directories illustrate how to use LAMMPS as either a
|
||||
client or server code:
|
||||
|
||||
examples/message
|
||||
examples/COUPLE/README
|
||||
examples/COUPLE/lammps_mc
|
||||
examples/COUPLE/lammps_vasp :ul
|
||||
|
||||
The examples/message dir couples a client instance of LAMMPS to a
|
||||
server instance of LAMMPS.
|
||||
|
||||
The lammps_mc dir shows how to couple LAMMPS as a server to a simple
|
||||
Monte Carlo client code as the driver.
|
||||
|
||||
The lammps_vasp dir shows how to couple LAMMPS as a client code
|
||||
running MD timestepping to VASP acting as a server providing quantum
|
||||
DFT forces, thru a Python wrapper script on VASP.
|
||||
|
||||
Here is how to launch a client and server code together for any of the
|
||||
4 modes of message exchange that the "message"_message.html command
|
||||
and the CSlib support. Here LAMMPS is used as both the client and
|
||||
server code. Another code could be subsitituted for either.
|
||||
|
||||
The examples below show launching both codes from the same window (or
|
||||
batch script), using the "&" character to launch the first code in the
|
||||
background. For all modes except {mpi/one}, you could also launch the
|
||||
codes in separate windows on your desktop machine. It does not
|
||||
matter whether you launch the client or server first.
|
||||
|
||||
In these examples either code can be run on one or more processors.
|
||||
If running in a non-MPI mode (file or zmq) you can launch a code on a
|
||||
single processor without using mpirun.
|
||||
|
||||
IMPORTANT: If you run in mpi/two mode, you must launch both codes via
|
||||
mpirun, even if one or both of them runs on a single processor. This
|
||||
is so that MPI can figure out how to connect both MPI processes
|
||||
together to exchange MPI messages between them.
|
||||
|
||||
For message exchange in {file}, {zmq}, or {mpi/two} modes:
|
||||
|
||||
% mpirun -np 1 lmp_mpi -log log.client < in.client &
|
||||
% mpirun -np 2 lmp_mpi -log log.server < in.server :pre
|
||||
|
||||
% mpirun -np 4 lmp_mpi -log log.client < in.client &
|
||||
% mpirun -np 1 lmp_mpi -log log.server < in.server :pre
|
||||
|
||||
% mpirun -np 2 lmp_mpi -log log.client < in.client &
|
||||
% mpirun -np 4 lmp_mpi -log log.server < in.server :pre
|
||||
|
||||
For message exchange in {mpi/one} mode:
|
||||
|
||||
Launch both codes in a single mpirun command:
|
||||
|
||||
mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -log log.server :pre
|
||||
|
||||
The two -np values determine how many procs the client and the server
|
||||
run on.
|
||||
|
||||
A LAMMPS executable run in this manner must use the -mpicolor color
|
||||
command-line option as their its option, where color is an integer
|
||||
label that will be used to distinguish one executable from another in
|
||||
the multiple executables that the mpirun command launches. In this
|
||||
example the client was colored with a 0, and the server with a 1.
|
||||
@ -16,10 +16,12 @@ atoms and pass those forces to LAMMPS. Or a continuum finite element
|
||||
nodal points, compute a FE solution, and return interpolated forces on
|
||||
MD atoms.
|
||||
|
||||
LAMMPS can be coupled to other codes in at least 3 ways. Each has
|
||||
LAMMPS can be coupled to other codes in at least 4 ways. Each has
|
||||
advantages and disadvantages, which you'll have to think about in the
|
||||
context of your application.
|
||||
|
||||
:line
|
||||
|
||||
(1) Define a new "fix"_fix.html command that calls the other code. In
|
||||
this scenario, LAMMPS is the driver code. During its timestepping,
|
||||
the fix is invoked, and can make library calls to the other code,
|
||||
@ -32,6 +34,8 @@ LAMMPS.
|
||||
|
||||
:link(poems,http://www.rpi.edu/~anderk5/lab)
|
||||
|
||||
:line
|
||||
|
||||
(2) Define a new LAMMPS command that calls the other code. This is
|
||||
conceptually similar to method (1), but in this case LAMMPS and the
|
||||
other code are on a more equal footing. Note that now the other code
|
||||
@ -52,6 +56,8 @@ command writes and reads.
|
||||
See the "Modify command"_Modify_command.html doc page for info on how
|
||||
to add a new command to LAMMPS.
|
||||
|
||||
:line
|
||||
|
||||
(3) Use LAMMPS as a library called by another code. In this case the
|
||||
other code is the driver and calls LAMMPS as needed. Or a wrapper
|
||||
code could link and call both LAMMPS and another code as libraries.
|
||||
@ -102,3 +108,9 @@ on all the processors. Or it might allocate half the processors to
|
||||
LAMMPS and half to the other code and run both codes simultaneously
|
||||
before syncing them up periodically. Or it might instantiate multiple
|
||||
instances of LAMMPS to perform different calculations.
|
||||
|
||||
:line
|
||||
|
||||
(4) Couple LAMMPS with another code in a client/server mode. This is
|
||||
described on the "Howto client/server"_Howto_client_server.html doc
|
||||
page.
|
||||
|
||||
@ -171,16 +171,16 @@ void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
|
||||
|
||||
The gather functions collect peratom info of the requested type (atom
|
||||
coords, atom types, forces, etc) from all processors, and returns the
|
||||
same vector of values to each callling processor. The scatter
|
||||
same vector of values to each calling processor. The scatter
|
||||
functions do the inverse. They distribute a vector of peratom values,
|
||||
passed by all calling processors, to invididual atoms, which may be
|
||||
owned by different processos.
|
||||
passed by all calling processors, to individual atoms, which may be
|
||||
owned by different processors.
|
||||
|
||||
The lammps_gather_atoms() function does this for all N atoms in the
|
||||
system, ordered by atom ID, from 1 to N. The
|
||||
lammps_gather_atoms_concat() function does it for all N atoms, but
|
||||
simply concatenates the subset of atoms owned by each processor. The
|
||||
resulting vector is not ordered by atom ID. Atom IDs can be requetsed
|
||||
resulting vector is not ordered by atom ID. Atom IDs can be requested
|
||||
by the same function if the caller needs to know the ordering. The
|
||||
lammps_gather_subset() function allows the caller to request values
|
||||
for only a subset of atoms (identified by ID).
|
||||
|
||||
@ -24,6 +24,11 @@ by subtracting out the streaming velocity of the shearing atoms. The
|
||||
velocity profile or other properties of the fluid can be monitored via
|
||||
the "fix ave/chunk"_fix_ave_chunk.html command.
|
||||
|
||||
NOTE: A recent (2017) book by "(Daivis and Todd)"_#Daivis-nemd
|
||||
discusses use of the SLLOD method and non-equilibrium MD (NEMD)
|
||||
thermostatting generally, for both simple and complex fluids,
|
||||
e.g. molecular systems. The latter can be tricky to do correctly.
|
||||
|
||||
As discussed in the previous section on non-orthogonal simulation
|
||||
boxes, the amount of tilt or skew that can be applied is limited by
|
||||
LAMMPS for computational efficiency to be 1/2 of the parallel box
|
||||
@ -46,3 +51,9 @@ An alternative method for calculating viscosities is provided via the
|
||||
NEMD simulations can also be used to measure transport properties of a fluid
|
||||
through a pore or channel. Simulations of steady-state flow can be performed
|
||||
using the "fix flow/gauss"_fix_flow_gauss.html command.
|
||||
|
||||
:line
|
||||
|
||||
:link(Daivis-nemd)
|
||||
[(Daivis and Todd)] Daivis and Todd, Nonequilibrium Molecular Dyanmics (book),
|
||||
Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017).
|
||||
|
||||
@ -73,7 +73,7 @@ that package into your current Python installation.
|
||||
cd $LAMMPS_DIR/python
|
||||
python install.py :pre
|
||||
|
||||
NOTE: Recompiling the shared library requires reinstalling the Python package
|
||||
NOTE: Recompiling the shared library requires re-installing the Python package
|
||||
|
||||
|
||||
Installation inside of a virtualenv :h5
|
||||
|
||||
@ -159,7 +159,7 @@ ellipsoidal particles:
|
||||
|
||||
The advantage of these fixes is that those which thermostat the
|
||||
particles include the rotational degrees of freedom in the temperature
|
||||
calculation and thermostatting. The "fix langevin"_fix_langevin
|
||||
calculation and thermostatting. The "fix langevin"_fix_langevin.html
|
||||
command can also be used with its {omgea} or {angmom} options to
|
||||
thermostat the rotational degrees of freedom for spherical or
|
||||
ellipsoidal particles. Other thermostatting fixes only operate on the
|
||||
|
||||
@ -9,10 +9,10 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
Magnetic spins :h3
|
||||
|
||||
The magnetic spin simualtions are enabled by the SPIN package, whose
|
||||
The magnetic spin simulations are enabled by the SPIN package, whose
|
||||
implementation is detailed in "Tranchida"_#Tranchida7.
|
||||
|
||||
The model representents the simulation of atomic magnetic spins coupled
|
||||
The model represents the simulation of atomic magnetic spins coupled
|
||||
to lattice vibrations. The dynamics of those magnetic spins can be used
|
||||
to simulate a broad range a phenomena related to magneto-elasticity, or
|
||||
or to study the influence of defects on the magnetic properties of
|
||||
@ -43,7 +43,7 @@ langevin/spin"_fix_langevin_spin.html. It allows to either dissipate
|
||||
the thermal energy of the Langevin thermostat, or to perform a
|
||||
relaxation of the magnetic configuration toward an equilibrium state.
|
||||
|
||||
All the computed magnetic properties can be outputed by two main
|
||||
All the computed magnetic properties can be output by two main
|
||||
commands. The first one is "compute spin"_compute_spin.html, that
|
||||
enables to evaluate magnetic averaged quantities, such as the total
|
||||
magnetization of the system along x, y, or z, the spin temperature, or
|
||||
|
||||
@ -43,6 +43,11 @@ nvt/asphere"_fix_nvt_asphere.html thermostat not only translation
|
||||
velocities but also rotational velocities for spherical and aspherical
|
||||
particles.
|
||||
|
||||
NOTE: A recent (2017) book by "(Daivis and Todd)"_#Daivis-thermostat
|
||||
discusses use of the SLLOD method and non-equilibrium MD (NEMD)
|
||||
thermostatting generally, for both simple and complex fluids,
|
||||
e.g. molecular systems. The latter can be tricky to do correctly.
|
||||
|
||||
DPD thermostatting alters pairwise interactions in a manner analogous
|
||||
to the per-particle thermostatting of "fix
|
||||
langevin"_fix_langevin.html.
|
||||
@ -87,3 +92,9 @@ specify them explicitly via the "thermo_style
|
||||
custom"_thermo_style.html command. Or you can use the
|
||||
"thermo_modify"_thermo_modify.html command to re-define what
|
||||
temperature compute is used for default thermodynamic output.
|
||||
|
||||
:line
|
||||
|
||||
:link(Daivis-thermostat)
|
||||
[(Daivis and Todd)] Daivis and Todd, Nonequilibrium Molecular Dyanmics (book),
|
||||
Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017).
|
||||
|
||||
@ -37,6 +37,11 @@ used to shear the fluid in between them, again with some kind of
|
||||
thermostat that modifies only the thermal (non-shearing) components of
|
||||
velocity to prevent the fluid from heating up.
|
||||
|
||||
NOTE: A recent (2017) book by "(Daivis and Todd)"_#Daivis-viscosity
|
||||
discusses use of the SLLOD method and non-equilibrium MD (NEMD)
|
||||
thermostatting generally, for both simple and complex fluids,
|
||||
e.g. molecular systems. The latter can be tricky to do correctly.
|
||||
|
||||
In both cases, the velocity profile setup in the fluid by this
|
||||
procedure can be monitored by the "fix ave/chunk"_fix_ave_chunk.html
|
||||
command, which determines grad(Vstream) in the equation above.
|
||||
@ -131,3 +136,9 @@ mean-square-displacement formulation for self-diffusivity. The
|
||||
time-integrated momentum fluxes play the role of Cartesian
|
||||
coordinates, whose mean-square displacement increases linearly
|
||||
with time at sufficiently long times.
|
||||
|
||||
:line
|
||||
|
||||
:link(Daivis-viscosity)
|
||||
[(Daivis and Todd)] Daivis and Todd, Nonequilibrium Molecular Dyanmics (book),
|
||||
Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017).
|
||||
|
||||
@ -9,39 +9,16 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
Download an executable for Linux :h3
|
||||
|
||||
Binaries are available for many different versions of Linux:
|
||||
Binaries are available for different versions of Linux:
|
||||
|
||||
"Pre-built binary RPMs for Fedora/RedHat/CentOS/openSUSE"_#rpm
|
||||
"Pre-built Ubuntu Linux executables"_#ubuntu
|
||||
"Pre-built Fedora Linux executables"_#fedora
|
||||
"Pre-built EPEL Linux executables (RHEL, CentOS)"_#epel
|
||||
"Pre-built OpenSuse Linux executables"_#opensuse
|
||||
"Pre-built Gentoo Linux executable"_#gentoo :all(b)
|
||||
|
||||
:line
|
||||
|
||||
Pre-built binary RPMs for Fedora/RedHat/CentOS/openSUSE :h4,link(rpm)
|
||||
|
||||
Pre-built LAMMPS executables for various Linux distributions
|
||||
can be downloaded as binary RPM files from this site:
|
||||
|
||||
"http://rpm.lammps.org"_http://rpm.lammps.org
|
||||
|
||||
There are multiple package variants supporting serial, parallel and
|
||||
Python wrapper versions. The LAMMPS binaries contain all optional
|
||||
packages included in the source distribution except: GPU, KIM, REAX,
|
||||
and USER-INTEL.
|
||||
|
||||
Installation instructions for the various versions are here:
|
||||
|
||||
"http://rpm.lammps.org/install.html"_http://rpm.lammps.org/install.html
|
||||
|
||||
The instructions show how to enable the repository in the respective
|
||||
system's package management system. Installing and updating are then
|
||||
straightforward and automatic.
|
||||
|
||||
Thanks to Axel Kohlmeyer (Temple U, akohlmey at gmail.com) for setting
|
||||
up this RPM capability.
|
||||
|
||||
:line
|
||||
|
||||
Pre-built Ubuntu Linux executables :h4,link(ubuntu)
|
||||
|
||||
A pre-built LAMMPS executable suitable for running on the latest
|
||||
@ -60,10 +37,10 @@ To install LAMMPS do the following once:
|
||||
|
||||
sudo apt-get install lammps-daily :pre
|
||||
|
||||
This downloads an executable named "lammps-daily" to your box, which
|
||||
This downloads an executable named "lmp_daily" to your box, which
|
||||
can then be used in the usual way to run input scripts:
|
||||
|
||||
lammps-daily < in.lj :pre
|
||||
lmp_daily -in in.lj :pre
|
||||
|
||||
To update LAMMPS to the most current version, do the following:
|
||||
|
||||
@ -99,6 +76,80 @@ Ubuntu package capability.
|
||||
|
||||
:line
|
||||
|
||||
Pre-built Fedora Linux executables :h4,link(fedora)
|
||||
|
||||
Pre-built LAMMPS packages for stable releases are available
|
||||
in the Fedora Linux distribution as of version 28. The packages
|
||||
can be installed via the dnf package manager. There are 3 basic
|
||||
varieties (lammps = no MPI, lammps-mpich = MPICH MPI library,
|
||||
lammps-openmpi = OpenMPI MPI library) and for each support for
|
||||
linking to the C library interface (lammps-devel, lammps-mpich-devel,
|
||||
lammps-openmpi-devel), the header for compiling programs using
|
||||
the C library interface (lammps-headers), and the LAMMPS python
|
||||
module for Python 3. All packages can be installed at the same
|
||||
time and the name of the LAMMPS executable is {lmp} in all 3 cases.
|
||||
By default, {lmp} will refer to the serial executable, unless
|
||||
one of the MPI environment modules is loaded
|
||||
("module load mpi/mpich-x86_64" or "module load mpi/openmpi-x86_64").
|
||||
Then the corresponding parallel LAMMPS executable is used.
|
||||
The same mechanism applies when loading the LAMMPS python module.
|
||||
|
||||
To install LAMMPS with OpenMPI and run an input in.lj with 2 CPUs do:
|
||||
|
||||
dnf install lammps-openmpi
|
||||
module load mpi/openmpi-x86_64
|
||||
mpirun -np 2 lmp -in in.lj :pre
|
||||
|
||||
The "dnf install" command is needed only once. In case of a new LAMMPS
|
||||
stable release, "dnf update" will automatically update to the newer
|
||||
version as soon at the RPM files are built and uploaded to the download
|
||||
mirrors. The "module load" command is needed once per (shell) session
|
||||
or shell terminal instance, unless it is automatically loaded from the
|
||||
shell profile.
|
||||
|
||||
Please use "lmp -help" to see which compilation options, packages,
|
||||
and styles are included in the binary.
|
||||
|
||||
Thanks to Christoph Junghans (LANL) for making LAMMPS available in Fedora.
|
||||
|
||||
:line
|
||||
|
||||
Pre-built EPEL Linux executable :h4,link(epel)
|
||||
|
||||
Pre-built LAMMPS packages for stable releases are available
|
||||
in the "Extra Packages for Enterprise Linux (EPEL) repository"_https://fedoraproject.org/wiki/EPEL
|
||||
for use with Red Hat Enterprise Linux (RHEL) or CentOS version 7.x
|
||||
and compatible Linux distributions. Names of packages, executable,
|
||||
and content are the same as described above for Fedora Linux.
|
||||
But RHEL/CentOS 7.x uses the "yum" package manager instead of "dnf"
|
||||
in Fedora 28.
|
||||
|
||||
Please use "lmp -help" to see which compilation options, packages,
|
||||
and styles are included in the binary.
|
||||
|
||||
Thanks to Christoph Junghans (LANL) for making LAMMPS available in EPEL.
|
||||
|
||||
:line
|
||||
|
||||
Pre-built OpenSuse Linux executable :h4,link(opensuse)
|
||||
|
||||
A pre-built LAMMPS package for stable releases is available
|
||||
in OpenSuse as of Leap 15.0. You can install the package with:
|
||||
|
||||
zypper install lammps :pre
|
||||
|
||||
This includes support for OpenMPI. The name of the LAMMPS executable
|
||||
is {lmp}. Thus to run an input in parallel on 2 CPUs you would do:
|
||||
|
||||
mpirun -np 2 lmp -in in.lj :pre
|
||||
|
||||
Please use "lmp -help" to see which compilation options, packages,
|
||||
and styles are included in the binary.
|
||||
|
||||
Thanks to Christoph Junghans (LANL) for making LAMMPS available in OpenSuse.
|
||||
|
||||
:line
|
||||
|
||||
Pre-built Gentoo Linux executable :h4,link(gentoo)
|
||||
|
||||
LAMMPS is part of Gentoo's main package tree and can be installed by
|
||||
|
||||
@ -49,7 +49,8 @@ Lennard-Jones benchmark file:
|
||||
% brew test lammps -v :pre
|
||||
|
||||
If you have problems with the installation you can post issues to
|
||||
"this link"_https://github.com/Homebrew/homebrew-science/issues.
|
||||
"this link"_homebrew.
|
||||
|
||||
Thanks to Derek Thomas (derekt at cello.t.u-tokyo.ac.jp) for setting
|
||||
up the Homebrew capability.
|
||||
:link(homebrew,https://github.com/Homebrew/homebrew-science/issues)
|
||||
|
||||
@ -17,10 +17,11 @@ how to stay current are on the "Install git"_Install_git.html and
|
||||
If you prefer to download a tarball, as described on the "Install
|
||||
git"_Install_tarball.html doc page, you can stay current by
|
||||
downloading "patch files" when new patch releases are made. A link to
|
||||
a patch file is posted on the "bug and feature page"_bug of the
|
||||
website, along with a list of changed files and details about what is
|
||||
in the new patch release. This page explains how to apply the patch
|
||||
file to your local LAMMPS directory.
|
||||
a patch file is posted on the "bug and feature
|
||||
page"_http://lammps.sandia.gov/bug.html of the LAMMPS website, along
|
||||
with a list of changed files and details about what is in the new patch
|
||||
release. This page explains how to apply the patch file to your local
|
||||
LAMMPS directory.
|
||||
|
||||
NOTE: You should not apply patch files to a local Git or SVN repo of
|
||||
LAMMPS, only to an unpacked tarball. Use Git and SVN commands to
|
||||
|
||||
@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:line
|
||||
|
||||
Download source as a tarball :h3
|
||||
Download source and documentation as a tarball :h3
|
||||
|
||||
You can download a current LAMMPS tarball from the "download page"_download
|
||||
of the "LAMMPS website"_lws.
|
||||
@ -22,6 +22,10 @@ few times per year, and undergo more testing before release. Patch
|
||||
releases occur a couple times per month. The new contents in all
|
||||
releases are listed on the "bug and feature page"_bug of the website.
|
||||
|
||||
Both tarballs include LAMMPS documentation (HTML and PDF files)
|
||||
corresponding to that version. The download page also has an option
|
||||
to download the current-version LAMMPS documentation by itself.
|
||||
|
||||
Older versions of LAMMPS can also be downloaded from "this
|
||||
page"_older.
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ variety of interatomic potentials (force fields) and boundary
|
||||
conditions. It can model 2d or 3d systems with only a few particles
|
||||
up to millions or billions.
|
||||
|
||||
LAMMPS can be built and run on a laptop or destop machine, but is
|
||||
LAMMPS can be built and run on a laptop or desktop machine, but is
|
||||
designed for parallel computers. It will run on any parallel machine
|
||||
that supports the "MPI"_mpi message-passing library. This includes
|
||||
shared-memory boxes and distributed-memory clusters and
|
||||
@ -45,7 +45,7 @@ nature; some long-range models are included as well.
|
||||
LAMMPS uses neighbor lists to keep track of nearby particles. The
|
||||
lists are optimized for systems with particles that are repulsive at
|
||||
short distances, so that the local density of particles never becomes
|
||||
too large. This is in contrast to methods used for modeling plasmas
|
||||
too large. This is in contrast to methods used for modeling plasma
|
||||
or gravitational bodies (e.g. galaxy formation).
|
||||
|
||||
On parallel machines, LAMMPS uses spatial-decomposition techniques to
|
||||
|
||||
BIN
doc/src/JPG/pair_atm_dia.jpg
Normal file
BIN
doc/src/JPG/pair_atm_dia.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="22 Aug 2018 version">
|
||||
<META NAME="docnumber" CONTENT="9 Nov 2018 version">
|
||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
@ -21,7 +21,7 @@
|
||||
:line
|
||||
|
||||
LAMMPS Documentation :c,h1
|
||||
22 Aug 2018 version :c,h2
|
||||
9 Nov 2018 version :c,h2
|
||||
|
||||
"What is a LAMMPS version?"_Manual_version.html
|
||||
|
||||
|
||||
@ -10,15 +10,16 @@ Section"_Manual.html :c
|
||||
|
||||
Building the LAMMPS manual :h2
|
||||
|
||||
Depending on how you obtained LAMMPS, the doc directory has
|
||||
2 or 3 sub-directories and optionally 2 PDF files and an ePUB file:
|
||||
Depending on how you obtained LAMMPS, the doc directory has 2 or 3
|
||||
sub-directories and optionally 2 PDF files and 2 e-book format files:
|
||||
|
||||
src # content files for LAMMPS documentation
|
||||
html # HTML version of the LAMMPS manual (see html/Manual.html)
|
||||
tools # tools and settings for building the documentation
|
||||
Manual.pdf # large PDF version of entire manual
|
||||
Developer.pdf # small PDF with info about how LAMMPS is structured
|
||||
LAMMPS.epub # Manual in ePUB format :pre
|
||||
LAMMPS.epub # Manual in ePUB e-book format
|
||||
LAMMPS.mobi # Manual in MOBI e-book format :pre
|
||||
|
||||
If you downloaded LAMMPS as a tarball from the web site, all these
|
||||
directories and files should be included.
|
||||
@ -40,7 +41,7 @@ HTML files already exist. This requires various tools including
|
||||
Sphinx, which the build process will attempt to download and install
|
||||
on your system, if not already available. See more details below.
|
||||
|
||||
(c) You can genererate an older, simpler, less-fancy style of HTML
|
||||
(c) You can generate an older, simpler, less-fancy style of HTML
|
||||
documentation by typing "make old". This will create an "old"
|
||||
directory. This can be useful if (b) does not work on your box for
|
||||
some reason, or you want to quickly view the HTML version of a doc
|
||||
@ -61,6 +62,7 @@ make old # generate old-style HTML pages in old dir via txt2html
|
||||
make fetch # fetch HTML doc pages and 2 PDF files from web site
|
||||
# as a tarball and unpack into html dir and 2 PDFs
|
||||
make epub # generate LAMMPS.epub in ePUB format using Sphinx
|
||||
make mobi # generate LAMMPS.mobi in MOBI format using ebook-convert
|
||||
make clean # remove intermediate RST files created by HTML build
|
||||
make clean-all # remove entire build folder and any cached data :pre
|
||||
|
||||
@ -68,7 +70,7 @@ make clean-all # remove entire build folder and any cached data :pre
|
||||
|
||||
Installing prerequisites for HTML build :h3
|
||||
|
||||
To run the HTML documention build toolchain, Python 3 and virtualenv
|
||||
To run the HTML documentation build toolchain, Python 3 and virtualenv
|
||||
have to be installed. Here are instructions for common setups:
|
||||
|
||||
Ubuntu :h4
|
||||
@ -115,10 +117,8 @@ ePUB :h4
|
||||
Same as for HTML. This uses the same tools and configuration
|
||||
files as the HTML tree.
|
||||
|
||||
For converting the generated ePUB file to a mobi format file
|
||||
For converting the generated ePUB file to a MOBI format file
|
||||
(for e-book readers like Kindle, that cannot read ePUB), you
|
||||
also need to have the 'ebook-convert' tool from the "calibre"
|
||||
software installed. "http://calibre-ebook.com/"_http://calibre-ebook.com/
|
||||
You first create the ePUB file with 'make epub' and then do:
|
||||
|
||||
ebook-convert LAMMPS.epub LAMMPS.mobi :pre
|
||||
You first create the ePUB file and then convert it with 'make mobi'
|
||||
|
||||
@ -10,7 +10,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
Overview :h3
|
||||
|
||||
The best way to add a new feature to LAMMPS is to find a similar
|
||||
featureand look at the corresponding source and header files to figure
|
||||
feature and look at the corresponding source and header files to figure
|
||||
out what it does. You will need some knowledge of C++ to be able to
|
||||
understand the hi-level structure of LAMMPS and its class
|
||||
organization, but functions (class methods) that do actual
|
||||
|
||||
Binary file not shown.
@ -46,6 +46,7 @@ as contained in the file name.
|
||||
"MANYBODY"_#PKG-MANYBODY,
|
||||
"MC"_#PKG-MC,
|
||||
"MEAM"_#PKG-MEAM,
|
||||
"MESSAGE"_#PKG-MESSAGE,
|
||||
"MISC"_#PKG-MISC,
|
||||
"MOLECULE"_#PKG-MOLECULE,
|
||||
"MPIIO"_#PKG-MPIIO,
|
||||
@ -88,10 +89,13 @@ as contained in the file name.
|
||||
"USER-NETCDF"_#PKG-USER-NETCDF,
|
||||
"USER-OMP"_#PKG-USER-OMP,
|
||||
"USER-PHONON"_#PKG-USER-PHONON,
|
||||
"USER-PTM"_#PKG-USER-PTM,
|
||||
"USER-QMMM"_#PKG-USER-QMMM,
|
||||
"USER-QTB"_#PKG-USER-QTB,
|
||||
"USER-QUIP"_#PKG-USER-QUIP,
|
||||
"USER-REAXC"_#PKG-USER-REAXC,
|
||||
"USER-SCAFACOS"_#PKG-USER-SCAFACOS,
|
||||
"USER-SDPD"_#PKG-USER-SDPD,
|
||||
"USER-SMD"_#PKG-USER-SMD,
|
||||
"USER-SMTBQ"_#PKG-USER-SMTBQ,
|
||||
"USER-SPH"_#PKG-USER-SPH,
|
||||
@ -297,7 +301,7 @@ lib/gpu/README
|
||||
"Section 2.6 -sf gpu"_Run_options.html
|
||||
"Section 2.6 -pk gpu"_Run_options.html
|
||||
"package gpu"_package.html
|
||||
"Commands all"_Commands_all.html pages (pair,kspace) for styles followed by (g)
|
||||
"Commands all"_lc pages (pair,kspace) for styles followed by (g)
|
||||
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
|
||||
|
||||
:line
|
||||
@ -412,7 +416,7 @@ lib/kokkos/README
|
||||
"Section 2.6 -sf kk"_Run_options.html
|
||||
"Section 2.6 -pk kokkos"_Run_options.html
|
||||
"package kokkos"_package.html
|
||||
"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (k)
|
||||
"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (k)
|
||||
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
|
||||
|
||||
:line
|
||||
@ -459,10 +463,10 @@ dynamics can be run with LAMMPS using density-functional tight-binding
|
||||
quantum forces calculated by LATTE.
|
||||
|
||||
More information on LATTE can be found at this web site:
|
||||
"https://github.com/lanl/LATTE"_latte_home. A brief technical
|
||||
"https://github.com/lanl/LATTE"_latte-home. A brief technical
|
||||
description is given with the "fix latte"_fix_latte.html command.
|
||||
|
||||
:link(latte_home,https://github.com/lanl/LATTE)
|
||||
:link(latte-home,https://github.com/lanl/LATTE)
|
||||
|
||||
[Authors:] Christian Negre (LANL) and Steve Plimpton (Sandia). LATTE
|
||||
itself is developed at Los Alamos National Laboratory by Marc
|
||||
@ -549,10 +553,6 @@ This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
NOTE: You should test building the MEAM library with both the Intel
|
||||
and GNU compilers to see if a simulation runs faster with one versus
|
||||
the other on your system.
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/MEAM: filenames -> commands
|
||||
@ -563,6 +563,31 @@ examples/meam :ul
|
||||
|
||||
:line
|
||||
|
||||
MESSAGE package :link(PKG-MESSAGE),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
Commands to use LAMMPS as either a client or server and couple it to
|
||||
another application.
|
||||
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#message on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/MESSAGE: filenames -> commands
|
||||
lib/message/README
|
||||
"message"_message.html
|
||||
"fix client/md"_fix_client_md.html
|
||||
"server md"_server_md.html
|
||||
"server mc"_server_mc.html
|
||||
examples/message :ul
|
||||
|
||||
:line
|
||||
|
||||
MISC package :link(PKG-MISC),h4
|
||||
|
||||
[Contents:]
|
||||
@ -644,9 +669,9 @@ MSCG package :link(PKG-mscg),h4
|
||||
|
||||
A "fix mscg"_fix_mscg.html command which can parameterize a
|
||||
Multi-Scale Coarse-Graining (MSCG) model using the open-source "MS-CG
|
||||
library"_mscg_home.
|
||||
library"_mscg-home.
|
||||
|
||||
:link(mscg_home,https://github.com/uchicago-voth/MSCG-release)
|
||||
:link(mscg-home,https://github.com/uchicago-voth/MSCG-release)
|
||||
|
||||
To use this package you must have the MS-CG library available on your
|
||||
system.
|
||||
@ -851,7 +876,7 @@ multi-replica simulations in LAMMPS. Methods in the package include
|
||||
nudged elastic band (NEB), parallel replica dynamics (PRD),
|
||||
temperature accelerated dynamics (TAD), parallel tempering, and a
|
||||
verlet/split algorithm for performing long-range Coulombics on one set
|
||||
of processors, and the remainder of the force field calcalation on
|
||||
of processors, and the remainder of the force field calculation on
|
||||
another set.
|
||||
|
||||
[Supporting info:]
|
||||
@ -874,7 +899,7 @@ RIGID package :link(PKG-RIGID),h4
|
||||
[Contents:]
|
||||
|
||||
Fixes which enforce rigid constraints on collections of atoms or
|
||||
particles. This includes SHAKE and RATTLE, as well as varous
|
||||
particles. This includes SHAKE and RATTLE, as well as various
|
||||
rigid-body integrators for a few large bodies or many small bodies.
|
||||
Also several computes which calculate properties of rigid bodies.
|
||||
|
||||
@ -984,11 +1009,11 @@ VORONOI package :link(PKG-VORONOI),h4
|
||||
[Contents:]
|
||||
|
||||
A compute command which calculates the Voronoi tesselation of a
|
||||
collection of atoms by wrapping the "Voro++ library"_voro_home. This
|
||||
collection of atoms by wrapping the "Voro++ library"_voro-home. This
|
||||
can be used to calculate the local volume or each atoms or its near
|
||||
neighbors.
|
||||
|
||||
:link(voro_home,http://math.lbl.gov/voro++)
|
||||
:link(voro-home,http://math.lbl.gov/voro++)
|
||||
|
||||
To use this package you must have the Voro++ library available on your
|
||||
system.
|
||||
@ -1176,6 +1201,34 @@ examples/USER/colvars :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-PLUMED package :link(USER-PLUMED),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
The fix plumed command allows you to use the plugin for molecular
|
||||
dynamics PLUMED to analyse and bias your LAMMPS trajectory on the fly.
|
||||
In practise PLUMED is called from within the lammps input script by using
|
||||
the "fix plumed _fix_plumed.html command.
|
||||
|
||||
[Authors:] The PLUMED library is written and maintained by
|
||||
Massimilliano Bonomi, Giovanni Bussi, Carlo Camiloni and
|
||||
Gareth Tribello.
|
||||
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-PLUMED/README
|
||||
lib/plumed/README
|
||||
"fix plumed "_fix_plumed.html
|
||||
examples/USER/plumed :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-DIFFRACTION package :link(PKG-USER-DIFFRACTION),h4
|
||||
|
||||
[Contents:]
|
||||
@ -1370,7 +1423,7 @@ which have styles optimized for CPUs and KNLs.
|
||||
|
||||
You need to have an Intel compiler, version 14 or higher to take full
|
||||
advantage of this package. While compilation with GNU compilers is
|
||||
supported, performance will be suboptimal.
|
||||
supported, performance will be sub-optimal.
|
||||
|
||||
NOTE: the USER-INTEL package contains styles that require using the
|
||||
-restrict flag, when compiling with Intel compilers.
|
||||
@ -1392,7 +1445,7 @@ src/USER-INTEL/README
|
||||
"Section 2.6 -sf intel"_Run_options.html
|
||||
"Section 2.6 -pk intel"_Run_options.html
|
||||
"package intel"_package.html
|
||||
"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (i)
|
||||
"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (i)
|
||||
src/USER-INTEL/TEST
|
||||
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
|
||||
|
||||
@ -1496,7 +1549,7 @@ USER-MEAMC package :link(PKG-USER-MEAMC),h4
|
||||
[Contents:]
|
||||
|
||||
A pair style for the modified embedded atom (MEAM) potential
|
||||
translated from the Fortran version in the "MEAM"_MEAM package
|
||||
translated from the Fortran version in the "MEAM"_#PKG-MEAM package
|
||||
to plain C++. In contrast to the MEAM package, no library
|
||||
needs to be compiled and the pair style can be instantiated
|
||||
multiple times.
|
||||
@ -1577,13 +1630,11 @@ USER-MOLFILE package :link(PKG-USER-MOLFILE),h4
|
||||
[Contents:]
|
||||
|
||||
A "dump molfile"_dump_molfile.html command which uses molfile plugins
|
||||
that are bundled with the "VMD"_vmd_home
|
||||
that are bundled with the "VMD"_vmd-home
|
||||
molecular visualization and analysis program, to enable LAMMPS to dump
|
||||
snapshots in formats compatible with various molecular simulation
|
||||
tools.
|
||||
|
||||
:link(vmd_home,http://www.ks.uiuc.edu/Research/vmd)
|
||||
|
||||
To use this package you must have the desired VMD plugins available on
|
||||
your system.
|
||||
|
||||
@ -1593,7 +1644,7 @@ plugin via the "dump molfile"_dump_molfile.html command. Plugins can
|
||||
be obtained from a VMD installation which has to match the platform
|
||||
that you are using to compile LAMMPS for. By adding plugins to VMD,
|
||||
support for new file formats can be added to LAMMPS (or VMD or other
|
||||
programs that use them) without having to recompile the application
|
||||
programs that use them) without having to re-compile the application
|
||||
itself. More information about the VMD molfile plugins can be found
|
||||
at
|
||||
"http://www.ks.uiuc.edu/Research/vmd/plugins/molfile"_http://www.ks.uiuc.edu/Research/vmd/plugins/molfile.
|
||||
@ -1631,10 +1682,11 @@ Note that NetCDF files can be directly visualized with the following
|
||||
tools:
|
||||
|
||||
"Ovito"_ovito (Ovito supports the AMBER convention and the extensions mentioned above)
|
||||
"VMD"_vmd_home
|
||||
"VMD"_vmd-home
|
||||
"AtomEye"_atomeye (the libAtoms version of AtomEye contains a NetCDF reader not present in the standard distribution) :ul
|
||||
|
||||
:link(ovito,http://www.ovito.org)
|
||||
:link(vmd-home,https://www.ks.uiuc.edu/Research/vmd/)
|
||||
:link(atomeye,http://www.libatoms.org)
|
||||
|
||||
[Author:] Lars Pastewka (Karlsruhe Institute of Technology).
|
||||
@ -1698,7 +1750,7 @@ src/USER-OMP/README
|
||||
"Section 2.6 -sf omp"_Run_options.html
|
||||
"Section 2.6 -pk omp"_Run_options.html
|
||||
"package omp"_package.html
|
||||
"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (o)
|
||||
"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (o)
|
||||
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
|
||||
|
||||
:line
|
||||
@ -1722,6 +1774,25 @@ examples/USER/phonon :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-PTM package :link(PKG-USER-PTM),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A "compute ptm/atom"_compute_ptm_atom.html command that calculates
|
||||
local structure characterization using the Polyhedral Template
|
||||
Matching methodology.
|
||||
|
||||
[Author:] Peter Mahler Larsen (MIT).
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-PTM: filenames not starting with ptm_ -> commands
|
||||
src/USER-PTM: filenames starting with ptm_ -> supporting code
|
||||
src/USER-PTM/LICENSE
|
||||
"compute ptm/atom"_compute_ptm_atom.html :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-QMMM package :link(PKG-USER-QMMM),h4
|
||||
|
||||
[Contents:]
|
||||
@ -1839,6 +1910,66 @@ examples/reax :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-SCAFACOS package :link(PKG-USER-SCAFACOS),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A KSpace style which wraps the "ScaFaCoS Coulomb solver
|
||||
library"_http://www.scafacos.de to compute long-range Coulombic
|
||||
interactions.
|
||||
|
||||
To use this package you must have the ScaFaCoS library available on
|
||||
your system.
|
||||
|
||||
[Author:] Rene Halver (JSC) wrote the scafacos LAMMPS command.
|
||||
|
||||
ScaFaCoS itself was developed by a consortium of German research
|
||||
facilities with a BMBF (German Ministry of Science and Education)
|
||||
funded project in 2009-2012. Participants of the consortium were the
|
||||
Universities of Bonn, Chemnitz, Stuttgart, and Wuppertal as well as
|
||||
the Forschungszentrum Juelich.
|
||||
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#user-scafacos on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-SCAFACOS: filenames -> commands
|
||||
src/USER-SCAFACOS/README
|
||||
"kspace_style scafacos"_kspace_style.html
|
||||
"kspace_modify"_kspace_modify.html
|
||||
examples/USER/scafacos :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-SDPD package :link(PKG-USER-SDPD),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A pair style for smoothed dissipative particle dynamics (SDPD), which
|
||||
is an extension of smoothed particle hydrodynamics (SPH) to mesoscale
|
||||
where thermal fluctuations are important (see the
|
||||
"USER-SPH package"_#PKG-USER-SPH).
|
||||
Also two fixes for moving and rigid body integration of SPH/SDPD particles
|
||||
(particles of atom_style meso).
|
||||
|
||||
[Author:] Morteza Jalalvand (Institute for Advanced Studies in Basic
|
||||
Sciences, Iran).
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-SDPD: filenames -> commands
|
||||
src/USER-SDPD/README
|
||||
"pair_style sdpd/taitwater/isothermal"_pair_sdpd_taitwater_isothermal.html
|
||||
"fix meso/move"_fix_meso_move.html
|
||||
"fix rigid/meso"_fix_rigid_meso.html
|
||||
examples/USER/sdpd :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-SMD package :link(PKG-USER-SMD),h4
|
||||
|
||||
[Contents:]
|
||||
@ -1998,3 +2129,5 @@ src/USER-VTK: filenames -> commands
|
||||
src/USER-VTK/README
|
||||
lib/vtk/README
|
||||
"dump vtk"_dump_vtk.html :ul
|
||||
|
||||
|
||||
|
||||
@ -47,7 +47,8 @@ Package, Description, Doc page, Example, Library
|
||||
"MANYBODY"_Packages_details.html#PKG-MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, no
|
||||
"MC"_Packages_details.html#PKG-MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, n/a, no
|
||||
"MEAM"_Packages_details.html#PKG-MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int
|
||||
"MISC"_Packages_details.html#PKG-MISC, miscellanous single-file commands, n/a, no, no
|
||||
"MESSAGE"_Packages_details.html#PKG-MESSAGE, client/server messaging, "message"_message.html, message, int
|
||||
"MISC"_Packages_details.html#PKG-MISC, miscellaneous single-file commands, n/a, no, no
|
||||
"MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, no
|
||||
"MPIIO"_Packages_details.html#PKG-MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, n/a, no
|
||||
"MSCG"_Packages_details.html#PKG-MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext
|
||||
|
||||
@ -58,17 +58,21 @@ Package, Description, Doc page, Example, Library
|
||||
"USER-MGPT"_Packages_details.html#PKG-USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, no
|
||||
"USER-MISC"_Packages_details.html#PKG-USER-MISC, single-file contributions, USER-MISC/README, USER/misc, no
|
||||
"USER-MOFFF"_Packages_details.html#PKG-USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, no
|
||||
"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext
|
||||
"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_https://www.ks.uiuc.edu/Research/vmd/ molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext
|
||||
"USER-NETCDF"_Packages_details.html#PKG-USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, n/a, ext
|
||||
"USER-OMP"_Packages_details.html#PKG-USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no
|
||||
"USER-PHONON"_Packages_details.html#PKG-USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, no
|
||||
"USER-PTM"_Packages_details.html#PKG-USER-PTM, Polyhedral Template Matching,"compute ptm/atom"_compute_ptm_atom.html, n/a, no
|
||||
"USER-QMMM"_Packages_details.html#PKG-USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext
|
||||
"USER-QTB"_Packages_details.html#PKG-USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, no
|
||||
"USER-QUIP"_Packages_details.html#PKG-USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext
|
||||
"USER-REAXC"_Packages_details.html#PKG-USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, no
|
||||
"USER-SCAFACOS"_Packages_details.html#PKG-USER-SCAFACOS, wrapper on ScaFaCoS solver,"kspace_style scafacos"_kspace_style.html, USER/scafacos, ext
|
||||
"USER-SDPD"_Packages_details.html#PKG-USER-SDPD, smoothed dissipative particle dynamics,"pair_style sdpd/taitwater/isothermal"_pair_sdpd_taitwater_isothermal, USER/sdpd, no
|
||||
"USER-SMD"_Packages_details.html#PKG-USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext
|
||||
"USER-SMTBQ"_Packages_details.html#PKG-USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, no
|
||||
"USER-SPH"_Packages_details.html#PKG-USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, no
|
||||
"USER-TALLY"_Packages_details.html#PKG-USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, no
|
||||
"USER-UEF"_Packages_details.html#PKG-USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, no
|
||||
"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, n/a, ext :tb(ea=c,ca1=l)
|
||||
:link(MOFplus,https://www.mofplus.org/content/show/MOF-FF)
|
||||
|
||||
@ -59,9 +59,9 @@ and callbacks to LAMMPS.
|
||||
The "fix python/invoke"_fix_python_invoke.html command can execute
|
||||
Python code at selected timesteps during a simulation run.
|
||||
|
||||
The "pair_style python"_pair_python command allows you to define
|
||||
The "pair_style python"_pair_python.html command allows you to define
|
||||
pairwise potentials as python code which encodes a single pairwise
|
||||
interaction. This is useful for rapid-developement and debugging of a
|
||||
interaction. This is useful for rapid development and debugging of a
|
||||
new potential.
|
||||
|
||||
To use any of these commands, you only need to build LAMMPS with the
|
||||
|
||||
@ -62,11 +62,11 @@ library interface provided in src/library.h and src/library.h. That
|
||||
interface is exposed to Python either when calling LAMMPS from Python
|
||||
or when calling Python from a LAMMPS input script and then calling
|
||||
back to LAMMPS from Python code. The library interface is designed to
|
||||
be easy to add funcionality to. Thus the Python interface to LAMMPS
|
||||
be easy to add functionality to. Thus the Python interface to LAMMPS
|
||||
is also easy to extend as well.
|
||||
|
||||
If you create interesting Python scripts that run LAMMPS or
|
||||
interesting Python functions that can be called from a LAMMPS input
|
||||
script, that you think would be genearlly useful, please post them as
|
||||
script, that you think would be generally useful, please post them as
|
||||
a pull request to our "GitHub site"_https://github.com/lammps/lammps,
|
||||
and they can be added to the LAMMPS distribution or webpage.
|
||||
|
||||
@ -186,20 +186,20 @@ keyword as a float.
|
||||
The get_natoms() method returns the total number of atoms in the
|
||||
simulation, as an int.
|
||||
|
||||
The set_variable() methosd sets an existing string-style variable to a
|
||||
The set_variable() method sets an existing string-style variable to a
|
||||
new string value, so that subsequent LAMMPS commands can access the
|
||||
variable.
|
||||
|
||||
The reset_box() emthods resets the size and shape of the simulation
|
||||
The reset_box() method resets the size and shape of the simulation
|
||||
box, e.g. as part of restoring a previously extracted and saved state
|
||||
of a simulation.
|
||||
|
||||
The gather methods collect peratom info of the requested type (atom
|
||||
coords, atom types, forces, etc) from all processors, and returns the
|
||||
same vector of values to each callling processor. The scatter
|
||||
same vector of values to each calling processor. The scatter
|
||||
functions do the inverse. They distribute a vector of peratom values,
|
||||
passed by all calling processors, to invididual atoms, which may be
|
||||
owned by different processos.
|
||||
passed by all calling processors, to individual atoms, which may be
|
||||
owned by different processors.
|
||||
|
||||
Note that the data returned by the gather methods,
|
||||
e.g. gather_atoms("x"), is different from the data structure returned
|
||||
|
||||
@ -75,7 +75,7 @@ setenv OMP_NUM_THREADS 2 # csh or tcsh :pre
|
||||
This can also be done via the "package"_package.html command or via
|
||||
the "-pk command-line switch"_Run_options.html which invokes the
|
||||
package command. See the "package"_package.html command or
|
||||
"Speed"_Speed.html doc pages for more details about which accerlarator
|
||||
"Speed"_Speed.html doc pages for more details about which accelerator
|
||||
packages and which commands support multi-threading.
|
||||
|
||||
:line
|
||||
|
||||
@ -18,13 +18,15 @@ letter abbreviation can be used:
|
||||
"-i or -in"_#file
|
||||
"-k or -kokkos"_#run-kokkos
|
||||
"-l or -log"_#log
|
||||
"-m or -mpicolor"_#mpicolor
|
||||
"-nc or -nocite"_#nocite
|
||||
"-pk or -package"_#package
|
||||
"-p or -partition"_#partition
|
||||
"-pl or -plog"_#plog
|
||||
"-ps or -pscreen"_#pscreen
|
||||
"-r or -restart"_#restart
|
||||
"-ro or -reorder"_#reorder
|
||||
"-r2data or -restart2data"_#restart2data
|
||||
"-r2dump or -restart2dump"_#restart2dump
|
||||
"-sc or -screen"_#screen
|
||||
"-sf or -suffix"_#suffix
|
||||
"-v or -var"_#var :ul
|
||||
@ -175,6 +177,30 @@ Option -plog will override the name of the partition log files file.N.
|
||||
|
||||
:line
|
||||
|
||||
[-mpicolor] color :link(mpicolor)
|
||||
|
||||
If used, this must be the first command-line argument after the LAMMPS
|
||||
executable name. It is only used when LAMMPS is launched by an mpirun
|
||||
command which also launches another executable(s) at the same time.
|
||||
(The other executable could be LAMMPS as well.) The color is an
|
||||
integer value which should be different for each executable (another
|
||||
application may set this value in a different way). LAMMPS and the
|
||||
other executable(s) perform an MPI_Comm_split() with their own colors
|
||||
to shrink the MPI_COMM_WORLD communication to be the subset of
|
||||
processors they are actually running on.
|
||||
|
||||
Currently, this is only used in LAMMPS to perform client/server
|
||||
messaging with another application. LAMMPS can act as either a client
|
||||
or server (or both). More details are given on the "Howto
|
||||
client/server"_Howto_client_server.html doc page.
|
||||
|
||||
Specifically, this refers to the "mpi/one" mode of messaging provided
|
||||
by the "message"_message.html command and the CSlib library LAMMPS
|
||||
links with from the lib/message directory. See the
|
||||
"message"_message.html command for more details.
|
||||
|
||||
:line
|
||||
|
||||
[-nocite] :link(nocite)
|
||||
|
||||
Disable writing the log.cite file which is normally written to list
|
||||
@ -255,34 +281,6 @@ specified by the -screen command-line option.
|
||||
|
||||
:line
|
||||
|
||||
[-restart restartfile {remap} datafile keyword value ...] :link(restart)
|
||||
|
||||
Convert the restart file into a data file and immediately exit. This
|
||||
is the same operation as if the following 2-line input script were
|
||||
run:
|
||||
|
||||
read_restart restartfile {remap}
|
||||
write_data datafile keyword value ... :pre
|
||||
|
||||
Note that the specified restartfile and datafile can have wild-card
|
||||
characters ("*",%") as described by the
|
||||
"read_restart"_read_restart.html and "write_data"_write_data.html
|
||||
commands. But a filename such as file.* will need to be enclosed in
|
||||
quotes to avoid shell expansion of the "*" character.
|
||||
|
||||
Note that following restartfile, the optional flag {remap} can be
|
||||
used. This has the same effect as adding it to the
|
||||
"read_restart"_read_restart.html command, as explained on its doc
|
||||
page. This is only useful if the reading of the restart file triggers
|
||||
an error that atoms have been lost. In that case, use of the remap
|
||||
flag should allow the data file to still be produced.
|
||||
|
||||
Also note that following datafile, the same optional keyword/value
|
||||
pairs can be listed as used by the "write_data"_write_data.html
|
||||
command.
|
||||
|
||||
:line
|
||||
|
||||
[-reorder] :link(reorder)
|
||||
|
||||
This option has 2 forms:
|
||||
@ -356,6 +354,77 @@ the LAMMPS simulation domain.
|
||||
|
||||
:line
|
||||
|
||||
[-restart2data restartfile (remap) datafile keyword value ...] :link(restart2data)
|
||||
|
||||
Convert the restart file into a data file and immediately exit. This
|
||||
is the same operation as if the following 2-line input script were
|
||||
run:
|
||||
|
||||
read_restart restartfile (remap)
|
||||
write_data datafile keyword value ... :pre
|
||||
|
||||
Note that the specified restartfile and/or datafile can have the
|
||||
wild-card character "*". The restartfile can also have the wild-card
|
||||
character "%". The meaning of these characters is explained on the
|
||||
"read_restart"_read_restart.html and "write_data"_write_data.html doc
|
||||
pages. The use of "%" means that a parallel restart file can be read.
|
||||
Note that a filename such as file.* will need to be enclosed in quotes
|
||||
to avoid shell expansion of the "*" character.
|
||||
|
||||
Note that following restartfile, the optional word "remap" can be
|
||||
used. This has the effect of adding it to the
|
||||
"read_restart"_read_restart.html command, as explained on its doc
|
||||
page. This is useful if reading the restart file triggers an error
|
||||
that atoms have been lost. In that case, use of the remap flag should
|
||||
allow the data file to still be produced.
|
||||
|
||||
The syntax following restartfile (or remap), namely
|
||||
|
||||
datafile keyword value ... :pre
|
||||
|
||||
is identical to the arguments of the "write_data"_write_data.html
|
||||
command. See its doc page for details. This includes its
|
||||
optional keyword/value settings.
|
||||
|
||||
:line
|
||||
|
||||
[-restart2dump restartfile {remap} group-ID dumpstyle dumpfile arg1 arg2 ...] :link(restart2dump)
|
||||
|
||||
Convert the restart file into a dump file and immediately exit. This
|
||||
is the same operation as if the following 2-line input script were
|
||||
run:
|
||||
|
||||
read_restart restartfile (remap)
|
||||
write_dump group-ID dumpstyle dumpfile arg1 arg2 ... :pre
|
||||
|
||||
Note that the specified restartfile and dumpfile can have wild-card
|
||||
characters ("*","%") as explained on the
|
||||
"read_restart"_read_restart.html and "write_dump"_write_dump.html doc
|
||||
pages. The use of "%" means that a parallel restart file and/or
|
||||
parallel dump file can be read and/or written. Note that a filename
|
||||
such as file.* will need to be enclosed in quotes to avoid shell
|
||||
expansion of the "*" character.
|
||||
|
||||
Note that following restartfile, the optional word "remap" can be
|
||||
used. This has the effect as adding it to the
|
||||
"read_restart"_read_restart.html command, as explained on its doc
|
||||
page. This is useful if reading the restart file triggers an error
|
||||
that atoms have been lost. In that case, use of the remap flag should
|
||||
allow the dump file to still be produced.
|
||||
|
||||
The syntax following restartfile (or remap), namely
|
||||
|
||||
group-ID dumpstyle dumpfile arg1 arg2 ... :pre
|
||||
|
||||
is identical to the arguments of the "write_dump"_write_dump.html
|
||||
command. See its doc page for details. This includes what per-atom
|
||||
fields are written to the dump file and optional dump_modify settings,
|
||||
including ones that affect how parallel dump files are written, e.g.
|
||||
the {nfile} and {fileper} keywords. See the
|
||||
"dump_modify"_dump_modify.html doc page for details.
|
||||
|
||||
:line
|
||||
|
||||
[-screen file] :link(screen)
|
||||
|
||||
Specify a file for LAMMPS to write its screen information to. In
|
||||
|
||||
@ -33,8 +33,8 @@ in parallel, follow these steps.
|
||||
|
||||
Download and install a compatible MPI library binary package:
|
||||
|
||||
for 32-bit Windows: "mpich2-1.4.1p1-win-ia32.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi
|
||||
for 64-bit Windows: "mpich2-1.4.1p1-win-x86-64.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi :ul
|
||||
for 32-bit Windows: "mpich2-1.4.1p1-win-ia32.msi"_http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi
|
||||
for 64-bit Windows: "mpich2-1.4.1p1-win-x86-64.msi"_http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi :ul
|
||||
|
||||
The LAMMPS Windows installer packages will automatically adjust your
|
||||
path for the default location of this MPI package. After the
|
||||
|
||||
@ -11,7 +11,7 @@ Benchmarks :h3
|
||||
|
||||
Current LAMMPS performance is discussed on the "Benchmarks
|
||||
page"_http://lammps.sandia.gov/bench.html of the "LAMMPS website"_lws
|
||||
where timings and parallel efficiencies are listed. The page has
|
||||
where timings and parallel efficiency are listed. The page has
|
||||
several sections, which are briefly described below:
|
||||
|
||||
CPU performance on 5 standard problems, strong and weak scaling
|
||||
@ -77,8 +77,8 @@ style, force field, cutoff, etc) can then be estimated.
|
||||
Performance on a parallel machine can also be predicted from one-core
|
||||
or one-node timings if the parallel efficiency can be estimated. The
|
||||
communication bandwidth and latency of a particular parallel machine
|
||||
affects the efficiency. On most machines LAMMPS will give parallel
|
||||
efficiencies on these benchmarks above 50% so long as the number of
|
||||
affects the efficiency. On most machines LAMMPS will give a parallel
|
||||
efficiency on these benchmarks above 50% so long as the number of
|
||||
atoms/core is a few 100 or greater, and closer to 100% for large
|
||||
numbers of atoms/core. This is for all-MPI mode with one MPI task per
|
||||
core. For nodes with accelerator options or hardware (OpenMP, GPU,
|
||||
|
||||
@ -62,7 +62,7 @@ Driver (ICD)"_https://www.khronos.org/news/permalink/opencl-installable-client-d
|
||||
installed. There can be multiple of them for the same or different hardware
|
||||
(GPUs, CPUs, Accelerators) installed at the same time. OpenCL refers to those
|
||||
as 'platforms'. The GPU library will select the [first] suitable platform,
|
||||
but this can be overridded using the device option of the "package"_package.html
|
||||
but this can be overridden using the device option of the "package"_package.html
|
||||
command. run lammps/lib/gpu/ocl_get_devices to get a list of available
|
||||
platforms and devices with a suitable ICD available.
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ In most molecular dynamics software, parallelization parameters
|
||||
to changing the order of operations with finite-precision
|
||||
calculations. The USER-INTEL package is deterministic. This means
|
||||
that the results should be reproducible from run to run with the
|
||||
{same} parallel configurations and when using determinstic
|
||||
{same} parallel configurations and when using deterministic
|
||||
libraries or library settings (MPI, OpenMP, FFT). However, there
|
||||
are differences in the USER-INTEL package that can change the
|
||||
order of operations compared to LAMMPS without acceleration:
|
||||
@ -400,7 +400,7 @@ within the input script to automatically append the "omp" suffix to
|
||||
styles when USER-INTEL styles are not available.
|
||||
|
||||
NOTE: For simulations on higher node counts, add "processors * * *
|
||||
grid numa"_processors.html" to the beginning of the input script for
|
||||
grid numa"_processors.html to the beginning of the input script for
|
||||
better scalability.
|
||||
|
||||
When running on many nodes, performance might be better when using
|
||||
@ -499,7 +499,7 @@ MPI task.
|
||||
When offloading to a coprocessor, "hybrid"_pair_hybrid.html styles
|
||||
that require skip lists for neighbor builds cannot be offloaded.
|
||||
Using "hybrid/overlay"_pair_hybrid.html is allowed. Only one intel
|
||||
accelerated style may be used with hybrid styles.
|
||||
accelerated style may be used with hybrid styles when offloading.
|
||||
"Special_bonds"_special_bonds.html exclusion lists are not currently
|
||||
supported with offload, however, the same effect can often be
|
||||
accomplished by setting cutoffs for excluded atom types to 0. None of
|
||||
|
||||
@ -93,12 +93,12 @@ The "t Nt" option specifies how many OpenMP threads per MPI task to
|
||||
use with a node. The default is Nt = 1, which is MPI-only mode. Note
|
||||
that the product of MPI tasks * OpenMP threads/task should not exceed
|
||||
the physical number of cores (on a node), otherwise performance will
|
||||
suffer. If hyperthreading is enabled, then the product of MPI tasks *
|
||||
OpenMP threads/task should not exceed the physical number of cores *
|
||||
hardware threads. The "-k on" switch also issues a "package kokkos"
|
||||
command (with no additional arguments) which sets various KOKKOS
|
||||
options to default values, as discussed on the "package"_package.html
|
||||
command doc page.
|
||||
suffer. If Hyper-Threading (HT) is enabled, then the product of MPI
|
||||
tasks * OpenMP threads/task should not exceed the physical number of
|
||||
cores * hardware threads. The "-k on" switch also issues a
|
||||
"package kokkos" command (with no additional arguments) which sets
|
||||
various KOKKOS options to default values, as discussed on the
|
||||
"package"_package.html command doc page.
|
||||
|
||||
The "-sf kk" "command-line switch"_Run_options.html will automatically
|
||||
append the "/kk" suffix to styles that support it. In this manner no
|
||||
@ -106,6 +106,11 @@ modification to the input script is needed. Alternatively, one can run
|
||||
with the KOKKOS package by editing the input script as described
|
||||
below.
|
||||
|
||||
NOTE: When using a single OpenMP thread, the Kokkos Serial backend (i.e.
|
||||
Makefile.kokkos_mpi_only) will give better performance than the OpenMP
|
||||
backend (i.e. Makefile.kokkos_omp) because some of the overhead to make
|
||||
the code thread-safe is removed.
|
||||
|
||||
NOTE: The default for the "package kokkos"_package.html command is to
|
||||
use "full" neighbor lists and set the Newton flag to "off" for both
|
||||
pairwise and bonded interactions. However, when running on CPUs, it
|
||||
@ -122,6 +127,22 @@ mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half c
|
||||
If the "newton"_newton.html command is used in the input
|
||||
script, it can also override the Newton flag defaults.
|
||||
|
||||
For half neighbor lists and OpenMP, the KOKKOS package uses data
|
||||
duplication (i.e. thread-private arrays) by default to avoid
|
||||
thread-level write conflicts in the force arrays (and other data
|
||||
structures as necessary). Data duplication is typically fastest for
|
||||
small numbers of threads (i.e. 8 or less) but does increase memory
|
||||
footprint and is not scalable to large numbers of threads. An
|
||||
alternative to data duplication is to use thread-level atomics, which
|
||||
don't require duplication. The use of atomics can be forced by compiling
|
||||
with the "-DLMP_KOKKOS_USE_ATOMICS" compile switch. Most but not all
|
||||
Kokkos-enabled pair_styles support data duplication. Alternatively, full
|
||||
neighbor lists avoid the need for duplication or atomics but require
|
||||
more compute operations per atom. When using the Kokkos Serial backend
|
||||
or the OpenMP backend with a single thread, no duplication or atomics are
|
||||
used. For CUDA and half neighbor lists, the KOKKOS package always uses
|
||||
atomics.
|
||||
|
||||
[Core and Thread Affinity:]
|
||||
|
||||
When using multi-threading, it is important for performance to bind
|
||||
@ -149,7 +170,7 @@ Intel Knight's Landing (KNL) Xeon Phi:
|
||||
|
||||
KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores are
|
||||
reserved for the OS, and only 64 or 66 cores are used. Each core has 4
|
||||
hyperthreads,so there are effectively N = 256 (4*64) or N = 264 (4*66)
|
||||
Hyper-Threads,so there are effectively N = 256 (4*64) or N = 264 (4*66)
|
||||
cores to run on. The product of MPI tasks * OpenMP threads/task should
|
||||
not exceed this limit, otherwise performance will suffer. Note that
|
||||
with the KOKKOS package you do not need to specify how many KNLs there
|
||||
@ -228,7 +249,7 @@ for details and default settings. Experimenting with its options can
|
||||
provide a speed-up for specific calculations. For example:
|
||||
|
||||
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff
|
||||
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighborlist, set binsize = neighbor ghost cutoff :pre
|
||||
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff :pre
|
||||
|
||||
NOTE: For good performance of the KOKKOS package on GPUs, you must
|
||||
have Kepler generation GPUs (or later). The Kokkos library exploits
|
||||
|
||||
@ -50,6 +50,6 @@ inaccurate relative timing data, because processors have to wait when
|
||||
communication occurs for other processors to catch up. Thus the
|
||||
reported times for "Communication" or "Other" may be higher than they
|
||||
really are, due to load-imbalance. If this is an issue, you can
|
||||
uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile
|
||||
uncomment the MPI_Barrier() lines in src/timer.cpp, and re-compile
|
||||
LAMMPS, to obtain synchronized timings.
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ instructions.
|
||||
|
||||
[Run with the USER-OMP package from the command line:]
|
||||
|
||||
These example asume one or more 16-core nodes.
|
||||
These examples assume one or more 16-core nodes.
|
||||
|
||||
env OMP_NUM_THREADS=16 lmp_omp -sf omp -in in.script # 1 MPI task, 16 threads according to OMP_NUM_THREADS
|
||||
lmp_mpi -sf omp -in in.script # 1 MPI task, no threads, optimized kernels
|
||||
|
||||
@ -72,7 +72,7 @@ Lennard-Jones "pair_style lj/cut"_pair_lj.html:
|
||||
"pair_style lj/cut/opt"_pair_lj.html :ul
|
||||
|
||||
To see what accelerate styles are currently available for a particular
|
||||
style, find the style name in the "Commands_all"_Commands_all.html
|
||||
style, find the style name in the "Commands_all"_lc
|
||||
style pages (fix,compute,pair,etc) and see what suffixes are listed
|
||||
(g,i,k,o,t) with it. The doc pages for individual commands
|
||||
(e.g. "pair lj/cut"_pair_lj.html or "fix nve"_fix_nve.html) also list
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
<a href="../../Commands_all.html">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user