Compare commits
782 Commits
patch_5Nov
...
patch_4May
| Author | SHA1 | Date | |
|---|---|---|---|
| 51c6d50268 | |||
| 6499cfcf52 | |||
| f08e206991 | |||
| fbddfe2729 | |||
| dcc5472cba | |||
| addd87c0f7 | |||
| 7f49ee8fd7 | |||
| f5cf1f1314 | |||
| b8cb80b219 | |||
| cd435c0c58 | |||
| 548c589f82 | |||
| 5c7a631988 | |||
| af74874516 | |||
| 949d61e01e | |||
| 3e60f79f1d | |||
| 8f9cb3590a | |||
| 0565b1df5f | |||
| d73d70fa1f | |||
| cc6104aeaf | |||
| 8910ec6e59 | |||
| ddc1e4e86e | |||
| 0ac22e034c | |||
| 197ce4580b | |||
| 8f14511831 | |||
| 396e0b5423 | |||
| 4e411364ff | |||
| f0681f7e12 | |||
| dfa9815246 | |||
| 25e8ed63a2 | |||
| 8d390100e0 | |||
| dee3536144 | |||
| 73c210b665 | |||
| 4bad52f30c | |||
| 481927ff16 | |||
| dec36e9bfe | |||
| dd90c860ee | |||
| 2f32fb7f8b | |||
| cb867ea91d | |||
| 961096f9df | |||
| 4da8c1c4e2 | |||
| 49dd9449b8 | |||
| 76fd936972 | |||
| 06cebb9fb4 | |||
| b9d844ca8d | |||
| ccc9367de7 | |||
| 4c4a3fe5d1 | |||
| 84ea8a79e6 | |||
| 3d3d1061d3 | |||
| b9177fd6dc | |||
| 8051b12ffc | |||
| f19f558220 | |||
| 1ad7d856fe | |||
| d6357420ae | |||
| 62b9fa22b8 | |||
| 1725832b6c | |||
| 874944f2ec | |||
| 497a5d88af | |||
| 8993daaa31 | |||
| e190eb15f5 | |||
| b6bc33bac6 | |||
| 03a6f5237f | |||
| 28e86917a0 | |||
| 6f1bbd3cec | |||
| ae56b9ad89 | |||
| 4466d9fb4a | |||
| ac1aa9edea | |||
| c733204a70 | |||
| 1544b51dcb | |||
| 4b9d0a9566 | |||
| 0637f23875 | |||
| 9f6e126a2f | |||
| 645f56cf70 | |||
| 80e5111dca | |||
| 7e9f05b617 | |||
| 1d8f0c762d | |||
| ef6070cbde | |||
| 61f3ff1d2b | |||
| 111d350a22 | |||
| 1dfd61f532 | |||
| 5c1f5462e7 | |||
| 66a6375405 | |||
| 604afebf6f | |||
| 8afed61db1 | |||
| ee55a98103 | |||
| f8da9a866a | |||
| 28bdebd3c0 | |||
| fc51c38abb | |||
| 443ea13eff | |||
| 5feeb79c13 | |||
| a241b2d0f7 | |||
| 61e7595a94 | |||
| da9096750e | |||
| 87ea9ba661 | |||
| c041727e4f | |||
| 3feffbe1de | |||
| 04fd038d35 | |||
| 3dfe4505dd | |||
| 394e9b42b0 | |||
| e6fcaefe95 | |||
| f5a85d68ad | |||
| 277b93cb89 | |||
| 8820315ff9 | |||
| 44841f6891 | |||
| 2cdcd6d630 | |||
| 47cade2bcf | |||
| a72efbea36 | |||
| 5c9892c083 | |||
| 9ecc5c8cf7 | |||
| 47cebb0d23 | |||
| f127e428cc | |||
| 568b67eee9 | |||
| 865b41e201 | |||
| b88a749680 | |||
| 02e65900e6 | |||
| 343c9eda82 | |||
| df8dbec676 | |||
| 1075be7eca | |||
| 6d395ec511 | |||
| bf560e78f3 | |||
| daae76c465 | |||
| 1ea9a14121 | |||
| 1db5834b99 | |||
| 3070b043be | |||
| ef3f323fc4 | |||
| 43a304f564 | |||
| a79aef65e8 | |||
| dc1d93a491 | |||
| 66eb9c2486 | |||
| a14d58259c | |||
| 127597023d | |||
| 3ec16f3630 | |||
| cb9059652d | |||
| 43f27250b5 | |||
| af0b5b0e84 | |||
| c5d561a312 | |||
| 7435084375 | |||
| 734e639c5d | |||
| dcede304df | |||
| 145e682ad3 | |||
| 6482df6c2f | |||
| 0c9cd11b4e | |||
| 82d952ae0e | |||
| 47d6451d03 | |||
| e110d6961a | |||
| a42b0b7dcb | |||
| 03828b5836 | |||
| 3b44c3ff1d | |||
| 0d0c2b65f7 | |||
| 2218a9d704 | |||
| 0a6b33cd78 | |||
| ecf17621aa | |||
| f0c6ed004d | |||
| 554531a302 | |||
| d496c0fdfa | |||
| 5c39dfd740 | |||
| 5b842f0010 | |||
| 52987a3615 | |||
| b6ecfb91c4 | |||
| d04ea8653d | |||
| 2ab77caa8b | |||
| da81531906 | |||
| 5be32f5d8d | |||
| 4a90bca7a3 | |||
| 9f35b764f8 | |||
| 7ca5dce2f5 | |||
| fcc3b3bd36 | |||
| 53a3877c3d | |||
| a936b7b2ab | |||
| a91b851f3d | |||
| d31c591b60 | |||
| ae5ebf6001 | |||
| 7fb741d53d | |||
| 8e75616c14 | |||
| 411c069ba6 | |||
| ac82d041cc | |||
| 621d7d5ce0 | |||
| 1bb9c7da42 | |||
| f893104b18 | |||
| efb2a942e0 | |||
| 070ce33a13 | |||
| f604f86cfc | |||
| bed288339e | |||
| 1995f434f3 | |||
| db0281b4df | |||
| 2f5e711acd | |||
| bdb7669e27 | |||
| cda8213892 | |||
| ef940d226c | |||
| 36da9223ec | |||
| eb29ef32b1 | |||
| 29550d472d | |||
| 79cae51156 | |||
| a210867025 | |||
| 0262a54ecf | |||
| 0d8f74f0c5 | |||
| 3a2da51a82 | |||
| b1c59126f7 | |||
| 4c77838514 | |||
| f9468f46f5 | |||
| ec1778b586 | |||
| c3ce3747e0 | |||
| fdc390ad05 | |||
| 580f6b567b | |||
| 27b1c33a16 | |||
| 7a75cd111c | |||
| 23b8287933 | |||
| 4cfe623bc1 | |||
| f871ecdc67 | |||
| 470353e320 | |||
| ffe02d20ca | |||
| f70752c18f | |||
| 07fcfd6d54 | |||
| c97feafca6 | |||
| b20d95d495 | |||
| 0b4adaa9e6 | |||
| 5fe6206638 | |||
| 65964f3b31 | |||
| b28b84d444 | |||
| a001a5ceb0 | |||
| 2ef713ea1b | |||
| 1f6c1942b3 | |||
| 683023d820 | |||
| 42d3a8f498 | |||
| 79b005dc3d | |||
| a2fa6ef452 | |||
| 920641bbff | |||
| c2aabdec22 | |||
| e4aa735a68 | |||
| 4af6557568 | |||
| 0798885bdb | |||
| 020e75e7ef | |||
| d6866f1cfd | |||
| efaa4c6710 | |||
| 08baaa9d8e | |||
| 359af419a7 | |||
| 21be86c423 | |||
| d6800405a5 | |||
| 3a054d1a82 | |||
| 007f3c66a0 | |||
| 32708860a9 | |||
| fc9eebb936 | |||
| dd76ac5010 | |||
| 17486a9319 | |||
| 778a79b8ee | |||
| 7dd60f9737 | |||
| 084d831bce | |||
| e261bef7bb | |||
| fd78486086 | |||
| 6382d3c89a | |||
| 763a00e8b0 | |||
| ce1a3f25e1 | |||
| eaf7ed7707 | |||
| 9a560b9091 | |||
| 8a0e44db83 | |||
| 1dc78a7e58 | |||
| 7a593c2fc8 | |||
| 3ac74a1d69 | |||
| 3605208a45 | |||
| 9b01949cac | |||
| 323570c920 | |||
| df13a7a003 | |||
| a1b40b902d | |||
| b921b69f47 | |||
| c0cf50bce5 | |||
| 2708c86836 | |||
| 9999f363a1 | |||
| a18b4ef4b0 | |||
| 3626496c7c | |||
| 458b6749e7 | |||
| 20a9ffe69d | |||
| 49e83b4348 | |||
| 6e89ccd522 | |||
| 53f3df5bfc | |||
| 3dbbea342a | |||
| b70c670aac | |||
| 1d17cae407 | |||
| 429264a12b | |||
| d001a09345 | |||
| cb9d42da08 | |||
| 7185ec92b3 | |||
| 1cd4c48ccc | |||
| a88136c3f5 | |||
| ce20c7ffe9 | |||
| 4a80df3a99 | |||
| 5f93fad012 | |||
| ccaec315db | |||
| c6c1852b3b | |||
| 69a8e19dc5 | |||
| 928947dcea | |||
| 904609a7a3 | |||
| fc3505fac4 | |||
| 48070011d9 | |||
| 0fb8dacc00 | |||
| 6b923476b9 | |||
| 20806dd86a | |||
| 90e5ae965d | |||
| 15008c9d18 | |||
| 33af7ab248 | |||
| 8f9b2aca06 | |||
| 383da816c2 | |||
| a323ca1edd | |||
| de4af6f15d | |||
| 0e16dc3ead | |||
| 1b3f6e257a | |||
| cb982f2f28 | |||
| 4843296d4e | |||
| 2bdda8f6c0 | |||
| 0068ef5616 | |||
| 02b0e6cc55 | |||
| fbb24c2406 | |||
| 0efd209480 | |||
| a5f830c40c | |||
| 8c074a363a | |||
| 27aca14094 | |||
| 191453e1c7 | |||
| 207adc3968 | |||
| 84c517159d | |||
| 6ca377436f | |||
| dc34a32602 | |||
| 067119f6c6 | |||
| 1834a5e46c | |||
| 6a4918b39a | |||
| 5da0d39392 | |||
| 6f92429602 | |||
| 38e0e4bb69 | |||
| daf9f95381 | |||
| 6595fde0a1 | |||
| 6bcec9c61d | |||
| 9d1991bf84 | |||
| 0a87b7443a | |||
| 7ee45ec5f3 | |||
| d4c9e2500b | |||
| 6232073d3b | |||
| ed59193d13 | |||
| 67bed8e853 | |||
| bcb1d94b9a | |||
| fbe30b5683 | |||
| 9ef55fedf7 | |||
| 997142a4c1 | |||
| 033b07fdb7 | |||
| ed0a347fbf | |||
| 51a0b6b445 | |||
| 59f4a77dd5 | |||
| 579cc6d7aa | |||
| 5afd3e995b | |||
| 2a6f5e651c | |||
| 09fc8b0bd7 | |||
| e5d0bde783 | |||
| 9daf7fb650 | |||
| b5d622c6a3 | |||
| 2023fa28e0 | |||
| 5b29515849 | |||
| 5b18421dd2 | |||
| cf95ea0709 | |||
| 6a74a81da0 | |||
| f0a4ed615d | |||
| cfe818a175 | |||
| f8506fee23 | |||
| 18e5584311 | |||
| 851f80464f | |||
| 5971d4c994 | |||
| 868d95f0a5 | |||
| a5ff35435a | |||
| 8b7bd9d88e | |||
| 149f37e764 | |||
| 672bbbe494 | |||
| 03c9c46533 | |||
| e992bfe510 | |||
| 053ee54a27 | |||
| 1074c6734b | |||
| 60b48c9d66 | |||
| 3d40b51708 | |||
| effbe18c46 | |||
| 6328beb7d7 | |||
| 26c8d3d98f | |||
| 73177d650d | |||
| b5cb74bd33 | |||
| 31976d1dee | |||
| c8260af37c | |||
| caea8973a3 | |||
| aa0ad9b483 | |||
| 5d0e4e1ba9 | |||
| f8d3c4c740 | |||
| e6996121d1 | |||
| fbfb1df5eb | |||
| 9a299875da | |||
| fc94f1bd18 | |||
| 5ce8e2fbae | |||
| f6cd98636b | |||
| 05cafb716f | |||
| 3af4b3c28c | |||
| 7fc0970587 | |||
| 93262b52b4 | |||
| 4eb08a5822 | |||
| 01609f55e2 | |||
| d2fc88a626 | |||
| c52a26382f | |||
| ad4d299975 | |||
| 83408b195f | |||
| cd7bdf9251 | |||
| 8c5b108900 | |||
| c19d2011bb | |||
| 973bef4d45 | |||
| 1b9e50c8cb | |||
| 252e07e083 | |||
| 74a661ae26 | |||
| d8bc590aaf | |||
| c9bea60710 | |||
| 5cd856c97f | |||
| 2f13365cf5 | |||
| 0a2b78acb8 | |||
| 3f46b6d782 | |||
| 5abd6e5122 | |||
| f3a82f454e | |||
| 473a3ebeef | |||
| b220850377 | |||
| fa00e0593f | |||
| 4a09399dc6 | |||
| 5821fe8dd5 | |||
| 8360e70f4e | |||
| b988b29413 | |||
| 5d48bfdcab | |||
| fe8caa8a56 | |||
| afaacc6173 | |||
| 98ceb6feb1 | |||
| 374abea0f0 | |||
| 61cff85435 | |||
| aa0b327f7e | |||
| 04fe071968 | |||
| 78498715b4 | |||
| 96259ea2d2 | |||
| b2f67fea30 | |||
| c59bcf31d1 | |||
| 2540fc281c | |||
| e8e03dd440 | |||
| daf766d4f8 | |||
| 630783c8e8 | |||
| c94030d966 | |||
| 1229f6f60b | |||
| 0b081b0086 | |||
| 8e1cf6643c | |||
| 6950a99162 | |||
| 9f4e5e0661 | |||
| 34cb4027df | |||
| 1d0e600ab7 | |||
| 7162cafdf5 | |||
| ee9e7cfbd5 | |||
| 7839c335da | |||
| 622d926849 | |||
| 92d15d4a89 | |||
| 95706ac846 | |||
| d06688bb91 | |||
| d014e00e53 | |||
| 0db2a07993 | |||
| 33412c76ed | |||
| e5ac49d1de | |||
| 1a81da0f73 | |||
| c31f1e9f22 | |||
| ebd25cc078 | |||
| 9250a55923 | |||
| a9f0b7d523 | |||
| 20f8a8c219 | |||
| 09af780aa8 | |||
| 51e52b477a | |||
| 20a4e365b7 | |||
| 51fa33a407 | |||
| ccd09e3967 | |||
| 142770cb2a | |||
| 63f202501b | |||
| 83da5d3b5d | |||
| ebbf60b112 | |||
| 12c4fa25e8 | |||
| 3ac58452de | |||
| 9b348d567b | |||
| 467377094a | |||
| 5656e90b78 | |||
| 41a6a3076e | |||
| d4e8d47387 | |||
| f6a819580c | |||
| 6af56e686d | |||
| eb1c6a225c | |||
| 4d0a6d83bd | |||
| 958722573f | |||
| 9d46670972 | |||
| 1a9f2df3d0 | |||
| 1310438c8b | |||
| 9bf771207d | |||
| b9144d6332 | |||
| 267f05e5ca | |||
| aebc8ea826 | |||
| 53a1de1d40 | |||
| d059b5d334 | |||
| 7cff343680 | |||
| a1ac861084 | |||
| 17bdb57bb4 | |||
| fe14158c10 | |||
| 0bcbcca140 | |||
| 4cfe122ac6 | |||
| b46629ee39 | |||
| 42bbeb3f16 | |||
| 933b288ce9 | |||
| a7c5905ca4 | |||
| 37d5567f6d | |||
| b10d0c17ec | |||
| 4f45d39ac7 | |||
| 7d057d4c83 | |||
| 4f096dbad5 | |||
| 18b12efc9f | |||
| 2c7fea1e0d | |||
| 4d98bbdfa5 | |||
| 391ab761a4 | |||
| b0ebd3ef4e | |||
| 94c4f8fe5f | |||
| aa146e9b38 | |||
| eca9539f84 | |||
| 27172c4a55 | |||
| 4f195254af | |||
| 9a0007a13f | |||
| 994f36bc6f | |||
| b3557bfbf5 | |||
| 371df8ea72 | |||
| 06ae2804f6 | |||
| 68814d4fc8 | |||
| 616ca1de03 | |||
| b0263e87bb | |||
| 925f42727f | |||
| f553e230db | |||
| 6ab716164b | |||
| 7a45c72b97 | |||
| 634eb357d2 | |||
| a1036f2d74 | |||
| c301d70333 | |||
| 781daad2a0 | |||
| 3faa57a413 | |||
| fa435fb514 | |||
| ba96fcc15a | |||
| 304f65b164 | |||
| 4c33f31265 | |||
| ae8d882b03 | |||
| 7559bc9c5f | |||
| 62dea1bb63 | |||
| 800ff43413 | |||
| 9161bd98bf | |||
| f3327ca214 | |||
| 54963ba7da | |||
| ea76041803 | |||
| 7fb4faa439 | |||
| 41c9357dde | |||
| d1a55ad2e0 | |||
| d9a0f575f6 | |||
| 01e3a31639 | |||
| 992becc75f | |||
| 8b5e15e979 | |||
| b2b33cca16 | |||
| 2ceee6b9be | |||
| 386c12c970 | |||
| 590f317550 | |||
| c4e02a5d2b | |||
| c7ac9e79cb | |||
| 2ba424e1a3 | |||
| ca30c1ec88 | |||
| a1b441a71f | |||
| f6f2170369 | |||
| 81a2db8a0c | |||
| 0a176841e7 | |||
| 3027ac9250 | |||
| fc54ab5cea | |||
| e364b80724 | |||
| 830c9e8661 | |||
| 4907b29ad2 | |||
| eff7238ff2 | |||
| 126fb22e93 | |||
| 0a90492c44 | |||
| fed629c23e | |||
| 925481c3f4 | |||
| da2ad5b6e0 | |||
| bfcab72268 | |||
| f509f133af | |||
| 624c57e9da | |||
| f3b355bcbe | |||
| ae5764beac | |||
| fda43c00fd | |||
| b34be30be6 | |||
| 13b6196b82 | |||
| baf55c90f4 | |||
| 770f5d0bf7 | |||
| a31b00965a | |||
| a5e46e3e6a | |||
| 31be0da590 | |||
| 0f3b2544a1 | |||
| 586514e05c | |||
| 43c459ba56 | |||
| b5c3d2f66c | |||
| 5187cb97e5 | |||
| eff503e56c | |||
| cdcebab3bd | |||
| ddf678da51 | |||
| 435421301b | |||
| 9b48c49f83 | |||
| d3d5ac17bf | |||
| 8318c67816 | |||
| 7c61dbf5e2 | |||
| 39a12b15d7 | |||
| fb3f597f41 | |||
| d14814ae2e | |||
| beb5a30f67 | |||
| 7ddb6670c0 | |||
| 789e62388f | |||
| 7d098bff90 | |||
| 1d970d3cdf | |||
| 42d430168b | |||
| 5ff5bc2a6c | |||
| 02ae2d218a | |||
| 470908fc93 | |||
| 6759630c16 | |||
| 87781771ba | |||
| df46b9aa38 | |||
| 647c6f00ce | |||
| 237307eda2 | |||
| d58dd4f159 | |||
| ae70f1090f | |||
| 59d100ab57 | |||
| 61e71d23ed | |||
| b6f2f0e6e9 | |||
| ff0441ac16 | |||
| 41907d3110 | |||
| b95f255af4 | |||
| d7b542101a | |||
| 0ffa50f8e8 | |||
| 7893215964 | |||
| 3dff9f2018 | |||
| dab232c542 | |||
| 9e9d9d5aa5 | |||
| c982b174a2 | |||
| 87a5a35bad | |||
| fd174ce2b1 | |||
| b11f376a4f | |||
| 230b29eae6 | |||
| 2383c31f15 | |||
| e175a18bdb | |||
| a5bde82e37 | |||
| d787afcca9 | |||
| 176cde8ed3 | |||
| 2862c20815 | |||
| 78e018829f | |||
| c78914e7b3 | |||
| 635f3ce128 | |||
| 81f68e06fd | |||
| 4b51719e67 | |||
| 25d7be5f3d | |||
| 2a026c9ad8 | |||
| 4a3091f844 | |||
| 74c0e4dd5c | |||
| 073e8a0524 | |||
| 5320bbf585 | |||
| 4448819824 | |||
| 300ac30332 | |||
| 2535e44991 | |||
| 747c95c525 | |||
| cdae794383 | |||
| 8756a1017d | |||
| 5c64934bc8 | |||
| 4e62e58d29 | |||
| 5ac2d9532e | |||
| 19ac9d2959 | |||
| 9f313aac75 | |||
| 0102c5dadc | |||
| 07e46b797a | |||
| b45d1e37ef | |||
| 2e7fd513d4 | |||
| 82364d10e3 | |||
| 16c8a307e5 | |||
| 94f14ab051 | |||
| 22d93fe8fb | |||
| 683f514fac | |||
| f617993944 | |||
| 4641c9e568 | |||
| 705f66aaee | |||
| e57ae1ce3f | |||
| 950442b8b1 | |||
| 1c68e42ecc | |||
| 5f94b31806 | |||
| fdf5d68f9f | |||
| 0c25f3b1d6 | |||
| 14c7cf4197 | |||
| 26870f223d | |||
| 09544d0698 | |||
| b5130a3b35 | |||
| 20daf82463 | |||
| 57124b9b25 | |||
| 03b3834fe3 | |||
| d0124eac95 | |||
| 5685131fe2 | |||
| 22fc92f9d8 | |||
| b9770766a8 | |||
| 9cc0c8badd | |||
| 6e1492a86c | |||
| 9b0987d8c4 | |||
| e453adaf81 | |||
| 8e0fd88697 | |||
| fdcabd7d1d | |||
| c5c8c50e97 | |||
| 72b0841b28 | |||
| 801111a7ab | |||
| bfc478c320 | |||
| 2b75ee761d | |||
| 352e177fcd | |||
| c20ee34c7b | |||
| 95a7f7160e | |||
| 1f38e1a771 | |||
| 9806da69f3 | |||
| fec87c070d | |||
| 3d3a99c082 | |||
| 3e36ec3754 | |||
| 9ed5c4f0fa | |||
| c55fd502e0 | |||
| 71ee2ecaa1 | |||
| bfea3dce7d | |||
| eef862ee1c | |||
| 0cc2fbf1d6 | |||
| ae00666994 | |||
| 51b3b5fb35 | |||
| 176f2c3aa1 | |||
| 3f71bfb185 | |||
| cf3ab51679 | |||
| 59922f894b | |||
| 5e2b9d8bf3 | |||
| 2d132cad6b | |||
| ef6801f8bf | |||
| c81a723642 | |||
| f9eb2a99ce | |||
| 16a02ef27d | |||
| 2c801320c2 | |||
| d20b32092e | |||
| 9de1a2a08f | |||
| cdb5d47e9f | |||
| 25e7d074cf | |||
| 667f4dfe28 | |||
| 21694ca3a8 | |||
| 9b910d5511 | |||
| 054ab6bff3 | |||
| 616420cda8 | |||
| fb3ac9afba | |||
| 7cd7cda2d4 | |||
| db0524278a | |||
| 1ff75eaba2 | |||
| 30dede867a | |||
| a5c6104d64 | |||
| c5869bdee2 | |||
| e7a2c6b5d1 | |||
| 06959a9c59 | |||
| cd65d44d95 | |||
| 45f2e86dd6 | |||
| f8226e8ae5 | |||
| b221b15d24 | |||
| 3a3d96b877 | |||
| f333d659c2 | |||
| 51e2313fac | |||
| e37d2b5c94 | |||
| 3870780894 | |||
| 21619f6a2f | |||
| 039bda9b61 | |||
| 6929603eef | |||
| 114926a488 | |||
| 5eb9dd0c5d | |||
| ebabc8f0bc | |||
| 232abf8534 | |||
| d22caf2658 | |||
| 3842aa6095 | |||
| 32c240978a | |||
| 212c2617f6 | |||
| 40f85c93ba | |||
| 2f02d98469 | |||
| 4553881fc2 | |||
| 81fcbcd99c | |||
| 82c6eb4675 | |||
| 8ed3f4226e | |||
| 9b7a0d7e1c | |||
| c9c2ae6c61 | |||
| 0229556b03 | |||
| 357d4517e8 | |||
| a4a97de84f |
@ -14,7 +14,7 @@ lmp_linux_mixed
|
||||
lmp_linux_double
|
||||
|
||||
The precision (single, mixed, double) refers to the GPU and USER-CUDA
|
||||
pacakge precision. See the README files in the lib/gpu and lib/cuda
|
||||
package precision. See the README files in the lib/gpu and lib/cuda
|
||||
directories for instructions on how to build the packages with
|
||||
different precisions. The GPU and USER-CUDA sub-sections of the
|
||||
doc/Section_accelerate.html file also describes this process.
|
||||
|
||||
1
doc/.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
/html
|
||||
/spelling
|
||||
/LAMMPS.epub
|
||||
/LAMMPS.mobi
|
||||
/Manual.pdf
|
||||
|
||||
35
doc/Makefile
@ -6,6 +6,7 @@ BUILDDIR = /tmp/lammps-docs-$(SHA1)
|
||||
RSTDIR = $(BUILDDIR)/rst
|
||||
VENV = $(BUILDDIR)/docenv
|
||||
TXT2RST = $(VENV)/bin/txt2rst
|
||||
ANCHORCHECK = $(VENV)/bin/doc_anchor_check
|
||||
|
||||
PYTHON = $(shell which python3)
|
||||
HAS_PYTHON3 = NO
|
||||
@ -22,7 +23,7 @@ endif
|
||||
SOURCES=$(wildcard src/*.txt)
|
||||
OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst)
|
||||
|
||||
.PHONY: help clean-all clean epub html pdf old venv
|
||||
.PHONY: help clean-all clean epub html pdf old venv spelling anchor_check
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
@ -36,6 +37,7 @@ help:
|
||||
@echo " clean remove all intermediate RST files"
|
||||
@echo " clean-all reset the entire build environment"
|
||||
@echo " txt2html build txt2html tool"
|
||||
@echo " anchor_check scan for duplicate anchor labels"
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
@ -43,13 +45,20 @@ clean-all:
|
||||
rm -rf $(BUILDDIR)/* utils/txt2html/txt2html.exe
|
||||
|
||||
clean:
|
||||
rm -rf $(RSTDIR)
|
||||
rm -rf $(RSTDIR) html
|
||||
rm -rf spelling
|
||||
|
||||
html: $(OBJECTS)
|
||||
clean-spelling:
|
||||
rm -rf spelling
|
||||
|
||||
html: $(OBJECTS) $(ANCHORCHECK)
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
cp -r src/* $(RSTDIR)/ ;\
|
||||
sphinx-build -j 8 -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
|
||||
echo "############################################" ;\
|
||||
doc_anchor_check src/*.txt ;\
|
||||
echo "############################################" ;\
|
||||
deactivate ;\
|
||||
)
|
||||
-rm html/searchindex.js
|
||||
@ -64,6 +73,17 @@ html: $(OBJECTS)
|
||||
@rm -rf html/USER/*/*.[sg]*
|
||||
@echo "Build finished. The HTML pages are in doc/html."
|
||||
|
||||
spelling: $(OBJECTS) utils/sphinx-config/false_positives.txt
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
pip install sphinxcontrib-spelling ;\
|
||||
cp -r src/* $(RSTDIR)/ ;\
|
||||
cp utils/sphinx-config/false_positives.txt $(RSTDIR)/ ;\
|
||||
sphinx-build -b spelling -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) spelling ;\
|
||||
deactivate ;\
|
||||
)
|
||||
@echo "Spell check finished."
|
||||
|
||||
epub: $(OBJECTS)
|
||||
@mkdir -p epub
|
||||
@rm -f LAMMPS.epub
|
||||
@ -112,6 +132,13 @@ fetch:
|
||||
|
||||
txt2html: utils/txt2html/txt2html.exe
|
||||
|
||||
anchor_check : $(ANCHORCHECK)
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
doc_anchor_check src/*.txt ;\
|
||||
deactivate ;\
|
||||
)
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
utils/txt2html/txt2html.exe: utils/txt2html/txt2html.cpp
|
||||
@ -136,7 +163,7 @@ $(VENV):
|
||||
deactivate;\
|
||||
)
|
||||
|
||||
$(TXT2RST): $(VENV)
|
||||
$(TXT2RST) $(ANCHORCHECK): $(VENV)
|
||||
@( \
|
||||
. $(VENV)/bin/activate; \
|
||||
(cd utils/converters;\
|
||||
|
||||
@ -464,7 +464,7 @@ the angletype option can only be assigned to a "fix style" of "shake",
|
||||
entirely rigid (e.g. water)
|
||||
the angletype option enables an additional check when SHAKE constraints
|
||||
are computed: if a cluster is of size 3 and both bonds in
|
||||
the cluster are of a bondtype specified by the 2nd paramter of
|
||||
the cluster are of a bondtype specified by the 2nd parameter of
|
||||
angletype, then the cluster is SHAKEn with an additional angle
|
||||
constraint that makes it rigid, using the equilibrium angle appropriate
|
||||
to the specified angletype
|
||||
@ -476,7 +476,7 @@ IMPORTANT NOTE: the angletype option has one additional affect, namely
|
||||
since they will not be SHAKEn but neither will the angle force by computed
|
||||
for style region, a coeff of INF means + or - infinity (all the way
|
||||
to the boundary)
|
||||
an atom can be assigned to multiple constraints, the contraints will be
|
||||
an atom can be assigned to multiple constraints, the constraints will be
|
||||
applied in the reverse order they are assigned to that atom
|
||||
(e.g. each timestep, the last fix assigned to an atom will be applied
|
||||
to it first, then the next-to-last applied second, etc)
|
||||
@ -689,7 +689,7 @@ coeffs: types
|
||||
remainder
|
||||
no other parameters required
|
||||
|
||||
used with "create temp" commmand to initialize velocities of atoms
|
||||
used with "create temp" command to initialize velocities of atoms
|
||||
by default, the "create temp" command initializes the velocities of all atoms,
|
||||
this command limits the initialization to a group of atoms
|
||||
this command is only in force for the next "create temp" command, any
|
||||
@ -1263,7 +1263,7 @@ when using constraints with the minimizer, fixes are
|
||||
applied when atoms move except for the following
|
||||
fixes associated with temperature control are not allowed
|
||||
(rescale, hoover/drag, langevin)
|
||||
the minimizer does not invoke the "fix style shake" contraints on
|
||||
the minimizer does not invoke the "fix style shake" constraints on
|
||||
bond lengths
|
||||
the minimizer does not invoke pressure control or volume control settings
|
||||
for good convergence, should specify use of smooth nonbond force fields
|
||||
@ -1566,7 +1566,7 @@ mesh dimensions that are power-of-two are fastest for FFTs, but any sizes
|
||||
can be used that are supported by native machine libraries
|
||||
this command is optional - if not used, a default
|
||||
mesh size will be chosen to satisfy accuracy criterion - if used, the
|
||||
specifed mesh size will override the default
|
||||
specified mesh size will override the default
|
||||
</PRE>
|
||||
<HR>
|
||||
<H3>
|
||||
@ -1788,7 +1788,7 @@ if the style is 2, restart information will be written alternately to files
|
||||
when the minimizer is invoked this command means create a restart file
|
||||
at the end of the minimization with the filename filename.timestep.min
|
||||
a restart file stores atom and force-field information in binary form
|
||||
allows program to restart from where it left off (see "read restart" commmand)
|
||||
allows program to restart from where it left off (see "read restart" command)
|
||||
|
||||
Default = 0
|
||||
</PRE>
|
||||
|
||||
@ -167,7 +167,7 @@ tool on the small-system data file.</P>
|
||||
<P>
|
||||
(6) flow</P>
|
||||
<P>
|
||||
2-d flow of Lennard-Jones atoms in a channel using various contraint
|
||||
2-d flow of Lennard-Jones atoms in a channel using various constraint
|
||||
options.</P>
|
||||
<P>
|
||||
(7) polymer</P>
|
||||
@ -201,7 +201,7 @@ The tools directory also has a F77 program called setup_chain.f
|
||||
(compile and link with print.c) which can be used to generate random
|
||||
initial polymer configurations for bead-spring models like those used
|
||||
in examples/polymer. It uses an input polymer definition file (see
|
||||
examples/polymer for two sample def files) that specfies how many
|
||||
examples/polymer for two sample def files) that specifies how many
|
||||
chains of what length, a random number seed, etc.</P>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@ -40,7 +40,7 @@ Note: this file is somewhat out-of-date for LAMMPS 99.</P>
|
||||
<LI>
|
||||
maxtype = max # of atom types
|
||||
<LI>
|
||||
maxbond = max # of bonds to compute on one procesor
|
||||
maxbond = max # of bonds to compute on one processor
|
||||
<LI>
|
||||
maxangle = max # of angles to compute on one processor
|
||||
<LI>
|
||||
|
||||
@ -294,7 +294,7 @@ assign a group of atoms to a particular constraint
|
||||
use appropriate number of coeffs for a particular style
|
||||
the constraint itself is defined by the "fix style" command
|
||||
multiple groups of atoms can be assigned to the same constraint
|
||||
an atom can be assigned to multiple constraints, the contraints will be
|
||||
an atom can be assigned to multiple constraints, the constraints will be
|
||||
applied in the reverse order they are assigned to that atom
|
||||
(e.g. each timestep, the last fix assigned to an atom will be applied
|
||||
to it first, then the next-to-last applied second, etc)
|
||||
@ -477,7 +477,7 @@ coeffs: types
|
||||
remainder
|
||||
no other parameters required
|
||||
|
||||
used with "create temp" commmand to initialize velocities of atoms
|
||||
used with "create temp" command to initialize velocities of atoms
|
||||
by default, the "create temp" command initializes the velocities of all atoms,
|
||||
this command limits the initialization to a group of atoms
|
||||
this command is only in force for the next "create temp" command, any
|
||||
@ -1124,7 +1124,7 @@ mesh dimensions that are power-of-two are fastest for FFTs, but any size
|
||||
can be used that are supported by native machine libraries
|
||||
this command is optional - if not used, a default
|
||||
mesh size will be chosen to satisfy accuracy criterion - if used, the
|
||||
specifed mesh size will override the default
|
||||
specified mesh size will override the default
|
||||
|
||||
Default = none
|
||||
</PRE>
|
||||
@ -1343,7 +1343,7 @@ value of 0 means never create one
|
||||
program will toggle between 2 filenames as the run progresses
|
||||
so always have at least one good file even if the program dies in mid-write
|
||||
restart file stores atom positions and velocities in binary form
|
||||
allows program to restart from where it left off (see "read restart" commmand)
|
||||
allows program to restart from where it left off (see "read restart" command)
|
||||
|
||||
Default = 0
|
||||
</PRE>
|
||||
|
||||
BIN
doc/src/Eqs/bond_oxdna_fene.jpg
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
10
doc/src/Eqs/bond_oxdna_fene.tex
Normal file
@ -0,0 +1,10 @@
|
||||
\documentclass[12pt]{article}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
E = - \frac{\epsilon}{2} \ln \left[ 1 - \left(\frac{r-r0}{\Delta}\right)^2\right]
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/fix_gcmc1.jpg
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
9
doc/src/Eqs/fix_gcmc1.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
\mu &=&\mu^{id} + \mu^{ex}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/fix_gcmc2.jpg
Normal file
|
After Width: | Height: | Size: 10 KiB |
10
doc/src/Eqs/fix_gcmc2.tex
Normal file
@ -0,0 +1,10 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
\mu^{id} &=& k T \ln{\rho \Lambda^3} \\
|
||||
&=& k T \ln{\frac{\phi P \Lambda^3}{k T}}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/fix_gcmc3.jpg
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
9
doc/src/Eqs/fix_gcmc3.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
\Lambda &=& \sqrt{ \frac{h^2}{2 \pi m k T}}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/fix_grem.jpg
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
9
doc/src/Eqs/fix_grem.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
T_{eff} = \lambda + \eta (H - H_0)
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_agni.jpg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
doc/src/Eqs/pair_kolmogorov_crespi_z.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
13
doc/src/Eqs/pair_kolmogorov_crespi_z.tex
Normal file
@ -0,0 +1,13 @@
|
||||
\documentclass[12pt]{article}
|
||||
\thispagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
|
||||
V_{ij} & = & e^{-\lambda(r_{ij} -z_0}) \left[ C + f(\rho_{ij}) + f(\rho_{ji}) \right] - A \left( \frac{r_{ij}}{z_0}\right)^{-6} + A \left( \frac{\textrm{cutoff}}{z_0}\right)^{-6} \\
|
||||
\rho_{ij}^2 = \rho_{ji}^2 & = & x_{ij}^2 + y_{ij}^2 ~\hspace{2cm} (\mathbf{n_i}\equiv\hat \mathbf{z})\\
|
||||
f(\rho) & = & e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} \left( \rho/\delta \right) ^{2n}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_momb.jpg
Normal file
|
After Width: | Height: | Size: 17 KiB |
13
doc/src/Eqs/pair_momb.tex
Normal file
@ -0,0 +1,13 @@
|
||||
\documentclass[12pt,fleqn]{article}
|
||||
\usepackage{amsmath}
|
||||
\thispagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\setlength{\jot}{2ex}
|
||||
\begin{gather*}
|
||||
E = D_0 [\exp^{-2 \alpha (r-r_0)} - 2\exp^{-\alpha (r-r_0)}] - s_6 \frac{C_6}{r^6} f_{damp}(r,R_r) \\
|
||||
f_{damp}(r,R_r) = \frac{1}{1 + \exp^{-d(r/R_r - 1)}}
|
||||
\end{gather*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_tersoff_mod_c.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
10
doc/src/Eqs/pair_tersoff_mod_c.tex
Normal file
@ -0,0 +1,10 @@
|
||||
\documentclass[12pt]{article}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
V_{ij} & = & f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) + c_0 \right]
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.2 KiB |
@ -3,7 +3,7 @@
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
P = \frac{N k_B T}{V} + \frac{\sum_{i}^{N} r_i \bullet f_i}{dV}
|
||||
P = \frac{N k_B T}{V} + \frac{\sum_{i}^{N'} r_i \bullet f_i}{dV}
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 5.3 KiB |
@ -4,7 +4,7 @@
|
||||
|
||||
$$
|
||||
P_{IJ} = \frac{\sum_{k}^{N} m_k v_{k_I} v_{k_J}}{V} +
|
||||
\frac{\sum_{k}^{N} r_{k_I} f_{k_J}}{V}
|
||||
\frac{\sum_{k}^{N'} r_{k_I} f_{k_J}}{V}
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
|
||||
BIN
doc/src/JPG/pylammps_dihedral.jpg
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
doc/src/JPG/pylammps_mc_disordered.jpg
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
doc/src/JPG/pylammps_mc_energies_plot.jpg
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
doc/src/JPG/pylammps_mc_minimum.jpg
Normal file
|
After Width: | Height: | Size: 111 KiB |
BIN
doc/src/JPG/tutorial_additional_changes.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
doc/src/JPG/tutorial_automated_checks.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
doc/src/JPG/tutorial_automated_checks_passed.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 16 KiB |
BIN
doc/src/JPG/tutorial_changes_others.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
doc/src/JPG/tutorial_create_new_pull_request1.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
doc/src/JPG/tutorial_create_new_pull_request2.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
doc/src/JPG/tutorial_edits_maintainers.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 25 KiB |
BIN
doc/src/JPG/tutorial_new_pull_request.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request2.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request3.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request4.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request5.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request6.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
doc/src/JPG/tutorial_reverse_pull_request7.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
doc/src/JPG/tutorial_steve_assignee.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="5 Nov 2016 version">
|
||||
<META NAME="docnumber" CONTENT="4 May 2017 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 @@
|
||||
<H1></H1>
|
||||
|
||||
LAMMPS Documentation :c,h3
|
||||
5 Nov 2016 version :c,h4
|
||||
4 May 2017 version :c,h4
|
||||
|
||||
Version info: :h4
|
||||
|
||||
@ -39,7 +39,7 @@ directory name created when you unpack a tarball, and at the top of
|
||||
the first page of the manual (this page).
|
||||
|
||||
If you browse the HTML doc pages on the LAMMPS WWW site, they always
|
||||
describe the most current version of LAMMPS. :ulb,l
|
||||
describe the most current [development] version of LAMMPS. :ulb,l
|
||||
|
||||
If you browse the HTML doc pages included in your tarball, they
|
||||
describe the version you have. :l
|
||||
@ -67,7 +67,7 @@ Labs and Temple University:
|
||||
|
||||
"Steve Plimpton"_sjp, sjplimp at sandia.gov :ulb,l
|
||||
Aidan Thompson, athomps at sandia.gov :l
|
||||
Stan Moore, stamoore at sandia.gov :l
|
||||
Stan Moore, stamoor at sandia.gov :l
|
||||
"Axel Kohlmeyer"_ako, akohlmey at gmail.com :l
|
||||
:ule
|
||||
|
||||
@ -158,12 +158,11 @@ END_RST -->
|
||||
2.1 "What's in the LAMMPS distribution"_start_1 :ulb,b
|
||||
2.2 "Making LAMMPS"_start_2 :b
|
||||
2.3 "Making LAMMPS with optional packages"_start_3 :b
|
||||
2.4 "Building LAMMPS via the Make.py script"_start_4 :b
|
||||
2.5 "Building LAMMPS as a library"_start_5 :b
|
||||
2.6 "Running LAMMPS"_start_6 :b
|
||||
2.7 "Command-line options"_start_7 :b
|
||||
2.8 "Screen output"_start_8 :b
|
||||
2.9 "Tips for users of previous versions"_start_9 :ule,b
|
||||
2.4 "Building LAMMPS as a library"_start_4 :b
|
||||
2.5 "Running LAMMPS"_start_5 :b
|
||||
2.6 "Command-line options"_start_6 :b
|
||||
2.7 "Screen output"_start_7 :b
|
||||
2.8 "Tips for users of previous versions"_start_8 :ule,b
|
||||
"Commands"_Section_commands.html :l
|
||||
3.1 "LAMMPS input script"_cmd_1 :ulb,b
|
||||
3.2 "Parsing rules"_cmd_2 :b
|
||||
|
||||
BIN
doc/src/PDF/USER-CGDNA-overview.pdf
Normal file
@ -281,12 +281,12 @@ the "minimize"_minimize.html command. A parallel tempering
|
||||
|
||||
3.4 Commands listed by category :link(cmd_4),h4
|
||||
|
||||
This section lists all LAMMPS commands, grouped by category. The
|
||||
"next section"_#cmd_5 lists the same commands alphabetically. The
|
||||
This section lists core LAMMPS commands, grouped by category.
|
||||
The "next section"_#cmd_5 lists all commands alphabetically. The
|
||||
next section also includes (long) lists of style options for entries
|
||||
that appear in the following categories as a single command (fix,
|
||||
compute, pair, etc). Commands that are added by user packages are not
|
||||
included in these categories, but they are in the next section.
|
||||
included in the categories here, but they are in the next section.
|
||||
|
||||
Initialization:
|
||||
|
||||
@ -361,7 +361,7 @@ Settings:
|
||||
"timer"_timer.html,
|
||||
"timestep"_timestep.html
|
||||
|
||||
Operations within timestepping (fixes) and diagnositics (computes):
|
||||
Operations within timestepping (fixes) and diagnostics (computes):
|
||||
|
||||
"compute"_compute.html,
|
||||
"compute_modify"_compute_modify.html,
|
||||
@ -531,7 +531,8 @@ package"_Section_start.html#start_3.
|
||||
"dump nc"_dump_nc.html,
|
||||
"dump nc/mpiio"_dump_nc.html,
|
||||
"group2ndx"_group2ndx.html,
|
||||
"ndx2group"_group2ndx.html :tb(c=3,ea=c)
|
||||
"ndx2group"_group2ndx.html,
|
||||
"temper/grem"_temper_grem.html :tb(c=3,ea=c)
|
||||
|
||||
:line
|
||||
|
||||
@ -580,8 +581,9 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"indent"_fix_indent.html,
|
||||
"langevin (k)"_fix_langevin.html,
|
||||
"lineforce"_fix_lineforce.html,
|
||||
"momentum"_fix_momentum.html,
|
||||
"momentum (k)"_fix_momentum.html,
|
||||
"move"_fix_move.html,
|
||||
"mscg"_fix_mscg.html,
|
||||
"msst"_fix_msst.html,
|
||||
"neb"_fix_neb.html,
|
||||
"nph (ko)"_fix_nh.html,
|
||||
@ -632,10 +634,10 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"rigid/nve (o)"_fix_rigid.html,
|
||||
"rigid/nvt (o)"_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,
|
||||
"rigid/small/nph (o)"_fix_rigid.html,
|
||||
"rigid/small/npt (o)"_fix_rigid.html,
|
||||
"rigid/small/nve (o)"_fix_rigid.html,
|
||||
"rigid/small/nvt (o)"_fix_rigid.html,
|
||||
"setforce (k)"_fix_setforce.html,
|
||||
"shake"_fix_shake.html,
|
||||
"spring"_fix_spring.html,
|
||||
@ -685,8 +687,10 @@ package"_Section_start.html#start_3.
|
||||
"eos/cv"_fix_eos_cv.html,
|
||||
"eos/table"_fix_eos_table.html,
|
||||
"eos/table/rx"_fix_eos_table_rx.html,
|
||||
"filter/corotate"_fix_filter_corotate.html,
|
||||
"flow/gauss"_fix_flow_gauss.html,
|
||||
"gle"_fix_gle.html,
|
||||
"grem"_fix_grem.html,
|
||||
"imd"_fix_imd.html,
|
||||
"ipi"_fix_ipi.html,
|
||||
"langevin/drude"_fix_langevin_drude.html,
|
||||
@ -699,7 +703,10 @@ package"_Section_start.html#start_3.
|
||||
"meso"_fix_meso.html,
|
||||
"manifoldforce"_fix_manifoldforce.html,
|
||||
"meso/stationary"_fix_meso_stationary.html,
|
||||
"nve/dot"_fix_nve_dot.html,
|
||||
"nve/dotc/langevin"_fix_nve_dotc_langevin.html,
|
||||
"nve/manifold/rattle"_fix_nve_manifold_rattle.html,
|
||||
"nvk"_fix_nvk.html,
|
||||
"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html,
|
||||
"nph/eff"_fix_nh_eff.html,
|
||||
"npt/eff"_fix_nh_eff.html,
|
||||
@ -765,6 +772,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"erotate/sphere"_compute_erotate_sphere.html,
|
||||
"erotate/sphere/atom"_compute_erotate_sphere_atom.html,
|
||||
"event/displace"_compute_event_displace.html,
|
||||
"global/atom"_compute_global_atom.html,
|
||||
"group/group"_compute_group_group.html,
|
||||
"gyration"_compute_gyration.html,
|
||||
"gyration/chunk"_compute_gyration_chunk.html,
|
||||
@ -886,6 +894,8 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"body"_pair_body.html,
|
||||
"bop"_pair_bop.html,
|
||||
"born (go)"_pair_born.html,
|
||||
"born/coul/dsf"_pair_born.html,
|
||||
"born/coul/dsf/cs"_pair_born.html,
|
||||
"born/coul/long (go)"_pair_born.html,
|
||||
"born/coul/long/cs"_pair_born.html,
|
||||
"born/coul/msm (o)"_pair_born.html,
|
||||
@ -909,10 +919,10 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"coul/msm"_pair_coul.html,
|
||||
"coul/streitz"_pair_coul.html,
|
||||
"coul/wolf (ko)"_pair_coul.html,
|
||||
"dpd (o)"_pair_dpd.html,
|
||||
"dpd/tstat (o)"_pair_dpd.html,
|
||||
"dpd (go)"_pair_dpd.html,
|
||||
"dpd/tstat (go)"_pair_dpd.html,
|
||||
"dsmc"_pair_dsmc.html,
|
||||
"eam (gkot)"_pair_eam.html,
|
||||
"eam (gkiot)"_pair_eam.html,
|
||||
"eam/alloy (gkot)"_pair_eam.html,
|
||||
"eam/fs (gkot)"_pair_eam.html,
|
||||
"eim (o)"_pair_eim.html,
|
||||
@ -930,6 +940,8 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long (giko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/msm"_pair_charmm.html,
|
||||
"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html,
|
||||
"lj/charmmfsw/coul/long"_pair_charmm.html,
|
||||
"lj/class2 (gko)"_pair_class2.html,
|
||||
"lj/class2/coul/cut (ko)"_pair_class2.html,
|
||||
"lj/class2/coul/long (gko)"_pair_class2.html,
|
||||
@ -960,7 +972,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"lubricateU/poly"_pair_lubricateU.html,
|
||||
"meam"_pair_meam.html,
|
||||
"mie/cut (o)"_pair_mie.html,
|
||||
"morse (got)"_pair_morse.html,
|
||||
"morse (gkot)"_pair_morse.html,
|
||||
"nb3b/harmonic (o)"_pair_nb3b_harmonic.html,
|
||||
"nm/cut (o)"_pair_nm.html,
|
||||
"nm/cut/coul/cut (o)"_pair_nm.html,
|
||||
@ -979,11 +991,12 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"table (gko)"_pair_table.html,
|
||||
"tersoff (gkio)"_pair_tersoff.html,
|
||||
"tersoff/mod (gko)"_pair_tersoff_mod.html,
|
||||
"tersoff/mod/c (o)"_pair_tersoff_mod.html,
|
||||
"tersoff/zbl (gko)"_pair_tersoff_zbl.html,
|
||||
"tip4p/cut (o)"_pair_coul.html,
|
||||
"tip4p/long (o)"_pair_coul.html,
|
||||
"tri/lj"_pair_tri_lj.html,
|
||||
"vashishta (o)"_pair_vashishta.html,
|
||||
"vashishta (ko)"_pair_vashishta.html,
|
||||
"vashishta/table (o)"_pair_vashishta.html,
|
||||
"yukawa (go)"_pair_yukawa.html,
|
||||
"yukawa/colloid (go)"_pair_yukawa_colloid.html,
|
||||
@ -993,6 +1006,7 @@ These are additional pair styles in USER packages, which can be used
|
||||
if "LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"agni (o)"_pair_agni.html,
|
||||
"awpmd/cut"_pair_awpmd.html,
|
||||
"buck/mdf"_pair_mdf.html,
|
||||
"coul/cut/soft (o)"_pair_lj_soft.html,
|
||||
@ -1005,6 +1019,7 @@ package"_Section_start.html#start_3.
|
||||
"eff/cut"_pair_eff.html,
|
||||
"exp6/rx"_pair_exp6_rx.html,
|
||||
"gauss/cut"_pair_gauss.html,
|
||||
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
|
||||
"lennard/mdf"_pair_mdf.html,
|
||||
"list"_pair_list.html,
|
||||
"lj/charmm/coul/long/soft (o)"_pair_charmm.html,
|
||||
@ -1022,12 +1037,22 @@ package"_Section_start.html#start_3.
|
||||
"meam/spline (o)"_pair_meam_spline.html,
|
||||
"meam/sw/spline"_pair_meam_sw_spline.html,
|
||||
"mgpt"_pair_mgpt.html,
|
||||
"momb"_pair_momb.html,
|
||||
"morse/smooth/linear"_pair_morse.html,
|
||||
"morse/soft"_pair_morse.html,
|
||||
"multi/lucy"_pair_multi_lucy.html,
|
||||
"multi/lucy/rx"_pair_multi_lucy_rx.html,
|
||||
"oxdna/coaxstk"_pair_oxdna.html,
|
||||
"oxdna/excv"_pair_oxdna.html,
|
||||
"oxdna/hbond"_pair_oxdna.html,
|
||||
"oxdna/stk"_pair_oxdna.html,
|
||||
"oxdna/xstk"_pair_oxdna.html,
|
||||
"oxdna2/coaxstk"_pair_oxdna2.html,
|
||||
"oxdna2/dh"_pair_oxdna2.html,
|
||||
"oxdna2/excv"_pair_oxdna2.html,
|
||||
"oxdna2/stk"_pair_oxdna2.html,
|
||||
"quip"_pair_quip.html,
|
||||
"reax/c (k)"_pair_reax_c.html,
|
||||
"reax/c (k)"_pair_reaxc.html,
|
||||
"smd/hertz"_pair_smd_hertz.html,
|
||||
"smd/tlsph"_pair_smd_tlsph.html,
|
||||
"smd/triangulated/surface"_pair_smd_triangulated_surface.html,
|
||||
@ -1043,7 +1068,7 @@ package"_Section_start.html#start_3.
|
||||
"table/rx"_pair_table_rx.html,
|
||||
"tersoff/table (o)"_pair_tersoff.html,
|
||||
"thole"_pair_thole.html,
|
||||
"tip4p/long/soft (o)"_pair_lj_soft.html :tb(c=4,ea=c)
|
||||
"tip4p/long/soft (o)"_pair_lj_soft.html :tb(c=4,ea=c)
|
||||
|
||||
:line
|
||||
|
||||
@ -1060,7 +1085,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"none"_bond_none.html,
|
||||
"zero"_bond_zero.html,
|
||||
"hybrid"_bond_hybrid.html,
|
||||
"class2 (o)"_bond_class2.html,
|
||||
"class2 (ko)"_bond_class2.html,
|
||||
"fene (iko)"_bond_fene.html,
|
||||
"fene/expand (o)"_bond_fene_expand.html,
|
||||
"harmonic (ko)"_bond_harmonic.html,
|
||||
@ -1074,7 +1099,9 @@ if "LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"harmonic/shift (o)"_bond_harmonic_shift.html,
|
||||
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html :tb(c=4,ea=c)
|
||||
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
|
||||
"oxdna/fene"_bond_oxdna.html,
|
||||
"oxdna2/fene"_bond_oxdna.html :tb(c=4,ea=c)
|
||||
|
||||
:line
|
||||
|
||||
@ -1092,7 +1119,7 @@ USER-OMP, t = OPT.
|
||||
"zero"_angle_zero.html,
|
||||
"hybrid"_angle_hybrid.html,
|
||||
"charmm (ko)"_angle_charmm.html,
|
||||
"class2 (o)"_angle_class2.html,
|
||||
"class2 (ko)"_angle_class2.html,
|
||||
"cosine (o)"_angle_cosine.html,
|
||||
"cosine/delta (o)"_angle_cosine_delta.html,
|
||||
"cosine/periodic (o)"_angle_cosine_periodic.html,
|
||||
@ -1128,7 +1155,8 @@ USER-OMP, t = OPT.
|
||||
"zero"_dihedral_zero.html,
|
||||
"hybrid"_dihedral_hybrid.html,
|
||||
"charmm (ko)"_dihedral_charmm.html,
|
||||
"class2 (o)"_dihedral_class2.html,
|
||||
"charmmfsw"_dihedral_charmm.html,
|
||||
"class2 (ko)"_dihedral_class2.html,
|
||||
"harmonic (io)"_dihedral_harmonic.html,
|
||||
"helix (o)"_dihedral_helix.html,
|
||||
"multi/harmonic (o)"_dihedral_multi_harmonic.html,
|
||||
@ -1160,7 +1188,7 @@ USER-OMP, t = OPT.
|
||||
"none"_improper_none.html,
|
||||
"zero"_improper_zero.html,
|
||||
"hybrid"_improper_hybrid.html,
|
||||
"class2 (o)"_improper_class2.html,
|
||||
"class2 (ko)"_improper_class2.html,
|
||||
"cvff (io)"_improper_cvff.html,
|
||||
"harmonic (ko)"_improper_harmonic.html,
|
||||
"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c)
|
||||
|
||||
@ -22,7 +22,7 @@ either conceptually, or as printed out by the program.
|
||||
|
||||
12.1 Common problems :link(err_1),h4
|
||||
|
||||
If two LAMMPS runs do not produce the same answer on different
|
||||
If two LAMMPS runs do not produce the exact same answer on different
|
||||
machines or different numbers of processors, this is typically not a
|
||||
bug. In theory you should get identical answers on any number of
|
||||
processors and on any machine. In practice, numerical round-off can
|
||||
@ -55,12 +55,13 @@ LAMMPS errors are detected at setup time; others like a bond
|
||||
stretching too far may not occur until the middle of a run.
|
||||
|
||||
LAMMPS tries to flag errors and print informative error messages so
|
||||
you can fix the problem. Of course, LAMMPS cannot figure out your
|
||||
physics or numerical mistakes, like choosing too big a timestep,
|
||||
specifying erroneous force field coefficients, or putting 2 atoms on
|
||||
top of each other! If you run into errors that LAMMPS doesn't catch
|
||||
that you think it should flag, please send an email to the
|
||||
"developers"_http://lammps.sandia.gov/authors.html.
|
||||
you can fix the problem. For most errors it will also print the last
|
||||
input script command that it was processing. Of course, LAMMPS cannot
|
||||
figure out your physics or numerical mistakes, like choosing too big a
|
||||
timestep, specifying erroneous force field coefficients, or putting 2
|
||||
atoms on top of each other! If you run into errors that LAMMPS
|
||||
doesn't catch that you think it should flag, please send an email to
|
||||
the "developers"_http://lammps.sandia.gov/authors.html.
|
||||
|
||||
If you get an error message about an invalid command in your input
|
||||
script, you can determine what command is causing the problem by
|
||||
@ -79,12 +80,24 @@ order. If you mess this up, LAMMPS will often flag the error, but it
|
||||
may also simply read a bogus argument and assign a value that is
|
||||
valid, but not what you wanted. E.g. trying to read the string "abc"
|
||||
as an integer value of 0. Careful reading of the associated doc page
|
||||
for the command should allow you to fix these problems. Note that
|
||||
some commands allow for variables to be specified in place of numeric
|
||||
constants so that the value can be evaluated and change over the
|
||||
course of a run. This is typically done with the syntax {v_name} for
|
||||
a parameter, where name is the name of the variable. This is only
|
||||
allowed if the command documentation says it is.
|
||||
for the command should allow you to fix these problems. In most cases,
|
||||
where LAMMPS expects to read a number, either integer or floating point,
|
||||
it performs a stringent test on whether the provided input actually
|
||||
is an integer or floating-point number, respectively, and reject the
|
||||
input with an error message (for instance, when an integer is required,
|
||||
but a floating-point number 1.0 is provided):
|
||||
|
||||
ERROR: Expected integer parameter in input script or data file :pre
|
||||
|
||||
Some commands allow for using variable references in place of numeric
|
||||
constants so that the value can be evaluated and may change over the
|
||||
course of a run. This is typically done with the syntax {v_name} for a
|
||||
parameter, where name is the name of the variable. On the other hand,
|
||||
immediate variable expansion with the syntax ${name} is performed while
|
||||
reading the input and before parsing commands,
|
||||
|
||||
NOTE: Using a variable reference (i.e. {v_name}) is only allowed if
|
||||
the documentation of the corresponding command explicitly says it is.
|
||||
|
||||
Generally, LAMMPS will print a message to the screen and logfile and
|
||||
exit gracefully when it encounters a fatal error. Sometimes it will
|
||||
@ -561,11 +574,11 @@ group of atoms correctly. :dd
|
||||
|
||||
{Bad quadratic solve for particle/line collision} :dt
|
||||
|
||||
This is an internal error. It should nornally not occur. :dd
|
||||
This is an internal error. It should normally not occur. :dd
|
||||
|
||||
{Bad quadratic solve for particle/tri collision} :dt
|
||||
|
||||
This is an internal error. It should nornally not occur. :dd
|
||||
This is an internal error. It should normally not occur. :dd
|
||||
|
||||
{Bad real space Coulomb cutoff in fix tune/kspace} :dt
|
||||
|
||||
@ -899,7 +912,7 @@ Atoms can not be added afterwards to this fix option. :dd
|
||||
|
||||
{Cannot append atoms to a triclinic box} :dt
|
||||
|
||||
The simulation box must be defined with edges alligned with the
|
||||
The simulation box must be defined with edges aligned with the
|
||||
Cartesian axes. :dd
|
||||
|
||||
{Cannot balance in z dimension for 2d simulation} :dt
|
||||
@ -979,7 +992,7 @@ file. :dd
|
||||
|
||||
LAMMPS failed to compute an initial guess for the PPPM_disp g_ewald_6
|
||||
factor that partitions the computation between real space and k-space
|
||||
for Disptersion interactions. :dd
|
||||
for Dispersion interactions. :dd
|
||||
|
||||
{Cannot create an atom map unless atoms have IDs} :dt
|
||||
|
||||
@ -1314,7 +1327,7 @@ Self-explanatory. :dd
|
||||
|
||||
This file is created when you use some LAMMPS features, to indicate
|
||||
what paper you should cite on behalf of those who implemented
|
||||
the feature. Check that you have write priveleges into the directory
|
||||
the feature. Check that you have write privileges into the directory
|
||||
you are running in. :dd
|
||||
|
||||
{Cannot open log.lammps for writing} :dt
|
||||
@ -1992,7 +2005,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Cannot use fix reax/bonds without pair_style reax} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Cannot use fix rigid npt/nph and fix deform on same component of stress tensor} :dt
|
||||
|
||||
@ -2075,7 +2088,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Cannot use lines with fix srd unless overlap is set} :dt
|
||||
|
||||
This is because line segements are connected to each other. :dd
|
||||
This is because line segments are connected to each other. :dd
|
||||
|
||||
{Cannot use multiple fix wall commands with pair brownian} :dt
|
||||
|
||||
@ -2118,7 +2131,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Cannot use newton pair with born/gpu pair style} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Cannot use newton pair with buck/coul/cut/gpu pair style} :dt
|
||||
|
||||
@ -2278,7 +2291,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Cannot use newton pair with zbl/gpu pair style} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Cannot use non-zero forces in an energy minimization} :dt
|
||||
|
||||
@ -2628,11 +2641,11 @@ uses a pairwise neighbor list. :dd
|
||||
|
||||
{Compute chunk/atom bin/cylinder radius is too large for periodic box} :dt
|
||||
|
||||
Radius cannot be bigger than 1/2 of a non-axis periodic dimention. :dd
|
||||
Radius cannot be bigger than 1/2 of a non-axis periodic dimension. :dd
|
||||
|
||||
{Compute chunk/atom bin/sphere radius is too large for periodic box} :dt
|
||||
|
||||
Radius cannot be bigger than 1/2 of any periodic dimention. :dd
|
||||
Radius cannot be bigger than 1/2 of any periodic dimension. :dd
|
||||
|
||||
{Compute chunk/atom compute array is accessed out-of-range} :dt
|
||||
|
||||
@ -2693,15 +2706,15 @@ It will only store IDs if its compress option is enabled. :dd
|
||||
|
||||
{Compute chunk/atom stores no coord1 for compute property/chunk} :dt
|
||||
|
||||
Only certain binning options for comptue chunk/atom store coordinates. :dd
|
||||
Only certain binning options for compute chunk/atom store coordinates. :dd
|
||||
|
||||
{Compute chunk/atom stores no coord2 for compute property/chunk} :dt
|
||||
|
||||
Only certain binning options for comptue chunk/atom store coordinates. :dd
|
||||
Only certain binning options for compute chunk/atom store coordinates. :dd
|
||||
|
||||
{Compute chunk/atom stores no coord3 for compute property/chunk} :dt
|
||||
|
||||
Only certain binning options for comptue chunk/atom store coordinates. :dd
|
||||
Only certain binning options for compute chunk/atom store coordinates. :dd
|
||||
|
||||
{Compute chunk/atom variable is not atom-style variable} :dt
|
||||
|
||||
@ -2722,11 +2735,11 @@ is used to find clusters. :dd
|
||||
|
||||
{Compute cna/atom cutoff is longer than pairwise cutoff} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute cna/atom requires a pair style be defined} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute com/chunk does not use chunk/atom compute} :dt
|
||||
|
||||
@ -2734,7 +2747,7 @@ The style of the specified compute is not chunk/atom. :dd
|
||||
|
||||
{Compute contact/atom requires a pair style be defined} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute contact/atom requires atom style sphere} :dt
|
||||
|
||||
@ -2747,7 +2760,7 @@ since those atoms are not in the neighbor list. :dd
|
||||
|
||||
{Compute coord/atom requires a pair style be defined} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute damage/atom requires peridynamic potential} :dt
|
||||
|
||||
@ -2777,7 +2790,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Compute erotate/asphere requires extended particles} :dt
|
||||
|
||||
This compute cannot be used with point paritlces. :dd
|
||||
This compute cannot be used with point particles. :dd
|
||||
|
||||
{Compute erotate/rigid with non-rigid fix-ID} :dt
|
||||
|
||||
@ -2822,7 +2835,7 @@ Cannot compute order parameter beyond cutoff. :dd
|
||||
|
||||
{Compute hexorder/atom requires a pair style be defined} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute improper/local used when impropers are not allowed} :dt
|
||||
|
||||
@ -2868,11 +2881,11 @@ Cannot compute order parameter beyond cutoff. :dd
|
||||
|
||||
{Compute orientorder/atom requires a pair style be defined} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Compute pair must use group all} :dt
|
||||
|
||||
Pair styles accumlate energy on all atoms. :dd
|
||||
Pair styles accumulate energy on all atoms. :dd
|
||||
|
||||
{Compute pe must use group all} :dt
|
||||
|
||||
@ -2922,7 +2935,7 @@ The style of the specified compute is not chunk/atom. :dd
|
||||
{Compute property/local cannot use these inputs together} :dt
|
||||
|
||||
Only inputs that generate the same number of datums can be used
|
||||
togther. E.g. bond and angle quantities cannot be mixed. :dd
|
||||
together. E.g. bond and angle quantities cannot be mixed. :dd
|
||||
|
||||
{Compute property/local does not (yet) work with atom_style template} :dt
|
||||
|
||||
@ -3066,7 +3079,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Compute temp/asphere requires extended particles} :dt
|
||||
|
||||
This compute cannot be used with point paritlces. :dd
|
||||
This compute cannot be used with point particles. :dd
|
||||
|
||||
{Compute temp/body requires atom style body} :dt
|
||||
|
||||
@ -3511,12 +3524,12 @@ path and name are correct. :dd
|
||||
|
||||
{Could not process Python file} :dt
|
||||
|
||||
The Python code in the specified file was not run sucessfully by
|
||||
The Python code in the specified file was not run successfully by
|
||||
Python, probably due to errors in the Python code. :dd
|
||||
|
||||
{Could not process Python string} :dt
|
||||
|
||||
The Python code in the here string was not run sucessfully by Python,
|
||||
The Python code in the here string was not run successfully by Python,
|
||||
probably due to errors in the Python code. :dd
|
||||
|
||||
{Coulomb PPPMDisp order has been reduced below minorder} :dt
|
||||
@ -3625,7 +3638,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Cutoffs missing in pair_style buck/long/coul/long} :dt
|
||||
|
||||
Self-exlanatory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Cutoffs missing in pair_style lj/long/coul/long} :dt
|
||||
|
||||
@ -4372,7 +4385,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Fix ave/chunk does not use chunk/atom compute} :dt
|
||||
|
||||
The specified conpute is not for a compute chunk/atom command. :dd
|
||||
The specified compute is not for a compute chunk/atom command. :dd
|
||||
|
||||
{Fix ave/chunk fix does not calculate a per-atom array} :dt
|
||||
|
||||
@ -4604,11 +4617,11 @@ An index for the array is out of bounds. :dd
|
||||
|
||||
{Fix ave/time compute does not calculate a scalar} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Fix ave/time compute does not calculate a vector} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Fix ave/time compute does not calculate an array} :dt
|
||||
|
||||
@ -4957,7 +4970,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Fix langevin angmom requires extended particles} :dt
|
||||
|
||||
This fix option cannot be used with point paritlces. :dd
|
||||
This fix option cannot be used with point particles. :dd
|
||||
|
||||
{Fix langevin omega is not yet implemented with kokkos} :dt
|
||||
|
||||
@ -6158,7 +6171,7 @@ map command will force an atom map to be created. :dd
|
||||
|
||||
{Initial temperatures not all set in fix ttm} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Input line quote not followed by whitespace} :dt
|
||||
|
||||
@ -6186,7 +6199,7 @@ Eigensolve for rigid body was not sufficiently accurate. :dd
|
||||
|
||||
{Insufficient Jacobi rotations for triangle} :dt
|
||||
|
||||
The calculation of the intertia tensor of the triangle failed. This
|
||||
The calculation of the inertia tensor of the triangle failed. This
|
||||
should not happen if it is a reasonably shaped triangle. :dd
|
||||
|
||||
{Insufficient memory on accelerator} :dt
|
||||
@ -6450,15 +6463,15 @@ Self-explanatory. :dd
|
||||
|
||||
{Invalid attribute in dump custom command} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Invalid attribute in dump local command} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Invalid attribute in dump modify command} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Invalid basis setting in create_atoms command} :dt
|
||||
|
||||
@ -6724,7 +6737,7 @@ or cause multiple files to be written. :dd
|
||||
Filenames used with the dump xyz style cannot be binary or cause files
|
||||
to be written by each processor. :dd
|
||||
|
||||
{Invalid dump_modify threshhold operator} :dt
|
||||
{Invalid dump_modify threshold operator} :dt
|
||||
|
||||
Operator keyword used for threshold specification in not recognized. :dd
|
||||
|
||||
@ -6738,7 +6751,7 @@ The fix is not recognized. :dd
|
||||
|
||||
{Invalid fix ave/time off column} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Invalid fix box/relax command for a 2d simulation} :dt
|
||||
|
||||
@ -7300,7 +7313,7 @@ Self-explanatory. Check the input script or data file. :dd
|
||||
|
||||
{LJ6 off not supported in pair_style buck/long/coul/long} :dt
|
||||
|
||||
Self-exlanatory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Label wasn't found in input script} :dt
|
||||
|
||||
@ -7348,7 +7361,7 @@ This should not occur. Report the problem to the developers. :dd
|
||||
Lost atoms are checked for each time thermo output is done. See the
|
||||
thermo_modify lost command for options. Lost atoms usually indicate
|
||||
bad dynamics, e.g. atoms have been blown far out of the simulation
|
||||
box, or moved futher than one processor's sub-domain away before
|
||||
box, or moved further than one processor's sub-domain away before
|
||||
reneighboring. :dd
|
||||
|
||||
{MEAM library error %d} :dt
|
||||
@ -7513,7 +7526,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Molecule template ID for create_atoms does not exist} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Molecule template ID for fix deposit does not exist} :dt
|
||||
|
||||
@ -7539,7 +7552,7 @@ Self-explanatory. :dd
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Molecule toplogy/atom exceeds system topology/atom} :dt
|
||||
{Molecule topology/atom exceeds system topology/atom} :dt
|
||||
|
||||
The number of bonds, angles, etc per-atom in the molecule exceeds the
|
||||
system setting. See the create_box command for how to specify these
|
||||
@ -7779,7 +7792,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Must use variable energy with fix addforce} :dt
|
||||
|
||||
Must define an energy vartiable when applyting a dynamic
|
||||
Must define an energy variable when applying a dynamic
|
||||
force during minimization. :dd
|
||||
|
||||
{Must use variable energy with fix efield} :dt
|
||||
@ -8029,7 +8042,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Non digit character between brackets in variable} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Non integer # of swaps in temper command} :dt
|
||||
|
||||
@ -8650,7 +8663,7 @@ not be invoked by bond_style quartic. :dd
|
||||
{Pair style does not support compute group/group} :dt
|
||||
|
||||
The pair_style does not have a single() function, so it cannot be
|
||||
invokded by the compute group/group command. :dd
|
||||
invoked by the compute group/group command. :dd
|
||||
|
||||
{Pair style does not support compute pair/local} :dt
|
||||
|
||||
@ -8935,11 +8948,11 @@ Self-explanatory. :dd
|
||||
|
||||
{Pair yukawa/colloid requires atom style sphere} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Pair yukawa/colloid requires atoms with same type have same radius} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Pair yukawa/colloid/gpu requires atom style sphere} :dt
|
||||
|
||||
@ -9153,7 +9166,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Python function evaluation failed} :dt
|
||||
|
||||
The Python function did not run succesfully and/or did not return a
|
||||
The Python function did not run successfully and/or did not return a
|
||||
value (if it is supposed to return a value). This is probably due to
|
||||
some error condition in the function. :dd
|
||||
|
||||
@ -10012,7 +10025,7 @@ make sense in between runs. :dd
|
||||
|
||||
{Threshhold for an atom property that isn't allocated} :dt
|
||||
|
||||
A dump threshhold has been requested on a quantity that is
|
||||
A dump threshold has been requested on a quantity that is
|
||||
not defined by the atom style used in this simulation. :dd
|
||||
|
||||
{Timestep must be >= 0} :dt
|
||||
@ -10074,7 +10087,7 @@ to a large size. :dd
|
||||
{Too many atom triplets for pair bop} :dt
|
||||
|
||||
The number of three atom groups for angle determinations exceeds the
|
||||
expected number. Check your atomic structrure to ensure that it is
|
||||
expected number. Check your atomic structure to ensure that it is
|
||||
realistic. :dd
|
||||
|
||||
{Too many atoms for dump dcd} :dt
|
||||
@ -10142,7 +10155,7 @@ to a large size. :dd
|
||||
|
||||
{Too many timesteps} :dt
|
||||
|
||||
The cummulative timesteps must fit in a 64-bit integer. :dd
|
||||
The cumulative timesteps must fit in a 64-bit integer. :dd
|
||||
|
||||
{Too many timesteps for NEB} :dt
|
||||
|
||||
@ -10641,7 +10654,7 @@ Only atom-style variables can be used. :dd
|
||||
|
||||
{Variable for region cylinder is invalid style} :dt
|
||||
|
||||
Only equal-style varaibles are allowed. :dd
|
||||
Only equal-style variables are allowed. :dd
|
||||
|
||||
{Variable for region is invalid style} :dt
|
||||
|
||||
@ -10653,7 +10666,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Variable for region sphere is invalid style} :dt
|
||||
|
||||
Only equal-style varaibles are allowed. :dd
|
||||
Only equal-style variables are allowed. :dd
|
||||
|
||||
{Variable for restart is invalid style} :dt
|
||||
|
||||
@ -10694,7 +10707,7 @@ Self-explanatory. :dd
|
||||
{Variable has circular dependency} :dt
|
||||
|
||||
A circular dependency is when variable "a" in used by variable "b" and
|
||||
variable "b" is also used by varaible "a". Circular dependencies with
|
||||
variable "b" is also used by variable "a". Circular dependencies with
|
||||
longer chains of dependence are also not allowed. :dd
|
||||
|
||||
{Variable name between brackets must be alphanumeric or underscore characters} :dt
|
||||
@ -10783,7 +10796,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Variable name for fix deform does not exist} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Variable name for fix efield does not exist} :dt
|
||||
|
||||
@ -11070,7 +11083,7 @@ for a dihedral) and adding a small amount of stretch. :dd
|
||||
|
||||
{Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero} :dt
|
||||
|
||||
Self-explantory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Calling write_dump before a full system init.} :dt
|
||||
|
||||
@ -11158,6 +11171,12 @@ Self-explanatory. :dd
|
||||
If the fix changes the timestep, the dump dcd file will not
|
||||
reflect the change. :dd
|
||||
|
||||
{Energy due to X extra global DOFs will be included in minimizer energies} :dt
|
||||
|
||||
When using fixes like box/relax, the potential energy used by the minimizer
|
||||
is augmented by an additional energy provided by the fix. Thus the printed
|
||||
converged energy may be different from the total potential energy. :dd
|
||||
|
||||
{Energy tally does not account for 'zero yes'} :dt
|
||||
|
||||
The energy removed by using the 'zero yes' flag is not accounted
|
||||
@ -11401,7 +11420,7 @@ The command options you have used caused atoms to be lost. :dd
|
||||
Lost atoms are checked for each time thermo output is done. See the
|
||||
thermo_modify lost command for options. Lost atoms usually indicate
|
||||
bad dynamics, e.g. atoms have been blown far out of the simulation
|
||||
box, or moved futher than one processor's sub-domain away before
|
||||
box, or moved further than one processor's sub-domain away before
|
||||
reneighboring. :dd
|
||||
|
||||
{MSM mesh too small, increasing to 2 points in each direction} :dt
|
||||
@ -11439,7 +11458,7 @@ i.e. the first molecule in the template. :dd
|
||||
|
||||
{Molecule template for fix shake has multiple molecules} :dt
|
||||
|
||||
The fix shake command will only recoginze molecules of a single
|
||||
The fix shake command will only recognize molecules of a single
|
||||
type, i.e. the first molecule in the template. :dd
|
||||
|
||||
{More than one compute centro/atom} :dt
|
||||
@ -11524,7 +11543,7 @@ neigh_modify exclude command. :dd
|
||||
|
||||
If a thermo_style command is used after a thermo_modify command, the
|
||||
settings changed by the thermo_modify command will be reset to their
|
||||
default values. This is because the thermo_modify commmand acts on
|
||||
default values. This is because the thermo_modify command acts on
|
||||
the currently defined thermo style, and a thermo_style command creates
|
||||
a new style. :dd
|
||||
|
||||
@ -11576,7 +11595,7 @@ This may not be what you intended. :dd
|
||||
|
||||
{One or more dynamic groups may not be updated at correct point in timestep} :dt
|
||||
|
||||
If there are other fixes that act immediately after the intitial stage
|
||||
If there are other fixes that act immediately after the initial stage
|
||||
of time integration within a timestep (i.e. after atoms move), then
|
||||
the command that sets up the dynamic group should appear after those
|
||||
fixes. This will insure that dynamic group assignments are made
|
||||
@ -11873,7 +11892,7 @@ Self-explanatory. :dd
|
||||
|
||||
{Using largest cutoff for buck/long/coul/long} :dt
|
||||
|
||||
Self-exlanatory. :dd
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Using largest cutoff for lj/long/coul/long} :dt
|
||||
|
||||
|
||||
@ -25,9 +25,7 @@ files and image files.
|
||||
|
||||
If you uncomment the "dump"_dump.html command in the input script, a
|
||||
text dump file will be produced, which can be animated by various
|
||||
"visualization programs"_http://lammps.sandia.gov/viz.html. It can
|
||||
also be animated using the xmovie tool described in the "Additional
|
||||
Tools"_Section_tools.html section of the LAMMPS documentation.
|
||||
"visualization programs"_http://lammps.sandia.gov/viz.html.
|
||||
|
||||
If you uncomment the "dump image"_dump.html command in the input
|
||||
script, and assuming you have built LAMMPS with a JPG library, JPG
|
||||
@ -53,9 +51,11 @@ Lowercase directories :h4
|
||||
accelerate: run with various acceleration options (OpenMP, GPU, Phi)
|
||||
balance: dynamic load balancing, 2d system
|
||||
body: body particles, 2d system
|
||||
cmap: CMAP 5-body contributions to CHARMM force field
|
||||
colloid: big colloid particles in a small particle solvent, 2d system
|
||||
comb: models using the COMB potential
|
||||
coreshell: core/shell model using CORESHELL package
|
||||
controller: use of fix controller as a thermostat
|
||||
crack: crack propagation in a 2d solid
|
||||
deposit: deposit atoms and molecules on a surface
|
||||
dipole: point dipolar particles, 2d system
|
||||
@ -64,6 +64,8 @@ eim: NaCl using the EIM potential
|
||||
ellipse: ellipsoidal particles in spherical solvent, 2d system
|
||||
flow: Couette and Poiseuille flow in a 2d channel
|
||||
friction: frictional contact of spherical asperities between 2d surfaces
|
||||
gcmc: Grand Canonical Monte Carlo (GCMC) via the fix gcmc command
|
||||
granregion: use of fix wall/region/gran as boundary on granular particles
|
||||
hugoniostat: Hugoniostat shock dynamics
|
||||
indent: spherical indenter into a 2d solid
|
||||
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
|
||||
@ -71,6 +73,7 @@ meam: MEAM test for SiC and shear (same as shear examples)
|
||||
melt: rapid melt of 3d LJ system
|
||||
micelle: self-assembly of small lipid-like molecules into 2d bilayers
|
||||
min: energy minimization of 2d LJ melt
|
||||
mscg: parameterize a multi-scale coarse-graining (MSCG) model
|
||||
msst: MSST shock dynamics
|
||||
nb3b: use of nonbonded 3-body harmonic pair style
|
||||
neb: nudged elastic band (NEB) calculation for barrier finding
|
||||
@ -89,7 +92,8 @@ snap: NVE dynamics for BCC tantalum crystal using SNAP potential
|
||||
srd: stochastic rotation dynamics (SRD) particles as solvent
|
||||
streitz: use of Streitz/Mintmire potential with charge equilibration
|
||||
tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si
|
||||
vashishta: use of the Vashishta potential :tb(s=:)
|
||||
vashishta: use of the Vashishta potential
|
||||
voronoi: Voronoi tesselation via compute voronoi/atom command :tb(s=:)
|
||||
|
||||
Here is how you can run and visualize one of the sample problems:
|
||||
|
||||
|
||||
@ -37,7 +37,7 @@ pitfalls or alternatives.
|
||||
|
||||
Please see some of the closed issues for examples of how to
|
||||
suggest code enhancements, submit proposed changes, or report
|
||||
possible bugs and how they are resoved.
|
||||
possible bugs and how they are resolved.
|
||||
|
||||
As an alternative to using GitHub, you may e-mail the
|
||||
"core developers"_http://lammps.sandia.gov/authors.html or send
|
||||
|
||||
@ -165,9 +165,16 @@ Many of the example input scripts included in the LAMMPS distribution
|
||||
are for 2d models.
|
||||
|
||||
NOTE: Some models in LAMMPS treat particles as finite-size spheres, as
|
||||
opposed to point particles. In 2d, the particles will still be
|
||||
spheres, not disks, meaning their moment of inertia will be the same
|
||||
as in 3d.
|
||||
opposed to point particles. See the "atom_style
|
||||
sphere"_atom_style.html and "fix nve/sphere"_fix_nve_sphere.html
|
||||
commands for details. By default, for 2d simulations, such particles
|
||||
will still be modeled as 3d spheres, not 2d discs (circles), meaning
|
||||
their moment of inertia will be that of a sphere. If you wish to
|
||||
model them as 2d discs, see the "set density/disc"_set.html command
|
||||
and the {disc} option for the "fix nve/sphere"_fix_nve_sphere.html,
|
||||
"fix nvt/sphere"_fix_nvt_sphere.html, "fix
|
||||
nph/sphere"_fix_nph_sphere.html, "fix npt/sphere"_fix_npt_sphere.html
|
||||
commands.
|
||||
|
||||
:line
|
||||
|
||||
@ -197,7 +204,10 @@ documentation for the formula it computes.
|
||||
|
||||
"bond_style"_bond_harmonic.html harmonic
|
||||
"angle_style"_angle_charmm.html charmm
|
||||
"dihedral_style"_dihedral_charmm.html charmmfsh
|
||||
"dihedral_style"_dihedral_charmm.html charmm
|
||||
"pair_style"_pair_charmm.html lj/charmmfsw/coul/charmmfsh
|
||||
"pair_style"_pair_charmm.html lj/charmmfsw/coul/long
|
||||
"pair_style"_pair_charmm.html lj/charmm/coul/charmm
|
||||
"pair_style"_pair_charmm.html lj/charmm/coul/charmm/implicit
|
||||
"pair_style"_pair_charmm.html lj/charmm/coul/long :ul
|
||||
@ -205,6 +215,12 @@ documentation for the formula it computes.
|
||||
"special_bonds"_special_bonds.html charmm
|
||||
"special_bonds"_special_bonds.html amber :ul
|
||||
|
||||
NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were
|
||||
released in March 2017. We recommend they be used instead of the
|
||||
older {charmm} styles. See discussion of the differences on the "pair
|
||||
charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html
|
||||
doc pages.
|
||||
|
||||
DREIDING is a generic force field developed by the "Goddard
|
||||
group"_http://www.wag.caltech.edu at Caltech and is useful for
|
||||
predicting structures and dynamics of organic, biological and
|
||||
@ -434,6 +450,12 @@ computations between frozen atoms by using this command:
|
||||
|
||||
"neigh_modify"_neigh_modify.html exclude :ul
|
||||
|
||||
NOTE: By default, for 2d systems, granular particles are still modeled
|
||||
as 3d spheres, not 2d discs (circles), meaning their moment of inertia
|
||||
will be the same as in 3d. If you wish to model granular particles in
|
||||
2d as 2d discs, see the note on this topic in "Section
|
||||
6.2"_Section_howto.html#howto_2, where 2d simulations are disussed.
|
||||
|
||||
:line
|
||||
|
||||
6.7 TIP3P water model :link(howto_7),h4
|
||||
@ -451,7 +473,7 @@ atoms and the water molecule to run a rigid TIP3P-CHARMM model with a
|
||||
cutoff. The K values can be used if a flexible TIP3P model (without
|
||||
fix shake) is desired. If the LJ epsilon and sigma for HH and OH are
|
||||
set to 0.0, it corresponds to the original 1983 TIP3P model
|
||||
"(Jorgensen)"_#Jorgensen.
|
||||
"(Jorgensen)"_#Jorgensen1.
|
||||
|
||||
O mass = 15.9994
|
||||
H mass = 1.008
|
||||
@ -469,7 +491,7 @@ K of HOH angle = 55
|
||||
theta of HOH angle = 104.52 :all(b),p
|
||||
|
||||
These are the parameters to use for TIP3P with a long-range Coulombic
|
||||
solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price for
|
||||
solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price1 for
|
||||
details:
|
||||
|
||||
O mass = 15.9994
|
||||
@ -513,7 +535,7 @@ using the "fix shake"_fix_shake.html command.
|
||||
|
||||
These are the additional parameters (in real units) to set for O and H
|
||||
atoms and the water molecule to run a rigid TIP4P model with a cutoff
|
||||
"(Jorgensen)"_#Jorgensen. Note that the OM distance is specified in
|
||||
"(Jorgensen)"_#Jorgensen1. Note that the OM distance is specified in
|
||||
the "pair_style"_pair_style.html command, not as part of the pair
|
||||
coefficients.
|
||||
|
||||
@ -573,7 +595,7 @@ LJ epsilon of O-O = 0.16275
|
||||
LJ sigma of O-O = 3.16435
|
||||
LJ epsilon, sigma of OH, HH = 0.0 :all(b),p
|
||||
|
||||
Note that the when using the TIP4P pair style, the neighobr list
|
||||
Note that the when using the TIP4P pair style, the neighbor list
|
||||
cutoff for Coulomb interactions is effectively extended by a distance
|
||||
2 * (OM distance), to account for the offset distance of the
|
||||
fictitious charges on O atoms in water molecules. Thus it is
|
||||
@ -618,7 +640,7 @@ any of the parameters above, though it becomes a different model in
|
||||
that mode of usage.
|
||||
|
||||
The SPC/E (extended) water model is the same, except
|
||||
the partial charge assignemnts change:
|
||||
the partial charge assignments change:
|
||||
|
||||
O charge = -0.8476
|
||||
H charge = 0.4238 :all(b),p
|
||||
@ -737,23 +759,14 @@ LAMMPS itself does not do visualization, but snapshots from LAMMPS
|
||||
simulations can be visualized (and analyzed) in a variety of ways.
|
||||
|
||||
LAMMPS snapshots are created by the "dump"_dump.html command which can
|
||||
create files in several formats. The native LAMMPS dump format is a
|
||||
create files in several formats. The native LAMMPS dump format is a
|
||||
text file (see "dump atom" or "dump custom") which can be visualized
|
||||
by the "xmovie"_Section_tools.html#xmovie program, included with the
|
||||
LAMMPS package. This produces simple, fast 2d projections of 3d
|
||||
systems, and can be useful for rapid debugging of simulation geometry
|
||||
and atom trajectories.
|
||||
|
||||
by several popular visualization tools. The "dump image"_dump_image.html
|
||||
and "dump movie"_dump_image.html styles can output internally rendered
|
||||
images and convert a sequence of them to a movie during the MD run.
|
||||
Several programs included with LAMMPS as auxiliary tools can convert
|
||||
native LAMMPS dump files to other formats. See the
|
||||
"Section 9"_Section_tools.html doc page for details. The first is
|
||||
the "ch2lmp tool"_Section_tools.html#charmm, which contains a
|
||||
lammps2pdb Perl script which converts LAMMPS dump files into PDB
|
||||
files. The second is the "lmp2arc tool"_Section_tools.html#arc which
|
||||
converts LAMMPS dump files into Accelrys' Insight MD program files.
|
||||
The third is the "lmp2cfg tool"_Section_tools.html#cfg which converts
|
||||
LAMMPS dump files into CFG files which can be read into the
|
||||
"AtomEye"_atomeye visualizer.
|
||||
between LAMMPS format files and other formats.
|
||||
See the "Section 9"_Section_tools.html doc page for details.
|
||||
|
||||
A Python-based toolkit distributed by our group can read native LAMMPS
|
||||
dump files, including custom dump files with additional columns of
|
||||
@ -766,22 +779,7 @@ RasMol visualization programs. Pizza.py has tools that do interactive
|
||||
3d OpenGL visualization and one that creates SVG images of dump file
|
||||
snapshots.
|
||||
|
||||
LAMMPS can create XYZ files directly (via "dump xyz") which is a
|
||||
simple text-based file format used by many visualization programs
|
||||
including "VMD"_vmd.
|
||||
|
||||
LAMMPS can create DCD files directly (via "dump dcd") which can be
|
||||
read by "VMD"_vmd in conjunction with a CHARMM PSF file. Using this
|
||||
form of output avoids the need to convert LAMMPS snapshots to PDB
|
||||
files. See the "dump"_dump.html command for more information on DCD
|
||||
files.
|
||||
|
||||
LAMMPS can create XTC files directly (via "dump xtc") which is GROMACS
|
||||
file format which can also be read by "VMD"_vmd for visualization.
|
||||
See the "dump"_dump.html command for more information on XTC files.
|
||||
|
||||
:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html)
|
||||
:link(vmd,http://www.ks.uiuc.edu/Research/vmd)
|
||||
:link(ensight,http://www.ensight.com)
|
||||
:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A)
|
||||
|
||||
@ -863,7 +861,7 @@ boundary conditions in specific dimensions. See the command doc pages
|
||||
for details.
|
||||
|
||||
The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the
|
||||
time the simluation box is created. This happens in one of 3 ways.
|
||||
time the simulation box is created. This happens in one of 3 ways.
|
||||
If the "create_box"_create_box.html command is used with a region of
|
||||
style {prism}, then a triclinic box is setup. See the
|
||||
"region"_region.html command for details. If the
|
||||
@ -982,10 +980,10 @@ used with non-orthogonal basis vectors to define a lattice that will
|
||||
tile a triclinic simulation box via the
|
||||
"create_atoms"_create_atoms.html command.
|
||||
|
||||
A second use is to run Parinello-Rahman dyanamics via the "fix
|
||||
A second use is to run Parinello-Rahman dynamics via the "fix
|
||||
npt"_fix_nh.html command, which will adjust the xy, xz, yz tilt
|
||||
factors to compensate for off-diagonal components of the pressure
|
||||
tensor. The analalog for an "energy minimization"_minimize.html is
|
||||
tensor. The analog for an "energy minimization"_minimize.html is
|
||||
the "fix box/relax"_fix_box_relax.html command.
|
||||
|
||||
A third use is to shear a bulk solid to study the response of the
|
||||
@ -1032,6 +1030,10 @@ profile consistent with the applied shear strain rate.
|
||||
An alternative method for calculating viscosities is provided via the
|
||||
"fix viscosity"_fix_viscosity.html command.
|
||||
|
||||
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
|
||||
|
||||
6.14 Finite-size spherical and aspherical particles :link(howto_14),h4
|
||||
@ -1392,7 +1394,7 @@ custom"_dump.html command.
|
||||
|
||||
There is also a "dump local"_dump.html format where the user specifies
|
||||
what local values to output. A pre-defined index keyword can be
|
||||
specified to enumuerate the local values. Two additional kinds of
|
||||
specified to enumerate the local values. Two additional kinds of
|
||||
keywords can also be specified (c_ID, f_ID), where a
|
||||
"compute"_compute.html or "fix"_fix.html or "variable"_variable.html
|
||||
provides the values to be output. In each case, the compute or fix
|
||||
@ -1525,7 +1527,7 @@ Variables that generate values to output :h5,link(variable)
|
||||
"Variables"_variable.html defined in an input script can store one or
|
||||
more strings. But equal-style, vector-style, and atom-style or
|
||||
atomfile-style variables generate a global scalar value, global vector
|
||||
or values, or a per-atom vector, resepctively, when accessed. The
|
||||
or values, or a per-atom vector, respectively, when accessed. The
|
||||
formulas used to define these variables can contain references to the
|
||||
thermodynamic keywords and to global and per-atom data generated by
|
||||
computes, fixes, and other variables. The values generated by
|
||||
@ -1585,7 +1587,7 @@ Temperature is computed as kinetic energy divided by some number of
|
||||
degrees of freedom (and the Boltzmann constant). Since kinetic energy
|
||||
is a function of particle velocity, there is often a need to
|
||||
distinguish between a particle's advection velocity (due to some
|
||||
aggregate motiion of particles) and its thermal velocity. The sum of
|
||||
aggregate motion of particles) and its thermal velocity. The sum of
|
||||
the two is the particle's total velocity, but the latter is often what
|
||||
is wanted to compute a temperature.
|
||||
|
||||
@ -1640,14 +1642,14 @@ nvt/asphere"_fix_nvt_asphere.html thermostat not only translation
|
||||
velocities but also rotational velocities for spherical and aspherical
|
||||
particles.
|
||||
|
||||
DPD thermostatting alters pairwise interactions in a manner analagous
|
||||
DPD thermostatting alters pairwise interactions in a manner analogous
|
||||
to the per-particle thermostatting of "fix
|
||||
langevin"_fix_langevin.html.
|
||||
|
||||
Any of the thermostatting fixes can use temperature computes that
|
||||
remove bias which has two effects. First, the current calculated
|
||||
temperature, which is compared to the requested target temperature, is
|
||||
caluclated with the velocity bias removed. Second, the thermostat
|
||||
calculated with the velocity bias removed. Second, the thermostat
|
||||
adjusts only the thermal temperature component of the particle's
|
||||
velocities, which are the velocities with the bias removed. The
|
||||
removed bias is then added back to the adjusted velocities. See the
|
||||
@ -1684,7 +1686,7 @@ nph) and Berendsen:
|
||||
The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat
|
||||
and barostat. "Fix nph"_fix_nh.html is just a Nose/Hoover barostat;
|
||||
it does no thermostatting. Both "fix nph"_fix_nh.html and "fix
|
||||
press/bernendsen"_fix_press_berendsen.html can be used in conjunction
|
||||
press/berendsen"_fix_press_berendsen.html can be used in conjunction
|
||||
with any of the thermostatting fixes.
|
||||
|
||||
As with the thermostats, "fix npt"_fix_nh.html and "fix
|
||||
@ -1834,7 +1836,7 @@ the deformation must be chosen judiciously, and care must be taken to
|
||||
fully equilibrate the deformed cell before sampling the stress
|
||||
tensor. Another approach is to sample the triclinic cell fluctuations
|
||||
that occur in an NPT simulation. This method can also be slow to
|
||||
converge and requires careful post-processing "(Shinoda)"_#Shinoda
|
||||
converge and requires careful post-processing "(Shinoda)"_#Shinoda1
|
||||
|
||||
:line
|
||||
|
||||
@ -1888,7 +1890,7 @@ instances of LAMMPS to perform different calculations.
|
||||
|
||||
The lammps_open_no_mpi() function is similar except that no MPI
|
||||
communicator is passed from the caller. Instead, MPI_COMM_WORLD is
|
||||
used to instantiate LAMMPS, and MPI is initialzed if necessary.
|
||||
used to instantiate LAMMPS, and MPI is initialized if necessary.
|
||||
|
||||
The lammps_close() function is used to shut down an instance of LAMMPS
|
||||
and free all its memory.
|
||||
@ -1936,47 +1938,72 @@ documentation in the src/library.cpp file for details, including
|
||||
which quantities can be queried by name:
|
||||
|
||||
void *lammps_extract_global(void *, char *)
|
||||
void lammps_extract_box(void *, double *, double *,
|
||||
double *, double *, double *, int *, int *)
|
||||
void *lammps_extract_atom(void *, char *)
|
||||
void *lammps_extract_compute(void *, char *, int, int)
|
||||
void *lammps_extract_fix(void *, char *, int, int, int, int)
|
||||
void *lammps_extract_variable(void *, char *, char *) :pre
|
||||
|
||||
int lammps_set_variable(void *, char *, char *)
|
||||
double lammps_get_thermo(void *, char *) :pre
|
||||
void lammps_reset_box(void *, double *, double *, double, double, double)
|
||||
int lammps_set_variable(void *, char *, char *) :pre
|
||||
|
||||
double lammps_get_thermo(void *, char *)
|
||||
int lammps_get_natoms(void *)
|
||||
void lammps_gather_atoms(void *, double *)
|
||||
void lammps_scatter_atoms(void *, double *) :pre
|
||||
void lammps_create_atoms(void *, int, tagint *, int *, double *, double *) :pre
|
||||
void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
|
||||
imageint *, int) :pre
|
||||
|
||||
The extract functions return a pointer to various global or per-atom
|
||||
quantities stored in LAMMPS or to values calculated by a compute, fix,
|
||||
or variable. The pointer returned by the extract_global() function
|
||||
can be used as a permanent reference to a value which may change. For
|
||||
the other extract functions, the underlying storage may be reallocated
|
||||
as LAMMPS runs, so you need to re-call the function to assure a
|
||||
current pointer or returned value(s).
|
||||
the extract_atom() method, see the extract() method in the
|
||||
src/atom.cpp file for a list of valid per-atom properties. New names
|
||||
could easily be added if the property you want is not listed. For the
|
||||
other extract functions, the underlying storage may be reallocated as
|
||||
LAMMPS runs, so you need to re-call the function to assure a current
|
||||
pointer or returned value(s).
|
||||
|
||||
The lammps_reset_box() function 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 lammps_set_variable() function can set an existing string-style
|
||||
variable to a new string value, so that subsequent LAMMPS commands can
|
||||
access the variable. The lammps_get_thermo() function returns the
|
||||
current value of a thermo keyword as a double.
|
||||
access the variable.
|
||||
|
||||
The lammps_get_thermo() function returns the current value of a thermo
|
||||
keyword as a double precision value.
|
||||
|
||||
The lammps_get_natoms() function returns the total number of atoms in
|
||||
the system and can be used by the caller to allocate space for the
|
||||
lammps_gather_atoms() and lammps_scatter_atoms() functions. The
|
||||
gather function collects atom info of the requested type (atom coords,
|
||||
types, forces, etc) from all procsesors, orders them by atom ID, and
|
||||
returns a full list to each calling processor. The scatter function
|
||||
does the inverse. It distributes the same kinds of values,
|
||||
gather function collects peratom info of the requested type (atom
|
||||
coords, types, forces, etc) from all processors, orders them by atom
|
||||
ID, and returns a full list to each calling processor. The scatter
|
||||
function does the inverse. It distributes the same peratom values,
|
||||
passed by the caller, to each atom owned by individual processors.
|
||||
Both methods are thus a means to extract or assign (overwrite) any
|
||||
peratom quantities within LAMMPS. See the extract() method in the
|
||||
src/atom.cpp file for a list of valid per-atom properties. New names
|
||||
could easily be added if the property you want is not listed.
|
||||
A special treatment is applied for accessing image flags via the
|
||||
"image" property. Image flags are stored in a packed format with all
|
||||
three image flags stored in a single integer. When signaling to access
|
||||
the image flags as 3 individual values per atom instead of 1, the data
|
||||
is transparently packed or unpacked by the library interface.
|
||||
|
||||
The lammps_create_atoms() function takes a list of N atoms as input
|
||||
with atom types and coords (required), an optionally atom IDs and
|
||||
velocities. It uses the coords of each atom to assign it as a new
|
||||
atom to the processor that owns it. Additional properties for the new
|
||||
atoms can be assigned via the lammps_scatter_atoms() or
|
||||
lammps_extract_atom() functions.
|
||||
velocities and image flags. It uses the coords of each atom to assign
|
||||
it as a new atom to the processor that owns it. This function is
|
||||
useful to add atoms to a simulation or (in tandem with
|
||||
lammps_reset_box()) to restore a previously extracted and saved state
|
||||
of a simulation. Additional properties for the new atoms can then be
|
||||
assigned via the lammps_scatter_atoms() or lammps_extract_atom()
|
||||
functions.
|
||||
|
||||
The examples/COUPLE and python directories have example C++ and C and
|
||||
Python codes which show how a driver code can link to LAMMPS as a
|
||||
@ -2000,7 +2027,7 @@ a simple Lennard-Jones fluid model. Also, see "this
|
||||
section"_Section_howto.html#howto_21 of the manual for an analogous
|
||||
discussion for viscosity.
|
||||
|
||||
The thermal conducitivity tensor kappa is a measure of the propensity
|
||||
The thermal conductivity tensor kappa is a measure of the propensity
|
||||
of a material to transmit heat energy in a diffusive manner as given
|
||||
by Fourier's law
|
||||
|
||||
@ -2086,7 +2113,7 @@ and grad(Vstream) is the spatial gradient of the velocity of the fluid
|
||||
moving in another direction, normal to the area through which the
|
||||
momentum flows. Viscosity thus has units of pressure-time.
|
||||
|
||||
The first method is to perform a non-equlibrium MD (NEMD) simulation
|
||||
The first method is to perform a non-equilibrium MD (NEMD) simulation
|
||||
by shearing the simulation box via the "fix deform"_fix_deform.html
|
||||
command, and using the "fix nvt/sllod"_fix_nvt_sllod.html command to
|
||||
thermostat the fluid via the SLLOD equations of motion.
|
||||
@ -2112,7 +2139,7 @@ the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is
|
||||
swapped between atoms in two different layers of the simulation box in
|
||||
a different dimension. This induces a velocity gradient which can be
|
||||
monitored with the "fix ave/chunk"_fix_ave_chunk.html command.
|
||||
The fix tallies the cummulative momentum transfer that it performs.
|
||||
The fix tallies the cumulative momentum transfer that it performs.
|
||||
See the "fix viscosity"_fix_viscosity.html command for details.
|
||||
|
||||
The fourth method is based on the Green-Kubo (GK) formula which
|
||||
@ -2255,7 +2282,7 @@ atoms with same local defect structure | chunk ID = output of "compute centro/at
|
||||
Note that chunk IDs are integer values, so for atom properties or
|
||||
computes that produce a floating point value, they will be truncated
|
||||
to an integer. You could also use the compute in a variable that
|
||||
scales the floating point value to spread it across multiple intergers.
|
||||
scales the floating point value to spread it across multiple integers.
|
||||
|
||||
Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins =
|
||||
pencils, 3d bins = boxes, spherical bins, cylindrical bins.
|
||||
@ -2340,7 +2367,7 @@ largest cluster or fastest diffusing molecule. :l
|
||||
|
||||
Example calculations with chunks :h5
|
||||
|
||||
Here are eaxmples using chunk commands to calculate various
|
||||
Here are examples using chunk commands to calculate various
|
||||
properties:
|
||||
|
||||
(1) Average velocity in each of 1000 2d spatial bins:
|
||||
@ -2411,7 +2438,7 @@ which both have their up- and downsides.
|
||||
The first approach is to set desired real-space an kspace accuracies
|
||||
via the {kspace_modify force/disp/real} and {kspace_modify
|
||||
force/disp/kspace} commands. Note that the accuracies have to be
|
||||
specified in force units and are thus dependend on the chosen unit
|
||||
specified in force units and are thus dependent on the chosen unit
|
||||
settings. For real units, 0.0001 and 0.002 seem to provide reasonable
|
||||
accurate and efficient computations for the real-space and kspace
|
||||
accuracies. 0.002 and 0.05 work well for most systems using lj
|
||||
@ -2431,7 +2458,7 @@ performance. This approach provides a fast initialization of the
|
||||
simulation. However, it is sensitive to errors: A combination of
|
||||
parameters that will perform well for one system might result in
|
||||
far-from-optimal conditions for other simulations. For example,
|
||||
parametes that provide accurate and fast computations for
|
||||
parameters that provide accurate and fast computations for
|
||||
all-atomistic force fields can provide insufficient accuracy or
|
||||
united-atomistic force fields (which is related to that the latter
|
||||
typically have larger dispersion coefficients).
|
||||
@ -2465,7 +2492,7 @@ arithmetic mixing rule substantially increases the computational cost.
|
||||
The computational overhead can be reduced using the {kspace_modify
|
||||
mix/disp geom} and {kspace_modify splittol} commands. The first
|
||||
command simply enforces geometric mixing of the dispersion
|
||||
coeffiecients in kspace computations. This introduces some error in
|
||||
coefficients in kspace computations. This introduces some error in
|
||||
the computations but will also significantly speed-up the
|
||||
simulations. The second keyword sets the accuracy with which the
|
||||
dispersion coefficients are approximated using a matrix factorization
|
||||
@ -2484,7 +2511,7 @@ to specify this command explicitly.
|
||||
6.25 Polarizable models :link(howto_25),h4
|
||||
|
||||
In polarizable force fields the charge distributions in molecules and
|
||||
materials respond to their electrostatic environements. Polarizable
|
||||
materials respond to their electrostatic environments. Polarizable
|
||||
systems can be simulated in LAMMPS using three methods:
|
||||
|
||||
the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html
|
||||
@ -2538,7 +2565,7 @@ this is done by "fix qeq/dynamic"_fix_qeq.html, and for the
|
||||
charge-on-spring models by the methods outlined in the next two
|
||||
sections. The assignment of masses to the additional degrees of
|
||||
freedom can lead to unphysical trajectories if care is not exerted in
|
||||
choosing the parameters of the poarizable models and the simulation
|
||||
choosing the parameters of the polarizable models and the simulation
|
||||
conditions.
|
||||
|
||||
In the core-shell model the vibration of the shells is kept faster
|
||||
@ -2560,7 +2587,7 @@ well.
|
||||
6.26 Adiabatic core/shell model :link(howto_26),h4
|
||||
|
||||
The adiabatic core-shell model by "Mitchell and
|
||||
Finchham"_#MitchellFinchham is a simple method for adding
|
||||
Fincham"_#MitchellFincham is a simple method for adding
|
||||
polarizability to a system. In order to mimic the electron shell of
|
||||
an ion, a satellite particle is attached to it. This way the ions are
|
||||
split into a core and a shell where the latter is meant to react to
|
||||
@ -2654,13 +2681,16 @@ bond_coeff 1 63.014 0.0
|
||||
bond_coeff 2 25.724 0.0 :pre
|
||||
|
||||
When running dynamics with the adiabatic core/shell model, the
|
||||
following issues should be considered. Since the relative motion of
|
||||
the core and shell particles corresponds to the polarization, typical
|
||||
thermostats can alter the polarization behaviour, meaning the shell
|
||||
will not react freely to its electrostatic environment. This is
|
||||
critical during the equilibration of the system. Therefore
|
||||
it's typically desirable to decouple the relative motion of the
|
||||
core/shell pair, which is an imaginary degree of freedom, from the
|
||||
following issues should be considered. The relative motion of
|
||||
the core and shell particles corresponds to the polarization,
|
||||
hereby an instantaneous relaxation of the shells is approximated
|
||||
and a fast core/shell spring frequency ensures a nearly constant
|
||||
internal kinetic energy during the simulation.
|
||||
Thermostats can alter this polarization behaviour, by scaling the
|
||||
internal kinetic energy, meaning the shell will not react freely to
|
||||
its electrostatic environment.
|
||||
Therefore it is typically desirable to decouple the relative motion of
|
||||
the core/shell pair, which is an imaginary degree of freedom, from the
|
||||
real physical system. To do that, the "compute
|
||||
temp/cs"_compute_temp_cs.html command can be used, in conjunction with
|
||||
any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix
|
||||
@ -2691,44 +2721,54 @@ fix thermostatequ all nve # integrator as needed f
|
||||
fix_modify thermoberendsen temp CSequ
|
||||
thermo_modify temp CSequ # output of center-of-mass derived temperature :pre
|
||||
|
||||
The pressure for the core/shell system is computed via the regular
|
||||
LAMMPS convention by "treating the cores and shells as individual
|
||||
particles"_#MitchellFincham2. For the thermo output of the pressure
|
||||
as well as for the application of a barostat, it is necessary to
|
||||
use an additional "pressure"_compute_pressure compute based on the
|
||||
default "temperature"_compute_temp and specifying it as a second
|
||||
argument in "fix modify"_fix_modify.html and
|
||||
"thermo_modify"_thermo_modify.html resulting in:
|
||||
|
||||
(...)
|
||||
compute CSequ all temp/cs cores shells
|
||||
compute thermo_press_lmp all pressure thermo_temp # pressure for individual particles
|
||||
thermo_modify temp CSequ press thermo_press_lmp # modify thermo to regular pressure
|
||||
fix press_bar all npt temp 300 300 0.04 iso 0 0 0.4
|
||||
fix_modify press_bar temp CSequ press thermo_press_lmp # pressure modification for correct kinetic scalar :pre
|
||||
|
||||
If "compute temp/cs"_compute_temp_cs.html is used, the decoupled
|
||||
relative motion of the core and the shell should in theory be
|
||||
stable. However numerical fluctuation can introduce a small
|
||||
momentum to the system, which is noticable over long trajectories.
|
||||
Therefore it is recomendable to use the "fix
|
||||
Therefore it is recommendable to use the "fix
|
||||
momentum"_fix_momentum.html command in combination with "compute
|
||||
temp/cs"_compute_temp_cs.html when equilibrating the system to
|
||||
prevent any drift.
|
||||
|
||||
When intializing the velocities of a system with core/shell pairs, it
|
||||
When initializing the velocities of a system with core/shell pairs, it
|
||||
is also desirable to not introduce energy into the relative motion of
|
||||
the core/shell particles, but only assign a center-of-mass velocity to
|
||||
the pairs. This can be done by using the {bias} keyword of the
|
||||
"velocity create"_velocity.html command and assigning the "compute
|
||||
temp/cs"_compute_temp_cs.html command to the {temp} keyword of the
|
||||
"velocity"_velocity.html commmand, e.g.
|
||||
"velocity"_velocity.html command, e.g.
|
||||
|
||||
velocity all create 1427 134 bias yes temp CSequ
|
||||
velocity all scale 1427 temp CSequ :pre
|
||||
|
||||
It is important to note that the polarizability of the core/shell
|
||||
pairs is based on their relative motion. Therefore the choice of
|
||||
spring force and mass ratio need to ensure much faster relative motion
|
||||
of the 2 atoms within the core/shell pair than their center-of-mass
|
||||
velocity. This allow the shells to effectively react instantaneously
|
||||
to the electrostatic environment. This fast movement also limits the
|
||||
timestep size that can be used.
|
||||
To maintain the correct polarizability of the core/shell pairs, the
|
||||
kinetic energy of the internal motion shall remain nearly constant.
|
||||
Therefore the choice of spring force and mass ratio need to ensure
|
||||
much faster relative motion of the 2 atoms within the core/shell pair
|
||||
than their center-of-mass velocity. This allows the shells to
|
||||
effectively react instantaneously to the electrostatic environment and
|
||||
limits energy transfer to or from the core/shell oscillators.
|
||||
This fast movement also dictates the timestep that can be used.
|
||||
|
||||
The primary literature of the adiabatic core/shell model suggests that
|
||||
the fast relative motion of the core/shell pairs only allows negligible
|
||||
energy transfer to the environment. Therefore it is not intended to
|
||||
decouple the core/shell degree of freedom from the physical system
|
||||
during production runs. In other words, the "compute
|
||||
temp/cs"_compute_temp_cs.html command should not be used during
|
||||
production runs and is only required during equilibration. This way one
|
||||
is consistent with literature (based on the code packages DL_POLY or
|
||||
GULP for instance).
|
||||
|
||||
energy transfer to the environment.
|
||||
The mentioned energy transfer will typically lead to a small drift
|
||||
in total energy over time. This internal energy can be monitored
|
||||
using the "compute chunk/atom"_compute_chunk_atom.html and "compute
|
||||
@ -2748,14 +2788,20 @@ command, to use as input to the "compute
|
||||
chunk/atom"_compute_chunk_atom.html command to define the core/shell
|
||||
pairs as chunks.
|
||||
|
||||
For example,
|
||||
For example if core/shell pairs are the only molecules:
|
||||
|
||||
read_data NaCl_CS_x0.1_prop.data
|
||||
compute prop all property/atom molecule
|
||||
compute cs_chunk all chunk/atom c_prop
|
||||
compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs
|
||||
fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre
|
||||
|
||||
For example if core/shell pairs and other molecules are present:
|
||||
|
||||
fix csinfo all property/atom i_CSID # property/atom command
|
||||
read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info # atom property added in the data-file
|
||||
compute prop all property/atom i_CSID
|
||||
compute cs_chunk all chunk/atom c_prop
|
||||
compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs
|
||||
fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre
|
||||
(...) :pre
|
||||
|
||||
The additional section in the date file would be formatted like this:
|
||||
|
||||
@ -2776,7 +2822,7 @@ CS-Info # header of additional section :pre
|
||||
6.27 Drude induced dipoles :link(howto_27),h4
|
||||
|
||||
The thermalized Drude model, similarly to the "core-shell"_#howto_26
|
||||
model, representes induced dipoles by a pair of charges (the core atom
|
||||
model, represents induced dipoles by a pair of charges (the core atom
|
||||
and the Drude particle) connected by a harmonic spring. The Drude
|
||||
model has a number of features aimed at its use in molecular systems
|
||||
("Lamoureux and Roux"_#howto-Lamoureux):
|
||||
@ -2867,19 +2913,23 @@ Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
|
||||
[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
|
||||
(1990).
|
||||
|
||||
:link(Jorgensen)
|
||||
:link(Jorgensen1)
|
||||
[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
|
||||
Phys, 79, 926 (1983).
|
||||
|
||||
:link(Price)
|
||||
:link(Price1)
|
||||
[(Price)] Price and Brooks, J Chem Phys, 121, 10096 (2004).
|
||||
|
||||
:link(Shinoda)
|
||||
:link(Shinoda1)
|
||||
[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
|
||||
|
||||
:link(MitchellFinchham)
|
||||
[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter,
|
||||
:link(MitchellFincham)
|
||||
[(Mitchell and Fincham)] Mitchell, Fincham, J Phys Condensed Matter,
|
||||
5, 1031-1038 (1993).
|
||||
|
||||
:link(MitchellFincham2)
|
||||
[(Fincham)] Fincham, Mackrodt and Mitchell, J Phys Condensed Matter,
|
||||
6, 393-404 (1994).
|
||||
|
||||
:link(howto-Lamoureux)
|
||||
[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)
|
||||
|
||||
@ -249,8 +249,12 @@ Pizza.py WWW site"_pizza. :l
|
||||
|
||||
Specialized features :h5
|
||||
|
||||
These are LAMMPS capabilities which you may not think of as typical
|
||||
molecular dynamics options:
|
||||
LAMMPS can be built with optional packages which implement a variety
|
||||
of additional capabilities. An overview of all the packages is "given
|
||||
here"_Section_packages.html.
|
||||
|
||||
These are some LAMMPS capabilities which you may not think of as
|
||||
typical classical molecular dynamics options:
|
||||
|
||||
"static"_balance.html and "dynamic load-balancing"_fix_balance.html
|
||||
"generalized aspherical particles"_body.html
|
||||
@ -338,15 +342,13 @@ dynamics timestepping, particularly if the computations are not
|
||||
parallel, so it is often better to leave such analysis to
|
||||
post-processing codes.
|
||||
|
||||
A very simple (yet fast) visualizer is provided with the LAMMPS
|
||||
package - see the "xmovie"_Section_tools.html#xmovie tool in "this
|
||||
section"_Section_tools.html. It creates xyz projection views of
|
||||
atomic coordinates and animates them. We find it very useful for
|
||||
debugging purposes. For high-quality visualization we recommend the
|
||||
For high-quality visualization we recommend the
|
||||
following packages:
|
||||
|
||||
"VMD"_http://www.ks.uiuc.edu/Research/vmd
|
||||
"AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A
|
||||
"OVITO"_http://www.ovito.org/
|
||||
"ParaView"_http://www.paraview.org/
|
||||
"PyMol"_http://www.pymol.org
|
||||
"Raster3d"_http://www.bmsc.washington.edu/raster3d/raster3d.html
|
||||
"RasMol"_http://www.openrasmol.org :ul
|
||||
@ -366,11 +368,11 @@ complementary modeling tasks.
|
||||
"DL_POLY"_dlpoly
|
||||
"Tinker"_tinker :ul
|
||||
|
||||
:link(charmm,http://www.scripps.edu/brooks)
|
||||
:link(amber,http://amber.scripps.edu)
|
||||
:link(charmm,http://www.charmm.org)
|
||||
:link(amber,http://ambermd.org)
|
||||
:link(namd,http://www.ks.uiuc.edu/Research/namd/)
|
||||
:link(nwchem,http://www.emsl.pnl.gov/docs/nwchem/nwchem.html)
|
||||
:link(dlpoly,http://www.cse.clrc.ac.uk/msi/software/DL_POLY)
|
||||
:link(dlpoly,http://www.ccp5.ac.uk/DL_POLY_CLASSIC)
|
||||
:link(tinker,http://dasher.wustl.edu/tinker)
|
||||
|
||||
CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for
|
||||
@ -517,7 +519,7 @@ the packages they have written are somewhat unique to LAMMPS and the
|
||||
code would not be as general-purpose as it is without their expertise
|
||||
and efforts.
|
||||
|
||||
Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM and USER-OMP packages
|
||||
Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CGSDK and USER-OMP packages
|
||||
Roy Pollock (LLNL), Ewald and PPPM solvers
|
||||
Mike Brown (ORNL), brownw at ornl.gov, GPU package
|
||||
Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential
|
||||
|
||||
@ -159,17 +159,17 @@ pack_comm_vel: add velocity info to communication buffer (required)
|
||||
pack_comm_hybrid: store extra info unique to this atom style (optional)
|
||||
unpack_comm: retrieve an atom's info from the buffer (required)
|
||||
unpack_comm_vel: also retrieve velocity info (required)
|
||||
unpack_comm_hybrid: retreive extra info unique to this atom style (optional)
|
||||
unpack_comm_hybrid: retrieve extra info unique to this atom style (optional)
|
||||
pack_reverse: store an atom's info in a buffer communicating partial forces (required)
|
||||
pack_reverse_hybrid: store extra info unique to this atom style (optional)
|
||||
unpack_reverse: retrieve an atom's info from the buffer (required)
|
||||
unpack_reverse_hybrid: retreive extra info unique to this atom style (optional)
|
||||
unpack_reverse_hybrid: retrieve extra info unique to this atom style (optional)
|
||||
pack_border: store an atom's info in a buffer communicated on neighbor re-builds (required)
|
||||
pack_border_vel: add velocity info to buffer (required)
|
||||
pack_border_hybrid: store extra info unique to this atom style (optional)
|
||||
unpack_border: retrieve an atom's info from the buffer (required)
|
||||
unpack_border_vel: also retrieve velocity info (required)
|
||||
unpack_border_hybrid: retreive extra info unique to this atom style (optional)
|
||||
unpack_border_hybrid: retrieve extra info unique to this atom style (optional)
|
||||
pack_exchange: store all an atom's info to migrate to another processor (required)
|
||||
unpack_exchange: retrieve an atom's info from the buffer (required)
|
||||
size_restart: number of restart quantities associated with proc's atoms (required)
|
||||
@ -369,7 +369,7 @@ pre_force_respa: same as pre_force, but for rRESPA (optional)
|
||||
post_force_respa: same as post_force, but for rRESPA (optional)
|
||||
final_integrate_respa: same as final_integrate, but for rRESPA (optional)
|
||||
min_pre_force: called after pair & molecular forces are computed in minimizer (optional)
|
||||
min_post_force: called after pair & molecular forces are computed and communicated in minmizer (optional)
|
||||
min_post_force: called after pair & molecular forces are computed and communicated in minimizer (optional)
|
||||
min_store: store extra data for linesearch based minimization on a LIFO stack (optional)
|
||||
min_pushstore: push the minimization LIFO stack one element down (optional)
|
||||
min_popstore: pop the minimization LIFO stack one element up (optional)
|
||||
@ -517,7 +517,7 @@ class. See region.h for details.
|
||||
inside: determine whether a point is in the region
|
||||
surface_interior: determine if a point is within a cutoff distance inside of surc
|
||||
surface_exterior: determine if a point is within a cutoff distance outside of surf
|
||||
shape_update : change region shape if set by time-depedent variable :tb(s=:)
|
||||
shape_update : change region shape if set by time-dependent variable :tb(s=:)
|
||||
|
||||
:line
|
||||
|
||||
@ -601,16 +601,16 @@ Adding keywords for the "thermo_style custom"_thermo_style.html command
|
||||
"here"_Section_modify.html#mod_13 on this page.
|
||||
|
||||
Adding a new math function of one or two arguments can be done by
|
||||
editing one section of the Variable::evaulate() method. Search for
|
||||
editing one section of the Variable::evaluate() method. Search for
|
||||
the word "customize" to find the appropriate location.
|
||||
|
||||
Adding a new group function can be done by editing one section of the
|
||||
Variable::evaulate() method. Search for the word "customize" to find
|
||||
Variable::evaluate() method. Search for the word "customize" to find
|
||||
the appropriate location. You may need to add a new method to the
|
||||
Group class as well (see the group.cpp file).
|
||||
|
||||
Accessing a new atom-based vector can be done by editing one section
|
||||
of the Variable::evaulate() method. Search for the word "customize"
|
||||
of the Variable::evaluate() method. Search for the word "customize"
|
||||
to find the appropriate location.
|
||||
|
||||
Adding new "compute styles"_compute.html (whose calculated values can
|
||||
@ -740,7 +740,7 @@ entry to add to the USER-MISC/README file in that dir, along with the
|
||||
contribute several individual features. :l
|
||||
|
||||
If you want your contribution to be added as a user-contribution and
|
||||
it is several related featues, it is probably best to make it a user
|
||||
it is several related features, it is probably best to make it a user
|
||||
package directory with a name like USER-FOO. In addition to your new
|
||||
files, the directory should contain a README text file. The README
|
||||
should contain your name and contact information and a brief
|
||||
@ -785,10 +785,10 @@ file for how to format the cite itself. The "Restrictions" section of
|
||||
the doc page should indicate that your command is only available if
|
||||
LAMMPS is built with the appropriate USER-MISC or USER-FOO package.
|
||||
See other user package doc files for examples of how to do this. The
|
||||
prerequiste for building the HTML format files are Python 3.x and
|
||||
prerequisite for building the HTML format files are Python 3.x and
|
||||
virtualenv, the requirement for generating the PDF format manual
|
||||
is the "htmldoc"_http://www.htmldoc.org/ software. Please run at least
|
||||
"make html" and carefully inspect and proofread the resuling HTML format
|
||||
"make html" and carefully inspect and proofread the resulting HTML format
|
||||
doc page before submitting your code. :l
|
||||
|
||||
For a new package (or even a single command) you should include one or
|
||||
|
||||
@ -69,7 +69,7 @@ bench/in.lj input script.
|
||||
|
||||
For all the benchmarks, a useful metric is the CPU cost per atom per
|
||||
timestep. Since performance scales roughly linearly with problem size
|
||||
and timesteps for all LAMMPS models (i.e. inteatomic or coarse-grained
|
||||
and timesteps for all LAMMPS models (i.e. interatomic or coarse-grained
|
||||
potentials), the run time of any problem using the same model (atom
|
||||
style, force field, cutoff, etc) can then be estimated.
|
||||
|
||||
|
||||
@ -8,19 +8,26 @@
|
||||
|
||||
11. Python interface to LAMMPS :h3
|
||||
|
||||
LAMMPS can work together with Python in two ways. First, Python can
|
||||
LAMMPS can work together with Python in three ways. First, Python can
|
||||
wrap LAMMPS through the "LAMMPS library
|
||||
interface"_Section_howto.html#howto_19, so that a Python script can
|
||||
create one or more instances of LAMMPS and launch one or more
|
||||
simulations. In Python lingo, this is "extending" Python with LAMMPS.
|
||||
|
||||
Second, LAMMPS can use the Python interpreter, so that a LAMMPS input
|
||||
Second, the low-level Python interface can be used indirectly through the
|
||||
PyLammps and IPyLammps wrapper classes in Python. These wrappers try to
|
||||
simplify the usage of LAMMPS in Python by providing an object-based interface
|
||||
to common LAMMPS functionality. It also reduces the amount of code necessary to
|
||||
parameterize LAMMPS scripts through Python and makes variables and computes
|
||||
directly accessible. See "PyLammps interface"_#py_9 for more details.
|
||||
|
||||
Third, LAMMPS can use the Python interpreter, so that a LAMMPS input
|
||||
script can invoke Python code, and pass information back-and-forth
|
||||
between the input script and Python functions you write. The Python
|
||||
code can also callback to LAMMPS to query or change its attributes.
|
||||
In Python lingo, this is "embedding" Python in LAMMPS.
|
||||
|
||||
This section describes how to do both.
|
||||
This section describes how to use these three approaches.
|
||||
|
||||
11.1 "Overview of running LAMMPS from Python"_#py_1
|
||||
11.2 "Overview of using Python from a LAMMPS script"_#py_2
|
||||
@ -29,7 +36,8 @@ This section describes how to do both.
|
||||
11.5 "Extending Python with MPI to run in parallel"_#py_5
|
||||
11.6 "Testing the Python-LAMMPS interface"_#py_6
|
||||
11.7 "Using LAMMPS from Python"_#py_7
|
||||
11.8 "Example Python scripts that use LAMMPS"_#py_8 :ul
|
||||
11.8 "Example Python scripts that use LAMMPS"_#py_8
|
||||
11.9 "PyLammps interface"_#py_9 :ul
|
||||
|
||||
If you are not familiar with it, "Python"_http://www.python.org is a
|
||||
powerful scripting and programming language which can essentially do
|
||||
@ -89,7 +97,7 @@ current LAMMPS library interface and how to call them from Python.
|
||||
Section 11.8 gives some examples of coupling LAMMPS to other tools via
|
||||
Python. For example, LAMMPS can easily be coupled to a GUI or other
|
||||
visualization tools that display graphs or animations in real time as
|
||||
LAMMPS runs. Examples of such scripts are inlcluded in the python
|
||||
LAMMPS runs. Examples of such scripts are included in the python
|
||||
directory.
|
||||
|
||||
Two advantages of using Python to run LAMMPS are how concise the
|
||||
@ -169,7 +177,7 @@ of Python and your machine to successfully build LAMMPS. See the
|
||||
lib/python/README file for more info.
|
||||
|
||||
If you want to write Python code with callbacks to LAMMPS, then you
|
||||
must also follow the steps overviewed in the preceeding section (11.1)
|
||||
must also follow the steps overviewed in the preceding section (11.1)
|
||||
for running LAMMPS from Python. I.e. you must build LAMMPS as a
|
||||
shared library and insure that Python can find the python/lammps.py
|
||||
file and the shared library.
|
||||
@ -317,7 +325,7 @@ sudo python setup.py install :pre
|
||||
Again, the "sudo" is only needed if required to copy PyPar files into
|
||||
your Python distribution's site-packages directory.
|
||||
|
||||
If you have successully installed PyPar, you should be able to run
|
||||
If you have successfully installed PyPar, you should be able to run
|
||||
Python and type
|
||||
|
||||
import pypar :pre
|
||||
@ -361,7 +369,7 @@ user privilege into the user local directory type
|
||||
|
||||
python setup.py install --user :pre
|
||||
|
||||
If you have successully installed mpi4py, you should be able to run
|
||||
If you have successfully installed mpi4py, you should be able to run
|
||||
Python and type
|
||||
|
||||
from mpi4py import MPI :pre
|
||||
@ -586,10 +594,10 @@ flag = lmp.set_variable(name,value) # set existing named string-style vari
|
||||
value = lmp.get_thermo(name) # return current value of a thermo keyword
|
||||
|
||||
natoms = lmp.get_natoms() # total # of atoms as int
|
||||
data = lmp.gather_atoms(name,type,count) # return atom attribute of all atoms gathered into data, ordered by atom ID
|
||||
data = lmp.gather_atoms(name,type,count) # return per-atom property of all atoms gathered into data, ordered by atom ID
|
||||
# name = "x", "charge", "type", etc
|
||||
# count = # of per-atom values, 1 or 3, etc
|
||||
lmp.scatter_atoms(name,type,count,data) # scatter atom attribute of all atoms from data, ordered by atom ID
|
||||
lmp.scatter_atoms(name,type,count,data) # scatter per-atom property to all atoms from data, ordered by atom ID
|
||||
# name = "x", "charge", "type", etc
|
||||
# count = # of per-atom values, 1 or 3, etc :pre
|
||||
|
||||
@ -602,7 +610,7 @@ lmp = lammps() :pre
|
||||
|
||||
create an instance of LAMMPS, wrapped in a Python class by the lammps
|
||||
Python module, and return an instance of the Python class as lmp. It
|
||||
is used to make all subequent calls to the LAMMPS library.
|
||||
is used to make all subsequent calls to the LAMMPS library.
|
||||
|
||||
Additional arguments to lammps() can be used to tell Python the name
|
||||
of the shared library to load or to pass arguments to the LAMMPS
|
||||
@ -648,13 +656,13 @@ argument.
|
||||
For extract_atom(), a pointer to internal LAMMPS atom-based data is
|
||||
returned, which you can use via normal Python subscripting. See the
|
||||
extract() method in the src/atom.cpp file for a list of valid names.
|
||||
Again, new names could easily be added. A pointer to a vector of
|
||||
doubles or integers, or a pointer to an array of doubles (double **)
|
||||
or integers (int **) is returned. You need to specify the appropriate
|
||||
data type via the type argument.
|
||||
Again, new names could easily be added if the property you want is not
|
||||
listed. A pointer to a vector of doubles or integers, or a pointer to
|
||||
an array of doubles (double **) or integers (int **) is returned. You
|
||||
need to specify the appropriate data type via the type argument.
|
||||
|
||||
For extract_compute() and extract_fix(), the global, per-atom, or
|
||||
local data calulated by the compute or fix can be accessed. What is
|
||||
local data calculated by the compute or fix can be accessed. What is
|
||||
returned depends on whether the compute or fix calculates a scalar or
|
||||
vector or array. For a scalar, a single double value is returned. If
|
||||
the compute or fix calculates a vector or array, a pointer to the
|
||||
@ -681,12 +689,21 @@ specified group.
|
||||
The get_natoms() method returns the total number of atoms in the
|
||||
simulation, as an int.
|
||||
|
||||
The gather_atoms() method returns a ctypes vector of ints or doubles
|
||||
as specified by type, of length count*natoms, for the property of all
|
||||
the atoms in the simulation specified by name, ordered by count and
|
||||
then by atom ID. The vector can be used via normal Python
|
||||
subscripting. If atom IDs are not consecutively ordered within
|
||||
LAMMPS, a None is returned as indication of an error.
|
||||
The gather_atoms() method allows any per-atom property (coordinates,
|
||||
velocities, etc) to be extracted from LAMMPS. It returns a ctypes
|
||||
vector of ints or doubles as specified by type, of length
|
||||
count*natoms, for the named property for all atoms in the simulation.
|
||||
The data is ordered by count and then by atom ID. See the extract()
|
||||
method in the src/atom.cpp file for a list of valid names. Again, new
|
||||
names could easily be added if the property you want is missing. The
|
||||
vector can be used via normal Python subscripting. If atom IDs are
|
||||
not consecutively ordered within LAMMPS, a None is returned as
|
||||
indication of an error. A special treatment is applied for image flags
|
||||
stored in the "image" property. All three image flags are stored in
|
||||
a packed format in a single integer, so count would be 1 to retrieve
|
||||
that integer, however also a count value of 3 can be used and then
|
||||
the image flags will be unpacked into 3 individual integers, ordered
|
||||
in a similar fashion as coordinates.
|
||||
|
||||
Note that the data structure gather_atoms("x") returns is different
|
||||
from the data structure returned by extract_atom("x") in four ways.
|
||||
@ -703,14 +720,22 @@ assigning a new values to the extract_atom() array. To do this with
|
||||
the gather_atoms() vector, you need to change values in the vector,
|
||||
then invoke the scatter_atoms() method.
|
||||
|
||||
The scatter_atoms() method takes a vector of ints or doubles as
|
||||
specified by type, of length count*natoms, for the property of all the
|
||||
atoms in the simulation specified by name, ordered by bount and then
|
||||
by atom ID. It uses the vector of data to overwrite the corresponding
|
||||
properties for each atom inside LAMMPS. This requires LAMMPS to have
|
||||
its "map" option enabled; see the "atom_modify"_atom_modify.html
|
||||
command for details. If it is not, or if atom IDs are not
|
||||
consecutively ordered, no coordinates are reset.
|
||||
The scatter_atoms() method allows any per-atom property (coordinates,
|
||||
velocities, etc) to be inserted into LAMMPS, overwriting the current
|
||||
property. It takes a vector of ints or doubles as specified by type,
|
||||
of length count*natoms, for the named property for all atoms in the
|
||||
simulation. The data should be ordered by count and then by atom ID.
|
||||
See the extract() method in the src/atom.cpp file for a list of valid
|
||||
names. Again, new names could easily be added if the property you
|
||||
want is missing. It uses the vector of data to overwrite the
|
||||
corresponding properties for each atom inside LAMMPS. This requires
|
||||
LAMMPS to have its "map" option enabled; see the
|
||||
"atom_modify"_atom_modify.html command for details. If it is not, or
|
||||
if atom IDs are not consecutively ordered, no coordinates are reset.
|
||||
Similar as for gather_atoms() a special treatment is applied for image
|
||||
flags, which can be provided in packed (count = 1) or unpacked (count = 3)
|
||||
format and in the latter case, they will be packed before applied to
|
||||
atoms.
|
||||
|
||||
The array of coordinates passed to scatter_atoms() must be a ctypes
|
||||
vector of ints or doubles, allocated and initialized something like
|
||||
@ -726,7 +751,7 @@ x\[2\] = z coord of atom with ID 1
|
||||
x\[3\] = x coord of atom with ID 2
|
||||
...
|
||||
x\[n3-1\] = z coord of atom with ID natoms
|
||||
lmp.scatter_coords("x",1,3,x) :pre
|
||||
lmp.scatter_atoms("x",1,3,x) :pre
|
||||
|
||||
Alternatively, you can just change values in the vector returned by
|
||||
gather_atoms("x",1,3), since it is a ctypes vector of doubles.
|
||||
@ -766,7 +791,7 @@ demo.py, invoke various LAMMPS library interface routines,
|
||||
simple.py, run in parallel, similar to examples/COUPLE/simple/simple.cpp,
|
||||
split.py, same as simple.py but running in parallel on a subset of procs,
|
||||
gui.py, GUI go/stop/temperature-slider to control LAMMPS,
|
||||
plot.py, real-time temeperature plot with GnuPlot via Pizza.py,
|
||||
plot.py, real-time temperature plot with GnuPlot via Pizza.py,
|
||||
viz_tool.py, real-time viz via some viz package,
|
||||
vizplotgui_tool.py, combination of viz_tool.py and plot.py and gui.py :tb(c=2)
|
||||
|
||||
@ -824,3 +849,7 @@ different visualization package options. Click to see larger images:
|
||||
:image(JPG/screenshot_atomeye_small.jpg,JPG/screenshot_atomeye.jpg)
|
||||
:image(JPG/screenshot_pymol_small.jpg,JPG/screenshot_pymol.jpg)
|
||||
:image(JPG/screenshot_vmd_small.jpg,JPG/screenshot_vmd.jpg)
|
||||
|
||||
11.9 PyLammps interface :link(py_9),h4
|
||||
|
||||
Please see the "PyLammps Tutorial"_tutorial_pylammps.html.
|
||||
|
||||
@ -14,12 +14,11 @@ experienced users.
|
||||
2.1 "What's in the LAMMPS distribution"_#start_1
|
||||
2.2 "Making LAMMPS"_#start_2
|
||||
2.3 "Making LAMMPS with optional packages"_#start_3
|
||||
2.4 "Building LAMMPS via the Make.py script"_#start_4
|
||||
2.5 "Building LAMMPS as a library"_#start_5
|
||||
2.6 "Running LAMMPS"_#start_6
|
||||
2.7 "Command-line options"_#start_7
|
||||
2.8 "Screen output"_#start_8
|
||||
2.9 "Tips for users of previous versions"_#start_9 :all(b)
|
||||
2.5 "Building LAMMPS as a library"_#start_4
|
||||
2.6 "Running LAMMPS"_#start_5
|
||||
2.7 "Command-line options"_#start_6
|
||||
2.8 "Screen output"_#start_7
|
||||
2.9 "Tips for users of previous versions"_#start_8 :all(b)
|
||||
|
||||
:line
|
||||
|
||||
@ -96,7 +95,7 @@ make serial :pre
|
||||
Note that on a facility supercomputer, there are often "modules"
|
||||
loaded in your environment that provide the compilers and MPI you
|
||||
should use. In this case, the "mpicxx" compile/link command in
|
||||
Makefile.mpi should just work by accessing those modules.
|
||||
Makefile.mpi should simply work by accessing those modules.
|
||||
|
||||
It may be the case that one of the other Makefile.machine files in the
|
||||
src/MAKE sub-directories is a better match to your system (type "make"
|
||||
@ -107,33 +106,35 @@ make stampede :pre
|
||||
If any of these builds (with an existing Makefile.machine) works on
|
||||
your system, then you're done!
|
||||
|
||||
If you need to install an optional package with a LAMMPS command you
|
||||
want to use, and the package does not depend on an extra library, you
|
||||
can simply type
|
||||
|
||||
make name :pre
|
||||
|
||||
before invoking (or re-invoking) the above steps. "Name" is the
|
||||
lower-case name of the package, e.g. replica or user-misc.
|
||||
|
||||
If you want to do one of the following:
|
||||
|
||||
use optional LAMMPS features that require additional libraries
|
||||
use optional packages that require additional libraries
|
||||
use optional accelerator packages that require special compiler/linker settings
|
||||
run on a specialized platform that has its own compilers, settings, or other libs to use :ul
|
||||
use a LAMMPS command that requires an extra library (e.g. "dump image"_dump_image.html)
|
||||
build with a package that requires an extra library
|
||||
build with an accelerator package that requires special compiler/linker settings
|
||||
run on a machine that has its own compilers, settings, or libraries :ul
|
||||
|
||||
then building LAMMPS is more complicated. You may need to find where
|
||||
auxiliary libraries exist on your machine or install them if they
|
||||
don't. You may need to build additional libraries that are part of
|
||||
the LAMMPS package, before building LAMMPS. You may need to edit a
|
||||
extra libraries exist on your machine or install them if they don't.
|
||||
You may need to build extra libraries that are included in the LAMMPS
|
||||
distribution, before building LAMMPS itself. You may need to edit a
|
||||
Makefile.machine file to make it compatible with your system.
|
||||
|
||||
Note that there is a Make.py tool in the src directory that automates
|
||||
several of these steps, but you still have to know what you are doing.
|
||||
"Section 2.4"_#start_4 below describes the tool. It is a convenient
|
||||
way to work with installing/un-installing various packages, the
|
||||
Makefile.machine changes required by some packages, and the auxiliary
|
||||
libraries some of them use.
|
||||
|
||||
Please read the following sections carefully. If you are not
|
||||
comfortable with makefiles, or building codes on a Unix platform, or
|
||||
running an MPI job on your machine, please find a local expert to help
|
||||
you. Many compilation, linking, and run problems that users have are
|
||||
often not really LAMMPS issues - they are peculiar to the user's
|
||||
system, compilers, libraries, etc. Such questions are better answered
|
||||
by a local expert.
|
||||
you. Many compilation, linking, and run problems users experience are
|
||||
often not LAMMPS issues - they are peculiar to the user's system,
|
||||
compilers, libraries, etc. Such questions are better answered by a
|
||||
local expert.
|
||||
|
||||
If you have a build problem that you are convinced is a LAMMPS issue
|
||||
(e.g. the compiler complains about a line of LAMMPS source code), then
|
||||
@ -413,7 +414,7 @@ uses (for performing 1d FFTs) when running the particle-particle
|
||||
particle-mesh (PPPM) option for long-range Coulombics via the
|
||||
"kspace_style"_kspace_style.html command.
|
||||
|
||||
LAMMPS supports various open-source or vendor-supplied FFT libraries
|
||||
LAMMPS supports common open-source or vendor-supplied FFT libraries
|
||||
for this purpose. If you leave these 3 variables blank, LAMMPS will
|
||||
use the open-source "KISS FFT library"_http://kissfft.sf.net, which is
|
||||
included in the LAMMPS distribution. This library is portable to all
|
||||
@ -423,10 +424,9 @@ package in your build, you can also leave the 3 variables blank.
|
||||
|
||||
Otherwise, select which kinds of FFTs to use as part of the FFT_INC
|
||||
setting by a switch of the form -DFFT_XXX. Recommended values for XXX
|
||||
are: MKL, SCSL, FFTW2, and FFTW3. Legacy options are: INTEL, SGI,
|
||||
ACML, and T3E. For backward compatability, using -DFFT_FFTW will use
|
||||
the FFTW2 library. Using -DFFT_NONE will use the KISS library
|
||||
described above.
|
||||
are: MKL or FFTW3. FFTW2 and NONE are supported as legacy options.
|
||||
Selecting -DFFT_FFTW will use the FFTW3 library and -DFFT_NONE will
|
||||
use the KISS library described above.
|
||||
|
||||
You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables,
|
||||
so the compiler and linker can find the needed FFT header and library
|
||||
@ -509,13 +509,13 @@ You should get the executable lmp_foo when the build is complete.
|
||||
|
||||
Errors that can occur when making LAMMPS: h5 :link(start_2_3)
|
||||
|
||||
NOTE: If an error occurs when building LAMMPS, the compiler or linker
|
||||
will state very explicitly what the problem is. The error message
|
||||
should give you a hint as to which of the steps above has failed, and
|
||||
what you need to do in order to fix it. Building a code with a
|
||||
Makefile is a very logical process. The compiler and linker need to
|
||||
find the appropriate files and those files need to be compatible with
|
||||
LAMMPS source files. When a make fails, there is usually a very
|
||||
If an error occurs when building LAMMPS, the compiler or linker will
|
||||
state very explicitly what the problem is. The error message should
|
||||
give you a hint as to which of the steps above has failed, and what
|
||||
you need to do in order to fix it. Building a code with a Makefile is
|
||||
a very logical process. The compiler and linker need to find the
|
||||
appropriate files and those files need to be compatible with LAMMPS
|
||||
settings and source files. When a make fails, there is usually a very
|
||||
simple reason, which you or a local expert will need to fix.
|
||||
|
||||
Here are two non-obvious errors that can occur:
|
||||
@ -558,7 +558,8 @@ Typing "make clean-all" or "make clean-machine" will delete *.o object
|
||||
files created when LAMMPS is built, for either all builds or for a
|
||||
particular machine.
|
||||
|
||||
Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :h6
|
||||
Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or
|
||||
-DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :h6
|
||||
|
||||
As explained above, any of these 3 settings can be specified on the
|
||||
LMP_INC line in your low-level src/MAKE/Makefile.foo.
|
||||
@ -657,11 +658,6 @@ This section has the following sub-sections:
|
||||
2.3.3 "Packages that require extra libraries"_#start_3_3
|
||||
2.3.4 "Packages that require Makefile.machine settings"_#start_3_4 :all(b)
|
||||
|
||||
Note that the following "Section 2.4"_#start_4 describes the Make.py
|
||||
tool which can be used to install/un-install packages and build the
|
||||
auxiliary libraries which some of them use. It can also auto-edit a
|
||||
Makefile.machine to add settings needed by some packages.
|
||||
|
||||
:line
|
||||
|
||||
Package basics: :h5,link(start_3_1)
|
||||
@ -671,235 +667,221 @@ are always included, plus optional packages. Packages are groups of
|
||||
files that enable a specific set of features. For example, force
|
||||
fields for molecular systems or granular systems are in packages.
|
||||
|
||||
"Section 4"_Section_packages.html in the manual has details
|
||||
about all the packages, including specific instructions for building
|
||||
LAMMPS with each package, which are covered in a more general manner
|
||||
"Section 4"_Section_packages.html in the manual has details about all
|
||||
the packages, which come in two flavors: [standard] and [user]
|
||||
packages. It also has specific instructions for building LAMMPS with
|
||||
any package which requires an extra library. General instructions are
|
||||
below.
|
||||
|
||||
You can see the list of all packages by typing "make package" from
|
||||
within the src directory of the LAMMPS distribution. This also lists
|
||||
various make commands that can be used to manipulate packages.
|
||||
within the src directory of the LAMMPS distribution. It will also
|
||||
list various make commands that can be used to manage packages.
|
||||
|
||||
If you use a command in a LAMMPS input script that is part of a
|
||||
package, you must have built LAMMPS with that package, else you will
|
||||
get an error that the style is invalid or the command is unknown.
|
||||
Every command's doc page specfies if it is part of a package. You can
|
||||
also type
|
||||
type
|
||||
|
||||
lmp_machine -h :pre
|
||||
|
||||
to run your executable with the optional "-h command-line
|
||||
switch"_#start_7 for "help", which will simply list the styles and
|
||||
commands known to your executable, and immediately exit.
|
||||
|
||||
There are two kinds of packages in LAMMPS, standard and user packages.
|
||||
More information about the contents of standard and user packages is
|
||||
given in "Section 4"_Section_packages.html of the manual. The
|
||||
difference between standard and user packages is as follows:
|
||||
|
||||
Standard packages, such as molecule or kspace, are supported by the
|
||||
LAMMPS developers and are written in a syntax and style consistent
|
||||
with the rest of LAMMPS. This means we will answer questions about
|
||||
them, debug and fix them if necessary, and keep them compatible with
|
||||
future changes to LAMMPS.
|
||||
|
||||
User packages, such as user-atc or user-omp, have been contributed by
|
||||
users, and always begin with the user prefix. If they are a single
|
||||
command (single file), they are typically in the user-misc package.
|
||||
Otherwise, they are a set of files grouped together which add a
|
||||
specific functionality to the code.
|
||||
|
||||
User packages don't necessarily meet the requirements of the standard
|
||||
packages. If you have problems using a feature provided in a user
|
||||
package, you may need to contact the contributor directly to get help.
|
||||
Information on how to submit additions you make to LAMMPS as single
|
||||
files or either a standard or user-contributed package are given in
|
||||
"this section"_Section_modify.html#mod_15 of the documentation.
|
||||
switch"_#start_7 for "help", which will list the styles and commands
|
||||
known to your executable, and immediately exit.
|
||||
|
||||
:line
|
||||
|
||||
Including/excluding packages :h5,link(start_3_2)
|
||||
|
||||
To use (or not use) a package you must include it (or exclude it)
|
||||
before building LAMMPS. From the src directory, this is typically as
|
||||
simple as:
|
||||
To use (or not use) a package you must install it (or un-install it)
|
||||
before building LAMMPS. From the src directory, this is as simple as:
|
||||
|
||||
make yes-colloid
|
||||
make mpi :pre
|
||||
|
||||
or
|
||||
|
||||
make no-manybody
|
||||
make no-user-omp
|
||||
make mpi :pre
|
||||
|
||||
NOTE: You should NOT include/exclude packages and build LAMMPS in a
|
||||
NOTE: You should NOT install/un-install packages and build LAMMPS in a
|
||||
single make command using multiple targets, e.g. make yes-colloid mpi.
|
||||
This is because the make procedure creates a list of source files that
|
||||
will be out-of-date for the build if the package configuration changes
|
||||
within the same command.
|
||||
|
||||
Some packages have individual files that depend on other packages
|
||||
being included. LAMMPS checks for this and does the right thing.
|
||||
I.e. individual files are only included if their dependencies are
|
||||
already included. Likewise, if a package is excluded, other files
|
||||
Any package can be installed or not in a LAMMPS build, independent of
|
||||
all other packages. However, some packages include files derived from
|
||||
files in other packages. LAMMPS checks for this and does the right
|
||||
thing. I.e. individual files are only included if their dependencies
|
||||
are already included. Likewise, if a package is excluded, other files
|
||||
dependent on that package are also excluded.
|
||||
|
||||
NOTE: The one exception is that we do not recommend building with both
|
||||
the KOKKOS package installed and any of the other acceleration
|
||||
packages (GPU, OPT, USER-INTEL, USER-OMP) also installed. This is
|
||||
because of how Kokkos sometimes builds using a wrapper compiler which
|
||||
can make it difficult to invoke all the compile/link flags correctly
|
||||
for both Kokkos and non-Kokkos files.
|
||||
|
||||
If you will never run simulations that use the features in a
|
||||
particular packages, there is no reason to include it in your build.
|
||||
For some packages, this will keep you from having to build auxiliary
|
||||
libraries (see below), and will also produce a smaller executable
|
||||
which may run a bit faster.
|
||||
For some packages, this will keep you from having to build extra
|
||||
libraries, and will also produce a smaller executable which may run a
|
||||
bit faster.
|
||||
|
||||
When you download a LAMMPS tarball, these packages are pre-installed
|
||||
in the src directory: KSPACE, MANYBODY,MOLECULE, because they are so
|
||||
commonly used. When you download LAMMPS source files from the SVN or
|
||||
Git repositories, no packages are pre-installed.
|
||||
When you download a LAMMPS tarball, three packages are pre-installed
|
||||
in the src directory -- KSPACE, MANYBODY, MOLECULE -- because they are
|
||||
so commonly used. When you download LAMMPS source files from the SVN
|
||||
or Git repositories, no packages are pre-installed.
|
||||
|
||||
Packages are included or excluded by typing "make yes-name" or "make
|
||||
no-name", where "name" is the name of the package in lower-case, e.g.
|
||||
name = kspace for the KSPACE package or name = user-atc for the
|
||||
USER-ATC package. You can also type "make yes-standard", "make
|
||||
no-standard", "make yes-std", "make no-std", "make yes-user", "make
|
||||
no-user", "make yes-lib", "make no-lib", "make yes-all", or "make
|
||||
no-all" to include/exclude various sets of packages. Type "make
|
||||
package" to see all of the package-related make options.
|
||||
Packages are installed or un-installed by typing
|
||||
|
||||
NOTE: Inclusion/exclusion of a package works by simply moving files
|
||||
back and forth between the main src directory and sub-directories with
|
||||
the package name (e.g. src/KSPACE, src/USER-ATC), so that the files
|
||||
are seen or not seen when LAMMPS is built. After you have included or
|
||||
excluded a package, you must re-build LAMMPS.
|
||||
make yes-name
|
||||
make no-name :pre
|
||||
|
||||
Additional package-related make options exist to help manage LAMMPS
|
||||
files that exist in both the src directory and in package
|
||||
sub-directories. You do not normally need to use these commands
|
||||
unless you are editing LAMMPS files or have downloaded a patch from
|
||||
the LAMMPS WWW site.
|
||||
where "name" is the name of the package in lower-case, e.g. name =
|
||||
kspace for the KSPACE package or name = user-atc for the USER-ATC
|
||||
package. You can also type any of these commands:
|
||||
|
||||
Typing "make package-update" or "make pu" will overwrite src files
|
||||
with files from the package sub-directories if the package has been
|
||||
included. It should be used after a patch is installed, since patches
|
||||
only update the files in the package sub-directory, but not the src
|
||||
files. Typing "make package-overwrite" will overwrite files in the
|
||||
package sub-directories with src files.
|
||||
make yes-all | install all packages
|
||||
make no-all | un-install all packages
|
||||
make yes-standard or make yes-std | install standard packages
|
||||
make no-standard or make no-std| un-install standard packages
|
||||
make yes-user | install user packages
|
||||
make no-user | un-install user packages
|
||||
make yes-lib | install packages that require extra libraries
|
||||
make no-lib | un-install packages that require extra libraries
|
||||
make yes-ext | install packages that require external libraries
|
||||
make no-ext | un-install packages that require external libraries :tb(s=|)
|
||||
|
||||
which install/un-install various sets of packages. Typing "make
|
||||
package" will list all the these commands.
|
||||
|
||||
NOTE: Installing or un-installing a package works by simply moving
|
||||
files back and forth between the main src directory and
|
||||
sub-directories with the package name (e.g. src/KSPACE, src/USER-ATC),
|
||||
so that the files are included or excluded when LAMMPS is built.
|
||||
After you have installed or un-installed a package, you must re-build
|
||||
LAMMPS for the action to take effect.
|
||||
|
||||
The following make commands help manage files that exist in both the
|
||||
src directory and in package sub-directories. You do not normally
|
||||
need to use these commands unless you are editing LAMMPS files or have
|
||||
downloaded a patch from the LAMMPS web site.
|
||||
|
||||
Typing "make package-status" or "make ps" will show which packages are
|
||||
currently included. For those that are included, it will list any
|
||||
currently installed. For those that are installed, it will list any
|
||||
files that are different in the src directory and package
|
||||
sub-directory. Typing "make package-diff" lists all differences
|
||||
between these files. Again, type "make package" to see all of the
|
||||
package-related make options.
|
||||
sub-directory.
|
||||
|
||||
Typing "make package-update" or "make pu" will overwrite src files
|
||||
with files from the package sub-directories if the package is
|
||||
installed. It should be used after a patch has been applied, since
|
||||
patches only update the files in the package sub-directory, but not
|
||||
the src files.
|
||||
|
||||
Typing "make package-overwrite" will overwrite files in the package
|
||||
sub-directories with src files.
|
||||
|
||||
Typing "make package-diff" lists all differences between these files.
|
||||
|
||||
Again, just type "make package" to see all of the package-related make
|
||||
options.
|
||||
|
||||
:line
|
||||
|
||||
Packages that require extra libraries :h5,link(start_3_3)
|
||||
|
||||
A few of the standard and user packages require additional auxiliary
|
||||
libraries. Many of them are provided with LAMMPS, in which case they
|
||||
must be compiled first, before LAMMPS is built, if you wish to include
|
||||
that package. If you get a LAMMPS build error about a missing
|
||||
library, this is likely the reason. See the
|
||||
"Section 4"_Section_packages.html doc page for a list of
|
||||
packages that have these kinds of auxiliary libraries.
|
||||
A few of the standard and user packages require extra libraries. See
|
||||
"Section 4"_Section_packages.html for two tables of packages which
|
||||
indicate which ones require libraries. For each such package, the
|
||||
Section 4 doc page gives details on how to build the extra library,
|
||||
including how to download it if necessary. The basic ideas are
|
||||
summarized here.
|
||||
|
||||
The lib directory in the distribution has sub-directories with package
|
||||
names that correspond to the needed auxiliary libs, e.g. lib/gpu.
|
||||
Each sub-directory has a README file that gives more details. Code
|
||||
for most of the auxiliary libraries is included in that directory.
|
||||
Examples are the USER-ATC and MEAM packages.
|
||||
[System libraries:]
|
||||
|
||||
A few of the lib sub-directories do not include code, but do include
|
||||
instructions (and sometimes scripts) that automate the process of
|
||||
downloading the auxiliary library and installing it so LAMMPS can link
|
||||
to it. Examples are the KIM, VORONOI, USER-MOLFILE, and USER-SMD
|
||||
packages.
|
||||
Packages in the tables "Section 4"_Section_packages.html with a "sys"
|
||||
in the last column link to system libraries that typically already
|
||||
exist on your machine. E.g. the python package links to a system
|
||||
Python library. If your machine does not have the required library,
|
||||
you will have to download and install it on your machine, in either
|
||||
the system or user space.
|
||||
|
||||
The lib/python directory (for the PYTHON package) contains only a
|
||||
choice of Makefile.lammps.* files. This is because no auxiliary code
|
||||
or libraries are needed, only the Python library and other system libs
|
||||
that should already available on your system. However, the
|
||||
Makefile.lammps file is needed to tell LAMMPS which libs to use and
|
||||
where to find them.
|
||||
[Internal libraries:]
|
||||
|
||||
For libraries with provided code, the sub-directory README file
|
||||
(e.g. lib/atc/README) has instructions on how to build that library.
|
||||
This information is also summarized in "Section
|
||||
4"_Section_packages.html. Typically this is done by typing
|
||||
something like:
|
||||
Packages in the tables "Section 4"_Section_packages.html with an "int"
|
||||
in the last column link to internal libraries whose source code is
|
||||
included with LAMMPS, in the lib/name directory where name is the
|
||||
package name. You must first build the library in that directory
|
||||
before building LAMMPS with that package installed. E.g. the gpu
|
||||
package links to a library you build in the lib/gpu dir. You can
|
||||
often do the build in one step by typing "make lib-name args=..."
|
||||
from the src dir, with appropriate arguments. You can leave off the
|
||||
args to see a help message. See "Section 4"_Section_packages.html for
|
||||
details for each package.
|
||||
|
||||
make -f Makefile.g++ :pre
|
||||
[External libraries:]
|
||||
|
||||
If one of the provided Makefiles is not appropriate for your system
|
||||
you will need to edit or add one. Note that all the Makefiles have a
|
||||
setting for EXTRAMAKE at the top that specifies a Makefile.lammps.*
|
||||
file.
|
||||
Packages in the tables "Section 4"_Section_packages.html with an "ext"
|
||||
in the last column link to exernal libraries whose source code is not
|
||||
included with LAMMPS. You must first download and install the library
|
||||
before building LAMMPS with that package installed. E.g. the voronoi
|
||||
package links to the freely available "Voro++ library"_voronoi. You
|
||||
can often do the download/build in one step by typing "make lib-name
|
||||
args=..." from the src dir, with appropriate arguments. You can leave
|
||||
off the args to see a help message. See "Section
|
||||
4"_Section_packages.html for details for each package.
|
||||
|
||||
If the library build is successful, it will produce 2 files in the lib
|
||||
directory:
|
||||
:link(voronoi,http://math.lbl.gov/voro++)
|
||||
|
||||
libpackage.a
|
||||
Makefile.lammps :pre
|
||||
[Possible errors:]
|
||||
|
||||
The Makefile.lammps file will typically be a copy of one of the
|
||||
Makefile.lammps.* files in the library directory.
|
||||
There are various common errors which can occur when building extra
|
||||
libraries or when building LAMMPS with packages that require the extra
|
||||
libraries.
|
||||
|
||||
Note that you must insure that the settings in Makefile.lammps are
|
||||
appropriate for your system. If they are not, the LAMMPS build may
|
||||
fail. To fix this, you can edit or create a new Makefile.lammps.*
|
||||
file for your system, and copy it to Makefile.lammps.
|
||||
If you cannot build the extra library itself successfully, you may
|
||||
need to edit or create an appropriate Makefile for your machine, e.g.
|
||||
with appropriate compiler or system settings. Provided makefiles are
|
||||
typically in the lib/name directory. E.g. see the Makefile.* files in
|
||||
lib/gpu.
|
||||
|
||||
As explained in the lib/package/README files, the settings in
|
||||
Makefile.lammps are used to specify additional system libraries and
|
||||
their locations so that LAMMPS can build with the auxiliary library.
|
||||
For example, if the MEAM package is used, the auxiliary library
|
||||
consists of F90 code, built with a Fortran complier. To link that
|
||||
library with LAMMPS (a C++ code) via whatever C++ compiler LAMMPS is
|
||||
built with, typically requires additional Fortran-to-C libraries be
|
||||
included in the link. Another example are the BLAS and LAPACK
|
||||
libraries needed to use the USER-ATC or USER-AWPMD packages.
|
||||
The LAMMPS build often uses settings in a lib/name/Makefile.lammps
|
||||
file which either exists in the LAMMPS distribution or is created or
|
||||
copied from a lib/name/Makefile.lammps.* file when the library is
|
||||
built. If those settings are not correct for your machine you will
|
||||
need to edit or create an appropriate Makefile.lammps file.
|
||||
|
||||
For libraries without provided code, the sub-directory README file has
|
||||
information on where to download the library and how to build it,
|
||||
e.g. lib/voronoi/README and lib/smd/README. The README files also
|
||||
describe how you must either (a) create soft links, via the "ln"
|
||||
command, in those directories to point to where you built or installed
|
||||
the packages, or (b) check or edit the Makefile.lammps file in the
|
||||
same directory to provide that information.
|
||||
Package-specific details for these steps are given in "Section
|
||||
4"_Section_packages.html an in README files in the lib/name
|
||||
directories.
|
||||
|
||||
Some of the sub-directories, e.g. lib/voronoi, also have an install.py
|
||||
script which can be used to automate the process of
|
||||
downloading/building/installing the auxiliary library, and setting the
|
||||
needed soft links. Type "python install.py" for further instructions.
|
||||
[Compiler options needed for accelerator packages:]
|
||||
|
||||
As with the sub-directories containing library code, if the soft links
|
||||
or settings in the lib/package/Makefile.lammps files are not correct,
|
||||
the LAMMPS build will typically fail.
|
||||
Several packages contain code that is optimized for specific hardware,
|
||||
e.g. CPU, KNL, or GPU. These are the OPT, GPU, KOKKOS, USER-INTEL,
|
||||
and USER-OMP packages. Compiling and linking the source files in
|
||||
these accelerator packages for optimal performance requires specific
|
||||
settings in the Makefile.machine file you use.
|
||||
|
||||
:line
|
||||
|
||||
Packages that require Makefile.machine settings :h5,link(start_3_4)
|
||||
|
||||
A few packages require specific settings in Makefile.machine, to
|
||||
either build or use the package effectively. These are the
|
||||
USER-INTEL, KOKKOS, USER-OMP, and OPT packages, used for accelerating
|
||||
code performance on CPUs or other hardware, as discussed in "Section
|
||||
5.3"_Section_accelerate.html#acc_3.
|
||||
|
||||
A summary of what Makefile.machine changes are needed for each of
|
||||
these packages is given in "Section 4"_Section_packages.html.
|
||||
The details are given on the doc pages that describe each of these
|
||||
accelerator packages in detail:
|
||||
A summary of the Makefile.machine settings needed for each of these
|
||||
packages is given in "Section 4"_Section_packages.html. More info is
|
||||
given on the doc pages that describe each package in detail:
|
||||
|
||||
5.3.1 "USER-INTEL package"_accelerate_intel.html
|
||||
5.3.2 "GPU package"_accelerate_intel.html
|
||||
5.3.3 "KOKKOS package"_accelerate_kokkos.html
|
||||
5.3.4 "USER-OMP package"_accelerate_omp.html
|
||||
5.3.5 "OPT package"_accelerate_opt.html :all(b)
|
||||
|
||||
You can also look at the following machine Makefiles in
|
||||
src/MAKE/OPTIONS, which include the changes. Note that the USER-INTEL
|
||||
and KOKKOS packages allow for settings that build LAMMPS for different
|
||||
hardware. The USER-INTEL package builds for CPU and the Xeon Phi, the
|
||||
KOKKOS package builds for OpenMP, GPUs (Cuda), and the Xeon Phi.
|
||||
You can also use or examine the following machine Makefiles in
|
||||
src/MAKE/OPTIONS, which include the settings. Note that the
|
||||
USER-INTEL and KOKKOS packages can use settings that build LAMMPS for
|
||||
different hardware. The USER-INTEL package can be compiled for Intel
|
||||
CPUs and KNLs; the KOKKOS package builds for CPUs (OpenMP), GPUs
|
||||
(Cuda), and Intel KNLs.
|
||||
|
||||
Makefile.intel_cpu
|
||||
Makefile.intel_phi
|
||||
@ -909,127 +891,9 @@ Makefile.kokkos_phi
|
||||
Makefile.omp
|
||||
Makefile.opt :ul
|
||||
|
||||
Also note that the Make.py tool, described in the next "Section
|
||||
2.4"_#start_4 can automatically add the needed info to an existing
|
||||
machine Makefile, using simple command-line arguments.
|
||||
|
||||
:line
|
||||
|
||||
2.4 Building LAMMPS via the Make.py tool :h4,link(start_4)
|
||||
|
||||
The src directory includes a Make.py script, written in Python, which
|
||||
can be used to automate various steps of the build process. It is
|
||||
particularly useful for working with the accelerator packages, as well
|
||||
as other packages which require auxiliary libraries to be built.
|
||||
|
||||
The goal of the Make.py tool is to allow any complex multi-step LAMMPS
|
||||
build to be performed as a single Make.py command. And you can
|
||||
archive the commands, so they can be re-invoked later via the -r
|
||||
(redo) switch. If you find some LAMMPS build procedure that can't be
|
||||
done in a single Make.py command, let the developers know, and we'll
|
||||
see if we can augment the tool.
|
||||
|
||||
You can run Make.py from the src directory by typing either:
|
||||
|
||||
Make.py -h
|
||||
python Make.py -h :pre
|
||||
|
||||
which will give you help info about the tool. For the former to work,
|
||||
you may need to edit the first line of Make.py to point to your local
|
||||
Python. And you may need to insure the script is executable:
|
||||
|
||||
chmod +x Make.py :pre
|
||||
|
||||
Here are examples of build tasks you can perform with Make.py:
|
||||
|
||||
Install/uninstall packages: Make.py -p no-lib kokkos omp intel
|
||||
Build specific auxiliary libs: Make.py -a lib-atc lib-meam
|
||||
Build libs for all installed packages: Make.py -p cuda gpu -gpu mode=double arch=31 -a lib-all
|
||||
Create a Makefile from scratch with compiler and MPI settings: Make.py -m none -cc g++ -mpi mpich -a file
|
||||
Augment Makefile.serial with settings for installed packages: Make.py -p intel -intel cpu -m serial -a file
|
||||
Add JPG and FFTW support to Makefile.mpi: Make.py -m mpi -jpg -fft fftw -a file
|
||||
Build LAMMPS with a parallel make using Makefile.mpi: Make.py -j 16 -m mpi -a exe
|
||||
Build LAMMPS and libs it needs using Makefile.serial with accelerator settings: Make.py -p gpu intel -intel cpu -a lib-all file serial :tb(s=:)
|
||||
|
||||
The bench and examples directories give Make.py commands that can be
|
||||
used to build LAMMPS with the various packages and options needed to
|
||||
run all the benchmark and example input scripts. See these files for
|
||||
more details:
|
||||
|
||||
bench/README
|
||||
bench/FERMI/README
|
||||
bench/KEPLER/README
|
||||
bench/PHI/README
|
||||
examples/README
|
||||
examples/accelerate/README
|
||||
examples/accelerate/make.list :ul
|
||||
|
||||
All of the Make.py options and syntax help can be accessed by using
|
||||
the "-h" switch.
|
||||
|
||||
E.g. typing "Make.py -h" gives
|
||||
|
||||
Syntax: Make.py switch args ...
|
||||
switches can be listed in any order
|
||||
help switch:
|
||||
-h prints help and syntax for all other specified switches
|
||||
switch for actions:
|
||||
-a lib-all, lib-dir, clean, file, exe or machine
|
||||
list one or more actions, in any order
|
||||
machine is a Makefile.machine suffix, must be last if used
|
||||
one-letter switches:
|
||||
-d (dir), -j (jmake), -m (makefile), -o (output),
|
||||
-p (packages), -r (redo), -s (settings), -v (verbose)
|
||||
switches for libs:
|
||||
-atc, -awpmd, -colvars, -cuda
|
||||
-gpu, -meam, -poems, -qmmm, -reax
|
||||
switches for build and makefile options:
|
||||
-intel, -kokkos, -cc, -mpi, -fft, -jpg, -png :pre
|
||||
|
||||
Using the "-h" switch with other switches and actions gives additional
|
||||
info on all the other specified switches or actions. The "-h" can be
|
||||
anywhere in the command-line and the other switches do not need their
|
||||
arguments. E.g. type "Make.py -h -d -atc -intel" will print:
|
||||
|
||||
-d dir
|
||||
dir = LAMMPS home dir
|
||||
if -d not specified, working dir must be lammps/src :pre
|
||||
|
||||
-atc make=suffix lammps=suffix2
|
||||
all args are optional and can be in any order
|
||||
make = use Makefile.suffix (def = g++)
|
||||
lammps = use Makefile.lammps.suffix2 (def = EXTRAMAKE in makefile) :pre
|
||||
|
||||
-intel mode
|
||||
mode = cpu or phi (def = cpu)
|
||||
build Intel package for CPU or Xeon Phi :pre
|
||||
|
||||
Note that Make.py never overwrites an existing Makefile.machine.
|
||||
Instead, it creates src/MAKE/MINE/Makefile.auto, which you can save or
|
||||
rename if desired. Likewise it creates an executable named
|
||||
src/lmp_auto, which you can rename using the -o switch if desired.
|
||||
|
||||
The most recently executed Make.py commmand is saved in
|
||||
src/Make.py.last. You can use the "-r" switch (for redo) to re-invoke
|
||||
the last command, or you can save a sequence of one or more Make.py
|
||||
commands to a file and invoke the file of commands using "-r". You
|
||||
can also label the commands in the file and invoke one or more of them
|
||||
by name.
|
||||
|
||||
A typical use of Make.py is to start with a valid Makefile.machine for
|
||||
your system, that works for a vanilla LAMMPS build, i.e. when optional
|
||||
packages are not installed. You can then use Make.py to add various
|
||||
settings (FFT, JPG, PNG) to the Makefile.machine as well as change its
|
||||
compiler and MPI options. You can also add additional packages to the
|
||||
build, as well as build the needed supporting libraries.
|
||||
|
||||
You can also use Make.py to create a new Makefile.machine from
|
||||
scratch, using the "-m none" switch, if you also specify what compiler
|
||||
and MPI options to use, via the "-cc" and "-mpi" switches.
|
||||
|
||||
:line
|
||||
|
||||
2.5 Building LAMMPS as a library :h4,link(start_5)
|
||||
2.4 Building LAMMPS as a library :h4,link(start_4)
|
||||
|
||||
LAMMPS can be built as either a static or shared library, which can
|
||||
then be called from another application or a scripting language. See
|
||||
@ -1151,7 +1015,7 @@ interface and how to extend it for your needs.
|
||||
|
||||
:line
|
||||
|
||||
2.6 Running LAMMPS :h4,link(start_6)
|
||||
2.5 Running LAMMPS :h4,link(start_5)
|
||||
|
||||
By default, LAMMPS runs by reading commands from standard input. Thus
|
||||
if you run the LAMMPS executable by itself, e.g.
|
||||
@ -1283,7 +1147,7 @@ more processors or setup a smaller problem.
|
||||
|
||||
:line
|
||||
|
||||
2.7 Command-line options :h4,link(start_7)
|
||||
2.6 Command-line options :h4,link(start_6)
|
||||
|
||||
At run time, LAMMPS recognizes several optional command-line switches
|
||||
which may be used in any order. Either the full word or a one-or-two
|
||||
@ -1713,7 +1577,7 @@ negative numeric value. It is OK if the first value1 starts with a
|
||||
|
||||
:line
|
||||
|
||||
2.8 LAMMPS screen output :h4,link(start_8)
|
||||
2.7 LAMMPS screen output :h4,link(start_7)
|
||||
|
||||
As LAMMPS reads an input script, it prints information to both the
|
||||
screen and a log file about significant actions it takes to setup a
|
||||
@ -1727,7 +1591,7 @@ thermodynamic state and a total run time for the simulation. It then
|
||||
appends statistics about the CPU time and storage requirements for the
|
||||
simulation. An example set of statistics is shown here:
|
||||
|
||||
Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms
|
||||
Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms :pre
|
||||
|
||||
Performance: 18.436 ns/day 1.302 hours/ns 106.689 timesteps/s
|
||||
97.0% CPU use with 4 MPI tasks x no OpenMP threads :pre
|
||||
@ -1757,14 +1621,14 @@ Ave special neighs/atom = 2.34032
|
||||
Neighbor list builds = 26
|
||||
Dangerous builds = 0 :pre
|
||||
|
||||
The first section provides a global loop timing summary. The loop time
|
||||
The first section provides a global loop timing summary. The {loop time}
|
||||
is the total wall time for the section. The {Performance} line is
|
||||
provided for convenience to help predicting the number of loop
|
||||
continuations required and for comparing performance with other
|
||||
similar MD codes. The CPU use line provides the CPU utilzation per
|
||||
continuations required and for comparing performance with other,
|
||||
similar MD codes. The {CPU use} line provides the CPU utilzation per
|
||||
MPI task; it should be close to 100% times the number of OpenMP
|
||||
threads (or 1). Lower numbers correspond to delays due to file I/O or
|
||||
insufficient thread utilization.
|
||||
threads (or 1 of no OpenMP). Lower numbers correspond to delays due
|
||||
to file I/O or insufficient thread utilization.
|
||||
|
||||
The MPI task section gives the breakdown of the CPU run time (in
|
||||
seconds) into major categories:
|
||||
@ -1791,7 +1655,7 @@ is present that also prints the CPU utilization in percent. In
|
||||
addition, when using {timer full} and the "package omp"_package.html
|
||||
command are active, a similar timing summary of time spent in threaded
|
||||
regions to monitor thread utilization and load balance is provided. A
|
||||
new entry is the {Reduce} section, which lists the time spend in
|
||||
new entry is the {Reduce} section, which lists the time spent in
|
||||
reducing the per-thread data elements to the storage for non-threaded
|
||||
computation. These thread timings are taking from the first MPI rank
|
||||
only and and thus, as the breakdown for MPI tasks can change from MPI
|
||||
@ -1869,7 +1733,7 @@ communication, roughly 75% in the example above.
|
||||
|
||||
:line
|
||||
|
||||
2.9 Tips for users of previous LAMMPS versions :h4,link(start_9)
|
||||
2.8 Tips for users of previous LAMMPS versions :h4,link(start_8)
|
||||
|
||||
The current C++ began with a complete rewrite of LAMMPS 2001, which
|
||||
was written in F90. Features of earlier versions of LAMMPS are listed
|
||||
|
||||
@ -12,9 +12,12 @@ Section"_Section_modify.html :c
|
||||
|
||||
LAMMPS is designed to be a computational kernel for performing
|
||||
molecular dynamics computations. Additional pre- and post-processing
|
||||
steps are often necessary to setup and analyze a simulation. A few
|
||||
additional tools are provided with the LAMMPS distribution and are
|
||||
described in this section.
|
||||
steps are often necessary to setup and analyze a simulation. A
|
||||
list of such tools can be found on the LAMMPS home page
|
||||
at "http://lammps.sandia.gov/prepost.html"_http://lammps.sandia.gov/prepost.html
|
||||
|
||||
A few additional tools are provided with the LAMMPS distribution
|
||||
and are described in this section.
|
||||
|
||||
Our group has also written and released a separate toolkit called
|
||||
"Pizza.py"_pizza which provides tools for doing setup, analysis,
|
||||
@ -36,16 +39,16 @@ authors.
|
||||
The source code for each of these codes is in the tools sub-directory
|
||||
of the LAMMPS distribution. There is a Makefile (which you may need
|
||||
to edit for your platform) which will build several of the tools which
|
||||
reside in that directory. Some of them are larger packages in their
|
||||
own sub-directories with their own Makefiles.
|
||||
reside in that directory. Most of them are larger packages in their
|
||||
own sub-directories with their own Makefiles and/or README files.
|
||||
|
||||
"amber2lmp"_#amber
|
||||
"binary2txt"_#binary
|
||||
"ch2lmp"_#charmm
|
||||
"chain"_#chain
|
||||
"colvars"_#colvars
|
||||
"createatoms"_#create
|
||||
"data2xmovie"_#data
|
||||
"createatoms"_#createatoms
|
||||
"drude"_#drude
|
||||
"eam database"_#eamdb
|
||||
"eam generate"_#eamgn
|
||||
"eff"_#eff
|
||||
@ -56,20 +59,18 @@ own sub-directories with their own Makefiles.
|
||||
"kate"_#kate
|
||||
"lmp2arc"_#arc
|
||||
"lmp2cfg"_#cfg
|
||||
"lmp2vmd"_#vmd
|
||||
"matlab"_#matlab
|
||||
"micelle2d"_#micelle
|
||||
"moltemplate"_#moltemplate
|
||||
"msi2lmp"_#msi
|
||||
"phonon"_#phonon
|
||||
"polymer bonding"_#polybond
|
||||
"polybond"_#polybond
|
||||
"pymol_asphere"_#pymol
|
||||
"python"_#pythontools
|
||||
"reax"_#reax_tool
|
||||
"restart2data"_#restart
|
||||
"smd"_#smd
|
||||
"vim"_#vim
|
||||
"xmgrace"_#xmgrace
|
||||
"xmovie"_#xmovie :ul
|
||||
|
||||
:line
|
||||
|
||||
@ -158,7 +159,7 @@ gmail.com) at ICTP, Italy.
|
||||
|
||||
:line
|
||||
|
||||
createatoms tool :h4,link(create)
|
||||
createatoms tool :h4,link(createatoms)
|
||||
|
||||
The tools/createatoms directory contains a Fortran program called
|
||||
createAtoms.f which can generate a variety of interesting crystal
|
||||
@ -171,16 +172,16 @@ The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.
|
||||
|
||||
:line
|
||||
|
||||
data2xmovie tool :h4,link(data)
|
||||
drude tool :h4,link(drude)
|
||||
|
||||
The file data2xmovie.c converts a LAMMPS data file into a snapshot
|
||||
suitable for visualizing with the "xmovie"_#xmovie tool, as if it had
|
||||
been output with a dump command from LAMMPS itself. The syntax for
|
||||
running the tool is
|
||||
The tools/drude directory contains a Python script called
|
||||
polarizer.py which can add Drude oscillators to a LAMMPS
|
||||
data file in the required format.
|
||||
|
||||
data2xmovie \[options\] < infile > outfile :pre
|
||||
See the header of the polarizer.py file for details.
|
||||
|
||||
See the top of the data2xmovie.c file for a discussion of the options.
|
||||
The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua
|
||||
at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr
|
||||
|
||||
:line
|
||||
|
||||
@ -317,18 +318,6 @@ This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).
|
||||
|
||||
:line
|
||||
|
||||
lmp2vmd tool :h4,link(vmd)
|
||||
|
||||
The lmp2vmd sub-directory contains a README.txt file that describes
|
||||
details of scripts and plugin support within the "VMD
|
||||
package"_http://www.ks.uiuc.edu/Research/vmd for visualizing LAMMPS
|
||||
dump files.
|
||||
|
||||
The VMD plugins and other supporting scripts were written by Axel
|
||||
Kohlmeyer (akohlmey at cmm.chem.upenn.edu) at U Penn.
|
||||
|
||||
:line
|
||||
|
||||
matlab tool :h4,link(matlab)
|
||||
|
||||
The matlab sub-directory contains several "MATLAB"_matlabhome scripts for
|
||||
@ -380,17 +369,18 @@ supports it. It has its own WWW page at
|
||||
|
||||
msi2lmp tool :h4,link(msi)
|
||||
|
||||
The msi2lmp sub-directory contains a tool for creating LAMMPS input
|
||||
data files from Accelrys' Insight MD code (formerly MSI/Biosym and
|
||||
its Discover MD code). See the README file for more information.
|
||||
The msi2lmp sub-directory contains a tool for creating LAMMPS template
|
||||
input and data files from BIOVIA's Materias Studio files (formerly Accelrys'
|
||||
Insight MD code, formerly MSI/Biosym and its Discover MD code).
|
||||
|
||||
This tool was written by John Carpenter (Cray), Michael Peachey
|
||||
(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic
|
||||
(jec at mayo.edu), but still fields questions about the tool.
|
||||
(Cray), and Steve Lustig (Dupont). Several people contributed changes
|
||||
to remove bugs and adapt its output to changes in LAMMPS.
|
||||
|
||||
This tool may be out-of-date with respect to the current LAMMPS and
|
||||
Insight versions. Since we don't use it at Sandia, you'll need to
|
||||
experiment with it yourself.
|
||||
This tool has several known limitations and is no longer under active
|
||||
development, so there are no changes except for the occasional bugfix.
|
||||
|
||||
See the README file in the tools/msi2lmp folder for more information.
|
||||
|
||||
:line
|
||||
|
||||
@ -409,7 +399,7 @@ University.
|
||||
|
||||
:line
|
||||
|
||||
polymer bonding tool :h4,link(polybond)
|
||||
polybond tool :h4,link(polybond)
|
||||
|
||||
The polybond sub-directory contains a Python-based tool useful for
|
||||
performing "programmable polymer bonding". The Python file
|
||||
@ -468,48 +458,19 @@ These tools were written by Aidan Thompson at Sandia.
|
||||
|
||||
:line
|
||||
|
||||
restart2data tool :h4,link(restart)
|
||||
smd tool :h4,link(smd)
|
||||
|
||||
NOTE: This tool is now obsolete and is not included in the current
|
||||
LAMMPS distribution. This is becaues there is now a
|
||||
"write_data"_write_data.html command, which can create a data file
|
||||
from within an input script. Running LAMMPS with the "-r"
|
||||
"command-line switch"_Section_start.html#start_7 as follows:
|
||||
The smd sub-directory contains a C++ file dump2vtk_tris.cpp and
|
||||
Makefile which can be compiled and used to convert triangle output
|
||||
files created by the Smooth-Mach Dynamics (USER-SMD) package into a
|
||||
VTK-compatible unstructured grid file. It could then be read in and
|
||||
visualized by VTK.
|
||||
|
||||
lmp_g++ -r restartfile datafile
|
||||
See the header of dump2vtk.cpp for more details.
|
||||
|
||||
is the same as running a 2-line input script:
|
||||
|
||||
read_restart restartfile
|
||||
write_data datafile
|
||||
|
||||
which will produce the same data file that the restart2data tool used
|
||||
to create. The following information is included in case you have an
|
||||
older version of LAMMPS which still includes the restart2data tool.
|
||||
|
||||
The file restart2data.cpp converts a binary LAMMPS restart file into
|
||||
an ASCII data file. The syntax for running the tool is
|
||||
|
||||
restart2data restart-file data-file (input-file) :pre
|
||||
|
||||
Input-file is optional and if specified will contain LAMMPS input
|
||||
commands for the masses and force field parameters, instead of putting
|
||||
those in the data-file. Only a few force field styles currently
|
||||
support this option.
|
||||
|
||||
This tool must be compiled on a platform that can read the binary file
|
||||
created by a LAMMPS run, since binary files are not compatible across
|
||||
all platforms.
|
||||
|
||||
Note that a text data file has less precision than a binary restart
|
||||
file. Hence, continuing a run from a converted data file will
|
||||
typically not conform as closely to a previous run as will restarting
|
||||
from a binary restart file.
|
||||
|
||||
If a "%" appears in the specified restart-file, the tool expects a set
|
||||
of multiple files to exist. See the "restart"_restart.html and
|
||||
"write_restart"_write_restart.html commands for info on how such sets
|
||||
of files are written by LAMMPS, and how the files are named.
|
||||
This tool was written by the USER-SMD package author, Georg
|
||||
Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics,
|
||||
Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
|
||||
|
||||
:line
|
||||
|
||||
@ -537,32 +498,3 @@ See the README file for details.
|
||||
|
||||
These files were provided by Vikas Varshney (vv0210 at gmail.com)
|
||||
|
||||
:line
|
||||
|
||||
xmovie tool :h4,link(xmovie)
|
||||
|
||||
The xmovie tool is an X-based visualization package that can read
|
||||
LAMMPS dump files and animate them. It is in its own sub-directory
|
||||
with the tools directory. You may need to modify its Makefile so that
|
||||
it can find the appropriate X libraries to link against.
|
||||
|
||||
The syntax for running xmovie is
|
||||
|
||||
xmovie \[options\] dump.file1 dump.file2 ... :pre
|
||||
|
||||
If you just type "xmovie" you will see a list of options. Note that
|
||||
by default, LAMMPS dump files are in scaled coordinates, so you
|
||||
typically need to use the -scale option with xmovie. When xmovie runs
|
||||
it opens a visualization window and a control window. The control
|
||||
options are straightforward to use.
|
||||
|
||||
Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he
|
||||
spent a summer at Sandia. It displays 2d projections of a 3d domain.
|
||||
While simple in design, it is an amazingly fast program that can
|
||||
render large numbers of atoms very quickly. It's a useful tool for
|
||||
debugging LAMMPS input and output and making sure your simulation is
|
||||
doing what you think it should. The animations on the Examples page
|
||||
of the "LAMMPS WWW site"_lws were created with xmovie.
|
||||
|
||||
I've lost contact with Mike, so I hope he's comfortable with us
|
||||
distributing his great tool!
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
syntax</a></h2>
|
||||
<p>fix_modify AtC consistent_fe_initialization <on | off></p>
|
||||
<ul>
|
||||
<li><on|off> = switch to activiate/deactiviate the intial setting of FE intrinsic field to match the projected MD field </li>
|
||||
<li><on|off> = switch to activiate/deactiviate the initial setting of FE intrinsic field to match the projected MD field </li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
|
||||
@ -20,7 +20,7 @@ coprocessors via offloading neighbor list and non-bonded force
|
||||
calculations to the Phi. The same C++ code is used in both cases.
|
||||
When offloading to a coprocessor from a CPU, the same routine is run
|
||||
twice, once on the CPU and once with an offload flag. This allows
|
||||
LAMMPS to run on the CPU cores and coprocessor cores simulataneously.
|
||||
LAMMPS to run on the CPU cores and coprocessor cores simultaneously.
|
||||
|
||||
[Currently Available USER-INTEL Styles:]
|
||||
|
||||
@ -29,7 +29,7 @@ Bond Styles: fene, harmonic :l
|
||||
Dihedral Styles: charmm, harmonic, opls :l
|
||||
Fixes: nve, npt, nvt, nvt/sllod :l
|
||||
Improper Styles: cvff, harmonic :l
|
||||
Pair Styles: buck/coul/cut, buck/coul/long, buck, gayberne,
|
||||
Pair Styles: buck/coul/cut, buck/coul/long, buck, eam, gayberne,
|
||||
charmm/coul/long, lj/cut, lj/cut/coul/long, sw, tersoff :l
|
||||
K-Space Styles: pppm :l
|
||||
:ule
|
||||
@ -115,7 +115,7 @@ coprocessor and an Intel compiler are required. For this, the
|
||||
recommended version of the Intel compiler is 14.0.1.106 or
|
||||
versions 15.0.2.044 and higher.
|
||||
|
||||
Although any compiler can be used with the USER-INTEL pacakge,
|
||||
Although any compiler can be used with the USER-INTEL package,
|
||||
currently, vectorization directives are disabled by default when
|
||||
not using Intel compilers due to lack of standard support and
|
||||
observations of decreased performance. The OpenMP standard now
|
||||
@ -428,7 +428,7 @@ to the card. This allows for overlap of MPI communication of forces
|
||||
with computation on the coprocessor when the "newton"_newton.html
|
||||
setting is "on". The default is dependent on the style being used,
|
||||
however, better performance may be achieved by setting this option
|
||||
explictly.
|
||||
explicitly.
|
||||
|
||||
When using offload with CPU Hyper-Threading disabled, it may help
|
||||
performance to use fewer MPI tasks and OpenMP threads than available
|
||||
@ -464,7 +464,7 @@ supported.
|
||||
|
||||
[References:]
|
||||
|
||||
Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakker, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., “Optimizing Classical Molecular Dynamics in LAMMPS,” in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann. :ulb,l
|
||||
Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakker, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., "Optimizing Classical Molecular Dynamics in LAMMPS," in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann. :ulb,l
|
||||
|
||||
Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency. 2016 International Conference for High Performance Computing. In press. :l
|
||||
|
||||
|
||||
@ -110,14 +110,14 @@ mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis :p
|
||||
[Required hardware/software:]
|
||||
|
||||
Kokkos support within LAMMPS must be built with a C++11 compatible
|
||||
compiler. If using gcc, version 4.8.1 or later is required.
|
||||
compiler. If using gcc, version 4.7.2 or later is required.
|
||||
|
||||
To build with Kokkos support for CPUs, your compiler must support the
|
||||
OpenMP interface. You should have one or more multi-core CPUs so that
|
||||
multiple threads can be launched by each MPI task running on a CPU.
|
||||
|
||||
To build with Kokkos support for NVIDIA GPUs, NVIDIA Cuda software
|
||||
version 6.5 or later must be installed on your system. See the
|
||||
version 7.5 or later must be installed on your system. See the
|
||||
discussion for the "GPU"_accelerate_gpu.html package for details of
|
||||
how to check and do this.
|
||||
|
||||
@ -217,7 +217,7 @@ best performance its CCFLAGS setting should use -O3 and have a
|
||||
KOKKOS_ARCH setting that matches the compute capability of your NVIDIA
|
||||
hardware and software installation, e.g. KOKKOS_ARCH=Kepler30. Note
|
||||
the minimal required compute capability is 2.0, but this will give
|
||||
signicantly reduced performance compared to Kepler generation GPUs
|
||||
significantly reduced performance compared to Kepler generation GPUs
|
||||
with compute capability 3.x. For the LINK setting, "nvcc" should not
|
||||
be used; instead use g++ or another compiler suitable for linking C++
|
||||
applications. Often you will want to use your MPI compiler wrapper
|
||||
@ -234,7 +234,7 @@ provides alternative methods via environment variables for binding
|
||||
threads to hardware cores. More info on binding threads to cores is
|
||||
given in "Section 5.3"_Section_accelerate.html#acc_3.
|
||||
|
||||
KOKKOS_ARCH=KNC enables compiler switches needed when compling for an
|
||||
KOKKOS_ARCH=KNC enables compiler switches needed when compiling for an
|
||||
Intel Phi processor.
|
||||
|
||||
KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism
|
||||
@ -272,7 +272,7 @@ coprocessor support you need to insure there are one or more MPI tasks
|
||||
per coprocessor, and choose the number of coprocessor threads to use
|
||||
per MPI task (via the "-k" command-line switch discussed below). The
|
||||
product of MPI tasks * coprocessor threads/task should not exceed the
|
||||
maximum number of threads the coproprocessor is designed to run,
|
||||
maximum number of threads the coprocessor is designed to run,
|
||||
otherwise performance will suffer. This value is 240 for current
|
||||
generation Xeon Phi(TM) chips, which is 60 physical cores * 4
|
||||
threads/core. Note that with the KOKKOS package you do not need to
|
||||
@ -333,7 +333,7 @@ device=CUDA are the same.
|
||||
|
||||
You must still use the "-k on" "command-line
|
||||
switch"_Section_start.html#start_7 to enable the KOKKOS package, and
|
||||
specify its additional arguments for hardware options appopriate to
|
||||
specify its additional arguments for hardware options appropriate to
|
||||
your system, as documented above.
|
||||
|
||||
Use the "suffix kk"_suffix.html command, or you can explicitly add a
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
angle_style class2 command :h3
|
||||
angle_style class2/omp command :h3
|
||||
angle_style class2/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ angle.
|
||||
|
||||
The torque on the dipole can be obtained by differentiating the
|
||||
potential using the 'chain rule' as in appendix C.3 of
|
||||
"(Allen)"_#Allen:
|
||||
"(Allen)"_#Allen1:
|
||||
|
||||
:c,image(Eqs/angle_dipole_torque.jpg)
|
||||
|
||||
@ -121,6 +121,6 @@ This angle style should not be used with SHAKE.
|
||||
[(Orsi)] Orsi & Essex, The ELBA force field for coarse-grain modeling of
|
||||
lipid membranes, PloS ONE 6(12): e28637, 2011.
|
||||
|
||||
:link(Allen)
|
||||
:link(Allen1)
|
||||
[(Allen)] Allen & Tildesley, Computer Simulation of Liquids,
|
||||
Clarendon Press, Oxford, 1987.
|
||||
|
||||
@ -81,7 +81,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
Unlike other angle styles, the hybrid angle style does not store angle
|
||||
coefficient info for individual sub-styles in a "binary restart
|
||||
files"_restart.html. Thus when retarting a simulation from a restart
|
||||
files"_restart.html. Thus when restarting a simulation from a restart
|
||||
file, you need to re-specify angle_coeff commands.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -46,7 +46,7 @@ from the pair_style.
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
USER-CG-CMM package. See the "Making
|
||||
USER-CGSDK package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
@ -103,7 +103,7 @@ turns off the {first} option.
|
||||
|
||||
It is OK to use the {first} keyword with a group that has not yet been
|
||||
defined, e.g. to use the atom_modify first command at the beginning of
|
||||
your input script. LAMMPS does not use the group until a simullation
|
||||
your input script. LAMMPS does not use the group until a simulation
|
||||
is run.
|
||||
|
||||
The {sort} keyword turns on a spatial sorting or reordering of atoms
|
||||
@ -116,7 +116,7 @@ various other factors. As a general rule, sorting is typically more
|
||||
effective at speeding up simulations of liquids as opposed to solids.
|
||||
In tests we have done, the speed-up can range from zero to 3-4x.
|
||||
|
||||
Reordering is peformed every {Nfreq} timesteps during a dynamics run
|
||||
Reordering is performed every {Nfreq} timesteps during a dynamics run
|
||||
or iterations during a minimization. More precisely, reordering
|
||||
occurs at the first reneighboring that occurs after the target
|
||||
timestep. The reordering is performed locally by each processor,
|
||||
@ -130,7 +130,7 @@ the processor's 1d list of atoms.
|
||||
The goal of this procedure is for atoms to put atoms close to each
|
||||
other in the processor's one-dimensional list of atoms that are also
|
||||
near to each other spatially. This can improve cache performance when
|
||||
pairwise intereractions and neighbor lists are computed. Note that if
|
||||
pairwise interactions and neighbor lists are computed. Note that if
|
||||
bins are too small, there will be few atoms/bin. Likewise if bins are
|
||||
too large, there will be many atoms/bin. In both cases, the goal of
|
||||
cache locality will be undermined.
|
||||
@ -138,7 +138,7 @@ cache locality will be undermined.
|
||||
NOTE: Running a simulation with sorting on versus off should not
|
||||
change the simulation results in a statistical sense. However, a
|
||||
different ordering will induce round-off differences, which will lead
|
||||
to diverging trajectories over time when comparing two simluations.
|
||||
to diverging trajectories over time when comparing two simulations.
|
||||
Various commands, particularly those which use random numbers
|
||||
(e.g. "velocity create"_velocity.html, and "fix
|
||||
langevin"_fix_langevin.html), may generate (statistically identical)
|
||||
|
||||
@ -110,12 +110,17 @@ basis.
|
||||
For the {sphere} style, the particles are spheres and each stores a
|
||||
per-particle diameter and mass. If the diameter > 0.0, the particle
|
||||
is a finite-size sphere. If the diameter = 0.0, it is a point
|
||||
particle.
|
||||
particle. Note that by use of the {disc} keyword with the "fix
|
||||
nve/sphere"_fix_nve_sphere.html, "fix nvt/sphere"_fix_nvt_sphere.html,
|
||||
"fix nph/sphere"_fix_nph_sphere.html, "fix
|
||||
npt/sphere"_fix_npt_sphere.html commands, spheres can be effectively
|
||||
treated as 2d discs for a 2d simulation if desired. See also the "set
|
||||
density/disc"_set.html command.
|
||||
|
||||
For the {ellipsoid} style, the particles are ellipsoids and each
|
||||
stores a flag which indicates whether it is a finite-size ellipsoid or
|
||||
a point particle. If it is an ellipsoid, it also stores a shape
|
||||
vector with the 3 diamters of the ellipsoid and a quaternion 4-vector
|
||||
vector with the 3 diameters of the ellipsoid and a quaternion 4-vector
|
||||
with its orientation.
|
||||
|
||||
For the {dipole} style, a point dipole is defined for each point
|
||||
@ -149,7 +154,7 @@ Hydrodynamics. Both fluids and solids can be modeled. Particles
|
||||
store the mass and volume of an integration point, a kernel diameter
|
||||
used for calculating the field variables (e.g. stress and deformation)
|
||||
and a contact radius for calculating repulsive forces which prevent
|
||||
individual physical bodies from penetretating each other.
|
||||
individual physical bodies from penetrating each other.
|
||||
|
||||
The {wavepacket} style is similar to {electron}, but the electrons may
|
||||
consist of several Gaussian wave packets, summed up with coefficients
|
||||
@ -165,7 +170,7 @@ For the {tri} style, the particles are planar triangles and each
|
||||
stores a per-particle mass and size and orientation (i.e. the corner
|
||||
points of the triangle).
|
||||
|
||||
The {template} style allows molecular topolgy (bonds,angles,etc) to be
|
||||
The {template} style allows molecular topology (bonds,angles,etc) to be
|
||||
defined via a molecule template using the "molecule"_molecule.html
|
||||
command. The template stores one or more molecules with a single copy
|
||||
of the topology info (bonds,angles,etc) of each. Individual atoms
|
||||
@ -195,7 +200,7 @@ the {bstyle} argument. Body particles can represent complex entities,
|
||||
such as surface meshes of discrete points, collections of
|
||||
sub-particles, deformable objects, etc.
|
||||
|
||||
The "body"_body.html doc page descibes the body styles LAMMPS
|
||||
The "body"_body.html doc page describes the body styles LAMMPS
|
||||
currently supports, and provides more details as to the kind of body
|
||||
particles they represent. For all styles, each body particle stores
|
||||
moments of inertia and a quaternion 4-vector, so that its orientation
|
||||
@ -280,7 +285,7 @@ The {dpd} style is part of the USER-DPD package for dissipative
|
||||
particle dynamics (DPD).
|
||||
|
||||
The {meso} style is part of the USER-SPH package for smoothed particle
|
||||
hydrodyanmics (SPH). See "this PDF
|
||||
hydrodynamics (SPH). See "this PDF
|
||||
guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in LAMMPS.
|
||||
|
||||
The {wavepacket} style is part of the USER-AWPMD package for the
|
||||
|
||||
@ -12,7 +12,7 @@ balance command :h3
|
||||
|
||||
balance thresh style args ... keyword args ... :pre
|
||||
|
||||
thresh = imbalance threshhold that must be exceeded to perform a re-balance :ulb,l
|
||||
thresh = imbalance threshold that must be exceeded to perform a re-balance :ulb,l
|
||||
one style/arg pair can be used (or multiple for {x},{y},{z}) :l
|
||||
style = {x} or {y} or {z} or {shift} or {rcb} :l
|
||||
{x} args = {uniform} or Px-1 numbers between 0 and 1
|
||||
@ -30,7 +30,7 @@ style = {x} or {y} or {z} or {shift} or {rcb} :l
|
||||
{shift} args = dimstr Niter stopthresh
|
||||
dimstr = sequence of letters containing "x" or "y" or "z", each not more than once
|
||||
Niter = # of times to iterate within each dimension of dimstr sequence
|
||||
stopthresh = stop balancing when this imbalance threshhold is reached
|
||||
stopthresh = stop balancing when this imbalance threshold is reached
|
||||
{rcb} args = none :pre
|
||||
zero or more keyword/arg pairs may be appended :l
|
||||
keyword = {weight} or {out} :l
|
||||
@ -76,13 +76,13 @@ sub-domain sizes and shapes on-the-fly during a "run"_run.html.
|
||||
|
||||
Load-balancing is typically most useful if the particles in the
|
||||
simulation box have a spatially-varying density distribution or when
|
||||
the computational cost varies signficantly between different
|
||||
the computational cost varies significantly between different
|
||||
particles. E.g. a model of a vapor/liquid interface, or a solid with
|
||||
an irregular-shaped geometry containing void regions, or "hybrid pair
|
||||
style simulations"_pair_hybrid.html which combine pair styles with
|
||||
different computational cost. In these cases, the LAMMPS default of
|
||||
dividing the simulation box volume into a regular-spaced grid of 3d
|
||||
bricks, with one equal-volume sub-domain per procesor, may assign
|
||||
bricks, with one equal-volume sub-domain per processor, may assign
|
||||
numbers of particles per processor in a way that the computational
|
||||
effort varies significantly. This can lead to poor performance when
|
||||
the simulation is run in parallel.
|
||||
@ -91,7 +91,7 @@ The balancing can be performed with or without per-particle weighting.
|
||||
With no weighting, the balancing attempts to assign an equal number of
|
||||
particles to each processor. With weighting, the balancing attempts
|
||||
to assign an equal aggregate computational weight to each processor,
|
||||
which typically inducces a diffrent number of atoms assigned to each
|
||||
which typically induces a different number of atoms assigned to each
|
||||
processor. Details on the various weighting options and examples for
|
||||
how they can be used are "given below"_#weighted_balance.
|
||||
|
||||
@ -222,7 +222,7 @@ listed in ascending order. They represent the fractional position of
|
||||
the cutting place. The left (or lower) edge of the box is 0.0, and
|
||||
the right (or upper) edge is 1.0. Neither of these values is
|
||||
specified. Only the interior Ps-1 positions are specified. Thus is
|
||||
there are 2 procesors in the x dimension, you specify a single value
|
||||
there are 2 processors in the x dimension, you specify a single value
|
||||
such as 0.75, which would make the left processor's sub-domain 3x
|
||||
larger than the right processor's sub-domain.
|
||||
|
||||
@ -266,7 +266,7 @@ assigned, particles are migrated to their new owning processor, and
|
||||
the balance procedure ends.
|
||||
|
||||
NOTE: At each rebalance operation, the bisectioning for each cutting
|
||||
plane (line in 2d) typcially starts with low and high bounds separated
|
||||
plane (line in 2d) typically starts with low and high bounds separated
|
||||
by the extent of a processor's sub-domain in one dimension. The size
|
||||
of this bracketing region shrinks by 1/2 every iteration. Thus if
|
||||
{Niter} is specified as 10, the cutting plane will typically be
|
||||
@ -286,24 +286,32 @@ above. It performs a recursive coordinate bisectioning (RCB) of the
|
||||
simulation domain. The basic idea is as follows.
|
||||
|
||||
The simulation domain is cut into 2 boxes by an axis-aligned cut in
|
||||
the longest dimension, leaving one new box on either side of the cut.
|
||||
All the processors are also partitioned into 2 groups, half assigned
|
||||
to the box on the lower side of the cut, and half to the box on the
|
||||
upper side. (If the processor count is odd, one side gets an extra
|
||||
processor.) The cut is positioned so that the number of particles in
|
||||
the lower box is exactly the number that the processors assigned to
|
||||
that box should own for load balance to be perfect. This also makes
|
||||
load balance for the upper box perfect. The positioning is done
|
||||
iteratively, by a bisectioning method. Note that counting particles
|
||||
on either side of the cut requires communication between all
|
||||
processors at each iteration.
|
||||
one of the dimensions, leaving one new sub-box on either side of the
|
||||
cut. Which dimension is chosen for the cut depends on the particle
|
||||
(weight) distribution within the parent box. Normally the longest
|
||||
dimension of the box is cut, but if all (or most) of the particles are
|
||||
at one end of the box, a cut may be performed in another dimension to
|
||||
induce sub-boxes that are more cube-ish (3d) or square-ish (2d) in
|
||||
shape.
|
||||
|
||||
After the cut is made, all the processors are also partitioned into 2
|
||||
groups, half assigned to the box on the lower side of the cut, and
|
||||
half to the box on the upper side. (If the processor count is odd,
|
||||
one side gets an extra processor.) The cut is positioned so that the
|
||||
number of (weighted) particles in the lower box is exactly the number
|
||||
that the processors assigned to that box should own for load balance
|
||||
to be perfect. This also makes load balance for the upper box
|
||||
perfect. The positioning of the cut is done iteratively, by a
|
||||
bisectioning method (median search). Note that counting particles on
|
||||
either side of the cut requires communication between all processors
|
||||
at each iteration.
|
||||
|
||||
That is the procedure for the first cut. Subsequent cuts are made
|
||||
recursively, in exactly the same manner. The subset of processors
|
||||
assigned to each box make a new cut in the longest dimension of that
|
||||
box, splitting the box, the subset of processsors, and the particles
|
||||
in the box in two. The recursion continues until every processor is
|
||||
assigned a sub-box of the entire simulation domain, and owns the
|
||||
assigned to each box make a new cut in one dimension of that box,
|
||||
splitting the box, the subset of processors, and the particles in the
|
||||
box in two. The recursion continues until every processor is assigned
|
||||
a sub-box of the entire simulation domain, and owns the (weighted)
|
||||
particles in that sub-box.
|
||||
|
||||
:line
|
||||
@ -368,7 +376,7 @@ of about 0.8 often results in the best performance, since the number
|
||||
of neighbors is likely to overestimate the ideal weight.
|
||||
|
||||
This weight style is useful for systems where there are different
|
||||
cutoffs used for different pairs of interations, or the density
|
||||
cutoffs used for different pairs of interactions, or the density
|
||||
fluctuates, or a large number of particles are in the vicinity of a
|
||||
wall, or a combination of these effects. If a simulation uses
|
||||
multiple neighbor lists, this weight style will use the first suitable
|
||||
@ -402,7 +410,7 @@ decrease the weights so that the ratio of max weight to min weight
|
||||
decreases by {factor}. In both cases the intermediate weight values
|
||||
increase/decrease proportionally as well. A value = 1.0 has no effect
|
||||
on the {time} weights. As a rule of thumb, effective values to use
|
||||
are typicall between 0.5 and 1.2. Note that the timer quantities
|
||||
are typically between 0.5 and 1.2. Note that the timer quantities
|
||||
mentioned above can be affected by communication which occurs in the
|
||||
middle of the operations, e.g. pair styles with intermediate exchange
|
||||
of data witin the force computation, and likewise for KSpace solves.
|
||||
|
||||
@ -82,7 +82,7 @@ internal stress that induces fragmentation :ul
|
||||
then the interaction between pairs of particles is likely to be more
|
||||
complex than the summation of simple sub-particle interactions. An
|
||||
example is contact or frictional forces between particles with planar
|
||||
sufaces that inter-penetrate.
|
||||
surfaces that inter-penetrate.
|
||||
|
||||
These are additional LAMMPS commands that can be used with body
|
||||
particles of different styles
|
||||
@ -105,7 +105,7 @@ in the sections below.
|
||||
|
||||
The {nparticle} body style represents body particles as a rigid body
|
||||
with a variable number N of sub-particles. It is provided as a
|
||||
vanillia, prototypical example of a body particle, although as
|
||||
vanilla, prototypical example of a body particle, although as
|
||||
mentioned above, the "fix rigid"_fix_rigid.html command already
|
||||
duplicates its functionality.
|
||||
|
||||
@ -140,7 +140,7 @@ for more details.
|
||||
The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
|
||||
values consistent with the current orientation of the rigid body
|
||||
around its center of mass. The values are with respect to the
|
||||
simulation box XYZ axes, not with respect to the prinicpal axes of the
|
||||
simulation box XYZ axes, not with respect to the principal axes of the
|
||||
rigid body itself. LAMMPS performs the latter calculation internally.
|
||||
The coordinates of each sub-particle are specified as its x,y,z
|
||||
displacement from the center-of-mass of the body particle. The
|
||||
@ -218,7 +218,7 @@ wish; see the "read_data"_read_data.html command for more details.
|
||||
The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
|
||||
values consistent with the current orientation of the rigid body
|
||||
around its center of mass. The values are with respect to the
|
||||
simulation box XYZ axes, not with respect to the prinicpal axes of the
|
||||
simulation box XYZ axes, not with respect to the principal axes of the
|
||||
rigid body itself. LAMMPS performs the latter calculation internally.
|
||||
The coordinates of each vertex are specified as its x,y,z displacement
|
||||
from the center-of-mass of the body particle. The center-of-mass
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
bond_style class2 command :h3
|
||||
bond_style class2/omp command :h3
|
||||
bond_style class2/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
Unlike other bond styles, the hybrid bond style does not store bond
|
||||
coefficient info for individual sub-styles in a "binary restart
|
||||
files"_restart.html. Thus when retarting a simulation from a restart
|
||||
files"_restart.html. Thus when restarting a simulation from a restart
|
||||
file, you need to re-specify bond_coeff commands.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
79
doc/src/bond_oxdna.txt
Normal file
@ -0,0 +1,79 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
bond_style oxdna/fene command :h3
|
||||
bond_style oxdna2/fene command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
bond_style oxdna/fene :pre
|
||||
bond_style oxdna2/fene :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
bond_style oxdna/fene
|
||||
bond_coeff * 2.0 0.25 0.7525 :pre
|
||||
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {oxdna/fene} and {oxdna2/fene} bond styles use the potential
|
||||
|
||||
:c,image(Eqs/bond_oxdna_fene.jpg)
|
||||
|
||||
to define a modified finite extensible nonlinear elastic (FENE) potential
|
||||
"(Ouldridge)"_#oxdna_fene to model the connectivity of the phosphate backbone
|
||||
in the oxDNA force field for coarse-grained modelling of DNA.
|
||||
|
||||
The following coefficients must be defined for the bond type via the
|
||||
"bond_coeff"_bond_coeff.html command as given in the above example, or in
|
||||
the data file or restart files read by the "read_data"_read_data.html
|
||||
or "read_restart"_read_restart.html commands:
|
||||
|
||||
epsilon (energy)
|
||||
Delta (distance)
|
||||
r0 (distance) :ul
|
||||
|
||||
NOTE: The oxDNA bond style has to be used together with the corresponding oxDNA pair styles
|
||||
for excluded volume interaction {oxdna/excv}, stacking {oxdna/stk}, cross-stacking {oxdna/xstk}
|
||||
and coaxial stacking interaction {oxdna/coaxstk} as well as hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
|
||||
"pair_style oxdna/excv"_pair_oxdna.html). For the oxDNA2 "(Snodin)"_#oxdna2 bond style the analogous pair styles and an additional Debye-Hueckel pair
|
||||
style {oxdna2/dh} have to be defined.
|
||||
The coefficients in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
|
||||
|
||||
Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/.
|
||||
A simple python setup tool which creates single straight or helical DNA strands,
|
||||
DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/.
|
||||
A technical report with more information on the model, the structure of the input file,
|
||||
the setup tool and the performance of the LAMMPS-implementation of oxDNA
|
||||
can be found "here"_PDF/USER-CGDNA-overview.pdf.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
USER-CGDNA package and the MOLECULE and ASPHERE package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info on packages.
|
||||
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_style oxdna/excv"_pair_oxdna.html, "pair_style oxdna2/excv"_pair_oxdna2.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "bond_coeff"_bond_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(oxdna_fene)
|
||||
[(Ouldridge)] T.E. Ouldridge, A.A. Louis, J.P.K. Doye, J. Chem. Phys. 134, 085101 (2011).
|
||||
|
||||
:link(oxdna2)
|
||||
[(Snodin)] B.E. Snodin, F. Randisi, M. Mosayebi, et al., J. Chem. Phys. 142, 234901 (2015).
|
||||
@ -15,6 +15,7 @@ Bond Styles :h1
|
||||
bond_morse
|
||||
bond_none
|
||||
bond_nonlinear
|
||||
bond_oxdna
|
||||
bond_quartic
|
||||
bond_table
|
||||
bond_zero
|
||||
|
||||
@ -101,11 +101,11 @@ Instead you could do something like this, assuming the simulation box
|
||||
is non-periodic and atoms extend from 0 to 20 in all dimensions:
|
||||
|
||||
change_box all x final -10 20
|
||||
create_atoms 1 single -5 5 5 # this will fail to insert an atom :pre
|
||||
create_atoms 1 single -5 5 5 # this will fail to insert an atom :pre
|
||||
|
||||
change_box all x final -10 20 boundary f s s
|
||||
create_atoms 1 single -5 5 5
|
||||
change_box boundary s s s # this will work :pre
|
||||
change_box all boundary s s s # this will work :pre
|
||||
|
||||
NOTE: Unlike the earlier "displace_box" version of this command, atom
|
||||
remapping is NOT performed by default. This command allows remapping
|
||||
@ -258,8 +258,8 @@ command.
|
||||
:line
|
||||
|
||||
The {ortho} and {triclinic} keywords convert the simulation box to be
|
||||
orthogonal or triclinic (non-orthongonal). See "this
|
||||
section"_Section_howto#howto_13 for a discussion of how non-orthongal
|
||||
orthogonal or triclinic (non-orthogonal). See "this
|
||||
section"_Section_howto#howto_13 for a discussion of how non-orthogonal
|
||||
boxes are represented in LAMMPS.
|
||||
|
||||
The simulation box is defined as either orthogonal or triclinic when
|
||||
@ -289,7 +289,7 @@ the create_box command is encountered in the input script.
|
||||
The {remap} keyword remaps atom coordinates from the last saved box
|
||||
size/shape to the current box state. For example, if you stretch the
|
||||
box in the x dimension or tilt it in the xy plane via the {x} and {xy}
|
||||
keywords, then the {remap} commmand will dilate or tilt the atoms to
|
||||
keywords, then the {remap} command will dilate or tilt the atoms to
|
||||
conform to the new box size/shape, as if the atoms moved with the box
|
||||
as it deformed.
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ sizes and shapes. Again there is one tile per processor. To acquire
|
||||
information for nearby atoms, communication must now be done with a
|
||||
more complex pattern of neighboring processors.
|
||||
|
||||
Note that this command does not actually define a partitoining of the
|
||||
Note that this command does not actually define a partitioning of the
|
||||
simulation box (a domain decomposition), rather it determines what
|
||||
kinds of decompositions are allowed and the pattern of communication
|
||||
used to enable the decomposition. A decomposition is created when the
|
||||
|
||||
@ -91,6 +91,7 @@ Commands :h1
|
||||
suffix
|
||||
tad
|
||||
temper
|
||||
temper_grem
|
||||
thermo
|
||||
thermo_modify
|
||||
thermo_style
|
||||
|
||||
@ -235,7 +235,7 @@ section of "this page"_Section_commands.html#cmd_5.
|
||||
"temp/ramp"_compute_temp_ramp.html - temperature excluding ramped velocity component
|
||||
"temp/region"_compute_temp_region.html - temperature of a region of atoms
|
||||
"temp/sphere"_compute_temp_sphere.html - temperature of spherical particles
|
||||
"ti"_compute_ti.html - thermodyanmic integration free energy values
|
||||
"ti"_compute_ti.html - thermodynamic integration free energy values
|
||||
"torque/chunk"_compute_torque_chunk.html - torque applied on each chunk
|
||||
"vacf"_compute_vacf.html - velocity-autocorrelation function of group of atoms
|
||||
"vcm/chunk"_compute_vcm_chunk.html - velocity of center-of-mass for each chunk
|
||||
|
||||
@ -22,7 +22,7 @@ compute 1 fluid angmom/chunk molchunk :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates the angular momemtum of multiple
|
||||
Define a computation that calculates the angular momentum of multiple
|
||||
chunks of atoms.
|
||||
|
||||
In LAMMPS, chunks are collections of atoms defined by a "compute
|
||||
|
||||
@ -51,12 +51,12 @@ relative to the center of mass (COM) velocity of the 2 atoms in the
|
||||
bond.
|
||||
|
||||
The value {engvib} is the vibrational kinetic energy of the two atoms
|
||||
in the bond, which is simply 1/2 m1 v1^2 + 1/2 m1 v2^2, where v1 and
|
||||
in the bond, which is simply 1/2 m1 v1^2 + 1/2 m2 v2^2, where v1 and
|
||||
v2 are the magnitude of the velocity of the 2 atoms along the bond
|
||||
direction, after the COM velocity has been subtracted from each.
|
||||
|
||||
The value {engrot} is the rotationsl kinetic energy of the two atoms
|
||||
in the bond, which is simply 1/2 m1 v1^2 + 1/2 m1 v2^2, where v1 and
|
||||
in the bond, which is simply 1/2 m1 v1^2 + 1/2 m2 v2^2, where v1 and
|
||||
v2 are the magnitude of the velocity of the 2 atoms perpendicular to
|
||||
the bond direction, after the COM velocity has been subtracted from
|
||||
each.
|
||||
@ -67,7 +67,7 @@ Vcm^2 where Vcm = magnitude of the velocity of the COM.
|
||||
|
||||
Note that these 3 kinetic energy terms are simply a partitioning of
|
||||
the summed kinetic energy of the 2 atoms themselves. I.e. total KE =
|
||||
1/2 m1 v1^2 + 1/2 m2 v3^2 = engvib + engrot + engtrans, where v1,v2
|
||||
1/2 m1 v1^2 + 1/2 m2 v2^2 = engvib + engrot + engtrans, where v1,v2
|
||||
are the magnitude of the velocities of the 2 atoms, without any
|
||||
adjustment for the COM velocity.
|
||||
|
||||
|
||||
@ -18,8 +18,8 @@ lattice = {fcc} or {bcc} or N = # of neighbors per atom to include :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {axes} :l
|
||||
{axes} value = {no} or {yes}
|
||||
{no} = do not calulate 3 symmetry axes
|
||||
{yes} = calulate 3 symmetry axes :pre
|
||||
{no} = do not calculate 3 symmetry axes
|
||||
{yes} = calculate 3 symmetry axes :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
@ -108,7 +108,7 @@ symmetry axis, followed by the second, and third symmetry axes in
|
||||
columns 5-7 and 8-10.
|
||||
|
||||
The centrosymmetry values are unitless values >= 0.0. Their magnitude
|
||||
depends on the lattice style due to the number of contibuting neighbor
|
||||
depends on the lattice style due to the number of contributing neighbor
|
||||
pairs in the summation in the formula above. And it depends on the
|
||||
local defects surrounding the central atom, as described above. For
|
||||
the {axes yes} case, the vector components are also unitless, since
|
||||
|
||||
@ -148,7 +148,9 @@ described further below where the keywords are discussed.
|
||||
The {binning} styles perform a spatial binning of atoms, and assign an
|
||||
atom the chunk ID corresponding to the bin number it is in. {Nchunk}
|
||||
is set to the number of bins, which can change if the simulation box
|
||||
size changes.
|
||||
size changes. This also depends on the setting of the {units}
|
||||
keyword; e.g. for {reduced} units the number of chunks may not change
|
||||
even if the box size does.
|
||||
|
||||
The {bin/1d}, {bin/2d}, and {bin/3d} styles define bins as 1d layers
|
||||
(slabs), 2d pencils, or 3d boxes. The {dim}, {origin}, and {delta}
|
||||
@ -386,7 +388,7 @@ If {compress yes} is set, and the {compress} keyword comes before the
|
||||
{limit} keyword, the compression operation is performed first, as
|
||||
described below, which resets {Nchunk}. The {limit} keyword is then
|
||||
applied to the new {Nchunk} value, exactly as described in the
|
||||
preceeding paragraph. Note that in this case, all atoms will end up
|
||||
preceding paragraph. Note that in this case, all atoms will end up
|
||||
with chunk IDs <= {Nc}, but their original values (e.g. molecule ID or
|
||||
compute/fix/variable value) may have been > {Nc}, because of the
|
||||
compression operation.
|
||||
@ -459,7 +461,7 @@ The original chunk IDs (before renumbering) can be accessed by the
|
||||
which outputs the original IDs as one of the columns in its global
|
||||
output array. For example, using the "compute cluster/atom" command
|
||||
discussed above, the original 5 unique chunk IDs might be atom IDs
|
||||
(27,4982,58374,857838,1000000). After compresion, these will be
|
||||
(27,4982,58374,857838,1000000). After compression, these will be
|
||||
renumbered to (1,2,3,4,5). The original values (27,...,1000000) can
|
||||
be output to a file by the "fix ave/chunk"_fix_ave_chunk.html command,
|
||||
or by using the "fix ave/time"_fix_ave_time.html command in
|
||||
@ -538,7 +540,7 @@ is set to {yes}, an out-of-domain atom will have its chunk ID set to
|
||||
to the first or last bin in both the radial and axis dimensions. If
|
||||
{discard} is set to {mixed}, which is the default, the radial
|
||||
dimension is treated the same as for {discard} = no. But for the axis
|
||||
dimensinon, it will only have its chunk ID set to the first or last
|
||||
dimension, it will only have its chunk ID set to the first or last
|
||||
bin if bins extend to the simulation box boundary in the axis
|
||||
dimension. This is the case if the {bound} keyword settings are
|
||||
{lower} and {upper}, which is the default. If the {bound} keyword
|
||||
@ -641,7 +643,8 @@ the restarted simulation begins.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix ave/chunk"_fix_ave_chunk.html
|
||||
"fix ave/chunk"_fix_ave_chunk.html,
|
||||
"compute global/atom"_compute_global_atom.html
|
||||
|
||||
[Default:]
|
||||
|
||||
|
||||
@ -37,7 +37,7 @@ The neighbor list needed to compute this quantity is constructed each
|
||||
time the calculation is performed (i.e. each time a snapshot of atoms
|
||||
is dumped). Thus it can be inefficient to compute/dump this quantity
|
||||
too frequently or to have multiple compute/dump commands, each of a
|
||||
{clsuter/atom} style.
|
||||
{cluster/atom} style.
|
||||
|
||||
NOTE: If you have a bonded system, then the settings of
|
||||
"special_bonds"_special_bonds.html command can remove pairwise
|
||||
|
||||
@ -42,7 +42,7 @@ performed on mono-component systems.
|
||||
|
||||
The CNA calculation can be sensitive to the specified cutoff value.
|
||||
You should insure the appropriate nearest neighbors of an atom are
|
||||
found within the cutoff distance for the presumed crystal strucure.
|
||||
found within the cutoff distance for the presumed crystal structure.
|
||||
E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest
|
||||
neighbors for perfect BCC crystals. These formulas can be used to
|
||||
obtain a good cutoff distance:
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that calculates the center-of-mass of the group
|
||||
of atoms, including all effects due to atoms passing thru periodic
|
||||
boundaries.
|
||||
|
||||
A vector of three quantites is calculated by this compute, which
|
||||
A vector of three quantities is calculated by this compute, which
|
||||
are the x,y,z coordinates of the center of mass.
|
||||
|
||||
NOTE: The coordinates of an atom contribute to the center-of-mass in
|
||||
|
||||
@ -10,34 +10,43 @@ compute coord/atom command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID coord/atom cutoff type1 type2 ... :pre
|
||||
compute ID group-ID coord/atom cstyle args ... :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command
|
||||
coord/atom = style name of this compute command
|
||||
cutoff = distance within which to count coordination neighbors (distance units)
|
||||
typeN = atom type for Nth coordination count (see asterisk form below) :ul
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
coord/atom = style name of this compute command :l
|
||||
cstyle = {cutoff} or {orientorder} :l
|
||||
{cutoff} args = cutoff typeN
|
||||
cutoff = distance within which to count coordination neighbors (distance units)
|
||||
typeN = atom type for Nth coordination count (see asterisk form below)
|
||||
{orientorder} args = orientorderID threshold
|
||||
orientorderID = ID of an orientorder/atom compute
|
||||
threshold = minimum value of the product of two "connected" atoms :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 1 all coord/atom 2.0
|
||||
compute 1 all coord/atom 6.0 1 2
|
||||
compute 1 all coord/atom 6.0 2*4 5*8 * :pre
|
||||
compute 1 all coord/atom cutoff 2.0
|
||||
compute 1 all coord/atom cutoff 6.0 1 2
|
||||
compute 1 all coord/atom cutoff 6.0 2*4 5*8 *
|
||||
compute 1 all coord/atom orientorder 2 0.5 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates one or more coordination numbers
|
||||
for each atom in a group.
|
||||
This compute performs calculations between neighboring atoms to
|
||||
determine a coordination value. The specific calculation and the
|
||||
meaning of the resulting value depend on the {cstyle} keyword used.
|
||||
|
||||
A coordination number is defined as the number of neighbor atoms with
|
||||
specified atom type(s) that are within the specified cutoff distance
|
||||
from the central atom. Atoms not in the group are included in a
|
||||
coordination number of atoms in the group.
|
||||
The {cutoff} cstyle calculates one or more traditional coordination
|
||||
numbers for each atom. A coordination number is defined as the number
|
||||
of neighbor atoms with specified atom type(s) that are within the
|
||||
specified cutoff distance from the central atom. Atoms not in the
|
||||
specified group are included in the coordination number tally.
|
||||
|
||||
The {typeN} keywords allow you to specify which atom types contribute
|
||||
to each coordination number. One coordination number is computed for
|
||||
each of the {typeN} keywords listed. If no {typeN} keywords are
|
||||
listed, a single coordination number is calculated, which includes
|
||||
atoms of all types (same as the "*" format, see below).
|
||||
The {typeN} keywords allow specification of which atom types
|
||||
contribute to each coordination number. One coordination number is
|
||||
computed for each of the {typeN} keywords listed. If no {typeN}
|
||||
keywords are listed, a single coordination number is calculated, which
|
||||
includes atoms of all types (same as the "*" format, see below).
|
||||
|
||||
The {typeN} keywords can be specified in one of two ways. An explicit
|
||||
numeric value can be used, as in the 2nd example above. Or a
|
||||
@ -49,8 +58,27 @@ from 1 to N. A leading asterisk means all types from 1 to n
|
||||
(inclusive). A middle asterisk means all types from m to n
|
||||
(inclusive).
|
||||
|
||||
The value of all coordination numbers will be 0.0 for atoms not in the
|
||||
specified compute group.
|
||||
The {orientorder} cstyle calculates the number of "connected" neighbor
|
||||
atoms J around each central atom I. For this {cstyle}, connected is
|
||||
defined by the orientational order parameter calculated by the
|
||||
"compute orientorder/atom"_compute_orientorder_atom.html command.
|
||||
This {cstyle} thus allows one to apply the ten Wolde's criterion to
|
||||
identify crystal-like atoms in a system, as discussed in "ten
|
||||
Wolde"_#tenWolde1.
|
||||
|
||||
The ID of the previously specified "compute
|
||||
orientorder/atom"_compute_orientorder/atom command is specified as
|
||||
{orientorderID}. The compute must invoke its {components} option to
|
||||
calculate components of the {Ybar_lm} vector for each atoms, as
|
||||
described in its documentation. Note that orientorder/atom compute
|
||||
defines its own criteria for identifying neighboring atoms. If the
|
||||
scalar product ({Ybar_lm(i)},{Ybar_lm(j)}), calculated by the
|
||||
orientorder/atom compute is larger than the specified {threshold},
|
||||
then I and J are connected, and the coordination value of I is
|
||||
incremented by one.
|
||||
|
||||
For all {cstyle} settings, all coordination values will be 0.0 for
|
||||
atoms not in the specified compute group.
|
||||
|
||||
The neighbor list needed to compute this quantity is constructed each
|
||||
time the calculation is performed (i.e. each time a snapshot of atoms
|
||||
@ -72,11 +100,16 @@ the neighbor list.
|
||||
|
||||
[Output info:]
|
||||
|
||||
If single {type1} keyword is specified (or if none are specified),
|
||||
this compute calculates a per-atom vector. If multiple {typeN}
|
||||
keywords are specified, this compute calculates a per-atom array, with
|
||||
N columns. These values can be accessed by any command that uses
|
||||
per-atom values from a compute as input. See "Section
|
||||
For {cstyle} cutoff, this compute can calculate a per-atom vector or
|
||||
array. If single {type1} keyword is specified (or if none are
|
||||
specified), this compute calculates a per-atom vector. If multiple
|
||||
{typeN} keywords are specified, this compute calculates a per-atom
|
||||
array, with N columns.
|
||||
|
||||
For {cstyle} orientorder, this compute calculates a per-atom vector.
|
||||
|
||||
These values can be accessed by any command that uses per-atom values
|
||||
from a compute as input. See "Section
|
||||
6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
||||
options.
|
||||
|
||||
@ -88,5 +121,12 @@ explained above.
|
||||
[Related commands:]
|
||||
|
||||
"compute cluster/atom"_compute_cluster_atom.html
|
||||
"compute orientorder/atom"_compute_orientorder_atom.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(tenWolde1)
|
||||
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
|
||||
J. Chem. Phys. 104, 9932 (1996).
|
||||
|
||||
@ -47,7 +47,7 @@ any command that uses per-atom values from a compute as input. See
|
||||
"Section 6.15"_Section_howto.html#howto_15 for an overview of
|
||||
LAMMPS output options.
|
||||
|
||||
The per-atom vector values are unitlesss numbers (damage) >= 0.0.
|
||||
The per-atom vector values are unitless numbers (damage) >= 0.0.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ This compute calculates a per-atom vector, which can be accessed by
|
||||
any command that uses per-atom values from a compute as input. See
|
||||
Section_howto 15 for an overview of LAMMPS output options.
|
||||
|
||||
The per-atom vector values are unitlesss numbers (theta) >= 0.0.
|
||||
The per-atom vector values are unitless numbers (theta) >= 0.0.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Define a computation that calculates the current displacement of each
|
||||
atom in the group from its original coordinates, including all effects
|
||||
due to atoms passing thru periodic boundaries.
|
||||
|
||||
A vector of four quantites per atom is calculated by this compute.
|
||||
A vector of four quantities per atom is calculated by this compute.
|
||||
The first 3 elements of the vector are the dx,dy,dz displacements.
|
||||
The 4th component is the total displacement, i.e. sqrt(dx*dx + dy*dy +
|
||||
dz*dz).
|
||||
|
||||
@ -64,7 +64,7 @@ command.
|
||||
|
||||
:line
|
||||
|
||||
:link(Larentzos)
|
||||
:link(Larentzos1)
|
||||
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
|
||||
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
|
||||
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research
|
||||
|
||||
@ -59,7 +59,7 @@ command.
|
||||
|
||||
:line
|
||||
|
||||
:link(Larentzos)
|
||||
:link(Larentzos2)
|
||||
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
|
||||
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
|
||||
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research
|
||||
|
||||
@ -14,7 +14,7 @@ compute ID group-ID event/displace threshold :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command
|
||||
event/displace = style name of this compute command
|
||||
threshold = minimum distance anyparticle must move to trigger an event (distance units) :ul
|
||||
threshold = minimum distance any particle must move to trigger an event (distance units) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
@ -37,7 +37,7 @@ further than the threshold distance.
|
||||
NOTE: If the system is undergoing significant center-of-mass motion,
|
||||
due to thermal motion, an external force, or an initial net momentum,
|
||||
then this compute will not be able to distinguish that motion from
|
||||
local atom displacements and may generate "false postives."
|
||||
local atom displacements and may generate "false positives."
|
||||
|
||||
[Output info:]
|
||||
|
||||
|
||||