Compare commits
253 Commits
patch_2Aug
...
patch_19Se
| Author | SHA1 | Date | |
|---|---|---|---|
| aa2b885783 | |||
| d84cbe49a4 | |||
| 6f06b3ecf1 | |||
| 3fd43224b3 | |||
| b7d9337da4 | |||
| 077647b4e2 | |||
| 95f59f5bf1 | |||
| 415698d570 | |||
| 12071eec1a | |||
| 5c74782c84 | |||
| b0b340051c | |||
| ed6dd1a632 | |||
| d4dbc32ba2 | |||
| eab66f27fd | |||
| c26c8aca4f | |||
| b049b59015 | |||
| 5dba4b66c8 | |||
| e847777e43 | |||
| 2ea11b3195 | |||
| df3fad3b49 | |||
| 572235e66a | |||
| 28b634f20d | |||
| fd63b08f99 | |||
| 636a8aaef9 | |||
| d4d5f241eb | |||
| 8ff6122560 | |||
| 5cf0a5bf6d | |||
| 22f0ca7440 | |||
| 7f037b6c30 | |||
| 27f9ae1017 | |||
| 0c9697a685 | |||
| b2c6244b79 | |||
| fb7a439cd2 | |||
| 3e4f1d1cb8 | |||
| 66ddcd86a3 | |||
| f81c1aae26 | |||
| 357ca4605c | |||
| e51e25882b | |||
| d357259cc4 | |||
| 790d7d9fae | |||
| c37d001178 | |||
| c1e7294b42 | |||
| e8f94447f7 | |||
| d62ef0df82 | |||
| 4593e159ef | |||
| 5a07db8465 | |||
| 0a176d48d8 | |||
| ca301f040b | |||
| 548fd40e9a | |||
| 7386956dc5 | |||
| be0587eab5 | |||
| 1f9decadf8 | |||
| be38ef0eb0 | |||
| 0c52a7ed70 | |||
| b9af05d7f4 | |||
| e413aaf217 | |||
| fa164fffba | |||
| 1e0cd0b202 | |||
| 5d0c86be48 | |||
| 1631ecb3fe | |||
| ae1054a243 | |||
| ce7c3e6864 | |||
| df63a53788 | |||
| 102db258bc | |||
| 07cda306a6 | |||
| d918b17ee7 | |||
| 34f73fddfe | |||
| 4bbe4c73aa | |||
| 15d2e1b260 | |||
| cd846e1bbb | |||
| f34f133f7d | |||
| cde16580c0 | |||
| 493f1cf65b | |||
| 345d6cc7fe | |||
| fb0dee49a2 | |||
| c36c4d50cc | |||
| 51786a459f | |||
| b08b3b90da | |||
| 22fde86fd0 | |||
| e7d8165a46 | |||
| 91a1971977 | |||
| 8c113f5fdb | |||
| 450f437d9f | |||
| 2e0fcac744 | |||
| f41a1f8303 | |||
| bbb0f5740e | |||
| ce02cb58a5 | |||
| 82423ff4e0 | |||
| e40a710f04 | |||
| 9ba26a3145 | |||
| 0235b1a286 | |||
| 49b5825e8d | |||
| 718567f0c0 | |||
| 4fdece59a5 | |||
| bb0225c02e | |||
| cfd72aacce | |||
| 24f1981e31 | |||
| 41d9dbff33 | |||
| 4a9ca6eca2 | |||
| d28e5136b8 | |||
| 92c77a2b37 | |||
| cffe43c96c | |||
| 1e3938835b | |||
| 96c21bec98 | |||
| 21699b89e0 | |||
| fc50ae5951 | |||
| 364ccf6361 | |||
| 039665c635 | |||
| 50af20d194 | |||
| 86c21264b9 | |||
| c981dd7cf4 | |||
| 5ed720e79c | |||
| 43a004daac | |||
| c24486c824 | |||
| 9961229226 | |||
| 02e6ce32ea | |||
| 3ec9317d03 | |||
| 07fceec1ee | |||
| fb702fa9d6 | |||
| 0b34db7881 | |||
| 438400e5fe | |||
| f8e3ea2839 | |||
| 8e1b3116a7 | |||
| aa9b805cc9 | |||
| f44470fe63 | |||
| ed02c25cfc | |||
| 7d0ac95121 | |||
| 09937c9941 | |||
| cb999ad65f | |||
| c74f5ae416 | |||
| 1599fcef12 | |||
| ad83f0e2e3 | |||
| aac557a98f | |||
| 6a584672e8 | |||
| 82b3fad152 | |||
| bf85bff783 | |||
| cfa9179b28 | |||
| 42b282fe36 | |||
| c686df1aba | |||
| ffc023adfe | |||
| 9fc021d8db | |||
| 91a80c3c21 | |||
| fffe2eb958 | |||
| 14b93f91e2 | |||
| 6b1df07298 | |||
| b79e5401d4 | |||
| 9b703c6675 | |||
| f4254cba09 | |||
| b5a79f9616 | |||
| 7beb2a53f2 | |||
| 2b42428d28 | |||
| 88ff8ce2d7 | |||
| 6d5089e078 | |||
| 3d9e737a19 | |||
| a0f49f27d9 | |||
| 9a849a4d4f | |||
| 5cee51204c | |||
| 3a4e6c0dfd | |||
| 2f531d0dab | |||
| b72215fe02 | |||
| 379fa22147 | |||
| 42711245a2 | |||
| 8cfdf4fad5 | |||
| 72c5808cfe | |||
| 578bcf0fb0 | |||
| cd77f71e99 | |||
| edbd525bcb | |||
| 259176c590 | |||
| e4e2342641 | |||
| 47533bc526 | |||
| ff09c19149 | |||
| 915e0b30cf | |||
| fa6cf0fa8f | |||
| 42239bf480 | |||
| 18725ce060 | |||
| 5f442d7b64 | |||
| 11f1ba220b | |||
| a12b959f39 | |||
| d90d2316d1 | |||
| 838238b1ca | |||
| 8619462b3b | |||
| b084ad519d | |||
| 131c5aadd2 | |||
| d08d6b5fb0 | |||
| db621fc897 | |||
| c820c92225 | |||
| 59046e7444 | |||
| 4a55e9dd0c | |||
| 71ce1c2027 | |||
| 21f3f51ea2 | |||
| 2d64323354 | |||
| 25b504d4fd | |||
| 34cc7ed5b1 | |||
| 3ef93d6e1b | |||
| 2092b2c010 | |||
| 16bf916dd0 | |||
| 3a4bce1e52 | |||
| 0bd5704107 | |||
| e39b85b62f | |||
| 97501f0946 | |||
| 51ba9bd520 | |||
| f2757eaf41 | |||
| 096c225594 | |||
| 58d27403f1 | |||
| b65ae605e5 | |||
| d82ae64d16 | |||
| 5b3423c60e | |||
| faefcc776a | |||
| 0774e92ece | |||
| 91fdd98fbc | |||
| bd87b67232 | |||
| eb7fa1b6cb | |||
| 2a04e41287 | |||
| 226e68a784 | |||
| b675edcf5c | |||
| 8e9037ac95 | |||
| 5ef389eaea | |||
| ef1b62a422 | |||
| 3cd1095dd8 | |||
| fe5e952319 | |||
| 87e6fda820 | |||
| fe1afee84e | |||
| 395a9d3739 | |||
| 04cfaae54f | |||
| 52a3d825ef | |||
| 622cfd5718 | |||
| 343bc728e2 | |||
| db3de8a31b | |||
| 053ac654c3 | |||
| 56ae35fb1a | |||
| d9206127fb | |||
| 36ebf4d47a | |||
| 8858846e39 | |||
| 2d90bb9947 | |||
| b195ccfb27 | |||
| 45a2f9ae68 | |||
| e438d46ee2 | |||
| 5c9c15025a | |||
| ad8fd4a2a4 | |||
| 62bfd300f0 | |||
| d000c6883b | |||
| 02373c4c3b | |||
| bbec50bef1 | |||
| 26c40a262d | |||
| de893c8cdd | |||
| 05f739a5a0 | |||
| 14353c5ea5 | |||
| 4ea7d733e8 | |||
| 101948ce1e | |||
| 52d3b9f325 | |||
| 134b1d70ad | |||
| 29cd4eb5b6 | |||
| 3367a408b2 |
1
bench/POTENTIALS/CH.airebo
Symbolic link
@ -0,0 +1 @@
|
||||
../../potentials/CH.airebo
|
||||
1
bench/POTENTIALS/CdTe.bop.table
Symbolic link
@ -0,0 +1 @@
|
||||
../../potentials/CdTe.bop.table
|
||||
@ -1,305 +0,0 @@
|
||||
Cu functions (universal 3), SM Foiles et al, PRB, 33, 7983 (1986)
|
||||
29 63.550 3.6150 FCC
|
||||
500 5.0100200400801306e-04 500 1.0000000000000009e-02 4.9499999999999886e+00
|
||||
0. -3.1561636903424350e-01 -5.2324876182494506e-01 -6.9740831416804383e-01 -8.5202525457518519e-01
|
||||
-9.9329216586042435e-01 -1.1246331970890324e+00 -1.2481882647347859e+00 -1.3654054700363645e+00 -1.4773214276236644e+00
|
||||
-1.5847099936904741e+00 -1.6865851873526410e+00 -1.7843534091637920e+00 -1.8790616476576076e+00 -1.9710188604521761e+00
|
||||
-2.0604838665854572e+00 -2.1476762477372944e+00 -2.2327843595560068e+00 -2.3159713409697673e+00 -2.3973797031286352e+00
|
||||
-2.4771348895887826e+00 -2.5553480773272810e+00 -2.6321184083774227e+00 -2.7075347880408458e+00 -2.7816773487592030e+00
|
||||
-2.8546186529652005e+00 -2.9264246898861899e+00 -2.9971557080624507e+00 -3.0668669157065978e+00 -3.1356090736776849e+00
|
||||
-3.2034290008357829e+00 -3.2703700069757247e+00 -3.3364722658277230e+00 -3.4017731379735778e+00 -3.4663074517059016e+00
|
||||
-3.5301077484029122e+00 -3.5932044977085980e+00 -3.6556262870729199e+00 -3.7173999892229403e+00 -3.7785509106421671e+00
|
||||
-3.8391029237823773e+00 -3.8990785849196925e+00 -3.9584992397079333e+00 -4.0173851179270912e+00 -4.0744518500210916e+00
|
||||
-4.1306733564032641e+00 -4.1864034067843932e+00 -4.2416582335814326e+00 -4.2964533268445280e+00 -4.3508034838872618e+00
|
||||
-4.4047228547107977e+00 -4.4582249835318351e+00 -4.5113228468570128e+00 -4.5640288884490872e+00 -4.6163550514904443e+00
|
||||
-4.6683128082199232e+00 -4.7199131872767452e+00 -4.7711667990036801e+00 -4.8220838587683374e+00 -4.8726742087289665e+00
|
||||
-4.9229473379113813e+00 -4.9729124009208192e+00 -5.0225782353423369e+00 -5.0719533779533492e+00 -5.1210460798461668e+00
|
||||
-5.1698643205481289e+00 -5.2184158212228908e+00 -5.2667080570261362e+00 -5.3147482686812282e+00 -5.3625434733324937e+00
|
||||
-5.4101004747367369e+00 -5.4574258728391953e+00 -5.5045260727784751e+00 -5.5514072933650311e+00 -5.5980755750691458e+00
|
||||
-5.6445367875538750e+00 -5.6907966367860183e+00 -5.7368606717507191e+00 -5.7827342908000219e+00 -5.8284227476608805e+00
|
||||
-5.8739311571204382e+00 -5.9192645004390272e+00 -5.9644276303605182e+00 -6.0094252761103064e+00 -6.0542620478988169e+00
|
||||
-6.0989424413057520e+00 -6.1434708414539330e+00 -6.1878515269578429e+00 -6.2320886736884802e+00 -6.2761863583589275e+00
|
||||
-6.3201485619430571e+00 -6.3639791729330000e+00 -6.4076819904493902e+00 -6.4512607272098990e+00 -6.4947190123648113e+00
|
||||
-6.5380603942065250e+00 -6.5812883427622069e+00 -6.6243939095620874e+00 -6.6670830925929181e+00 -6.7096660473058591e+00
|
||||
-6.7521459135001862e+00 -6.7945257643836499e+00 -6.8368086085521611e+00 -6.8789973918942735e+00 -6.9210949994162263e+00
|
||||
-6.9631042569970703e+00 -7.0050279330721992e+00 -7.0468687402560874e+00 -7.0886293368973554e+00 -7.1303123285804020e+00
|
||||
-7.1719202695651916e+00 -7.2134556641788095e+00 -7.2549209681507421e+00 -7.2963185899023415e+00 -7.3376508917899628e+00
|
||||
-7.3789201913012903e+00 -7.4201287622117036e+00 -7.4612788356982946e+00 -7.5023726014152032e+00 -7.5434122085331978e+00
|
||||
-7.5843997667427345e+00 -7.6253373472216595e+00 -7.6662269835740062e+00 -7.7070706727342895e+00 -7.7478703758424388e+00
|
||||
-7.7886280190928119e+00 -7.8293454945503811e+00 -7.8700246609474789e+00 -7.9106673444489104e+00 -7.9512753393968865e+00
|
||||
-7.9918504090315139e+00 -8.0323942861870705e+00 -8.0729086739704030e+00 -8.1133952464140293e+00 -8.1538556491162808e+00
|
||||
-8.1942914998523975e+00 -8.2347043891773524e+00 -8.2750958810033808e+00 -8.3154675131659701e+00 -8.3558207979692725e+00
|
||||
-8.3961572227176475e+00 -8.4364782502312892e+00 -8.4767853193496308e+00 -8.5170798454139458e+00 -8.5573632207473906e+00
|
||||
-8.5976368151087286e+00 -8.6379019761436666e+00 -8.6781600298199919e+00 -8.7184122808490656e+00 -8.7586600130993020e+00
|
||||
-8.7989044899963460e+00 -8.8391469549140993e+00 -8.8793886315543773e+00 -8.9196307243150841e+00 -8.9598744186541239e+00
|
||||
-9.0001208814363167e+00 -9.0403712612778122e+00 -9.0806266888772029e+00 -9.1208882773446476e+00 -9.1611571225108719e+00
|
||||
-9.2014343032440138e+00 -9.2417208817437881e+00 -9.2820179038447463e+00 -9.3223263992829857e+00 -9.3626473819958278e+00
|
||||
-9.4029818503831279e+00 -9.4433307875392529e+00 -9.4836951616705960e+00 -9.5237840547885071e+00 -9.5637918926951784e+00
|
||||
-9.6038142178817338e+00 -9.6438519061474608e+00 -9.6839058194810832e+00 -9.7239768064614509e+00 -9.7640657024289226e+00
|
||||
-9.8041733297054634e+00 -9.8443004978059889e+00 -9.8844480036373170e+00 -9.9246166317080906e+00 -9.9648071543198853e+00
|
||||
-1.0005020331762637e+01 -1.0045256912501884e+01 -1.0085517633366123e+01 -1.0125803219723423e+01 -1.0166114385662183e+01
|
||||
-1.0206451834160134e+01 -1.0246816257258331e+01 -1.0287208336224353e+01 -1.0327628741713852e+01 -1.0368078133934148e+01
|
||||
-1.0408557162795717e+01 -1.0449066468066974e+01 -1.0489606679525650e+01 -1.0530178417100558e+01 -1.0570782291022510e+01
|
||||
-1.0611418901960292e+01 -1.0652088841158786e+01 -1.0692792690577562e+01 -1.0733531023022920e+01 -1.0774304402276016e+01
|
||||
-1.0815113383222808e+01 -1.0855958511980305e+01 -1.0896840326017184e+01 -1.0937759354276295e+01 -1.0978716117290730e+01
|
||||
-1.1019711127305925e+01 -1.1060744888386239e+01 -1.1101817896531486e+01 -1.1142930639787664e+01 -1.1184083598352004e+01
|
||||
-1.1225277244679319e+01 -1.1266512043589387e+01 -1.1307788452364719e+01 -1.1349106920870327e+01 -1.1390467891550486e+01
|
||||
-1.1431871799781504e+01 -1.1473319073642074e+01 -1.1514810134213008e+01 -1.1556345395619132e+01 -1.1597925265115521e+01
|
||||
-1.1639550143177303e+01 -1.1681220423591583e+01 -1.1722936493536452e+01 -1.1764698733669888e+01 -1.1806507518187232e+01
|
||||
-1.1848363215029394e+01 -1.1890266185706139e+01 -1.1932216785634637e+01 -1.1974215364086319e+01 -1.2016262264291129e+01
|
||||
-1.2058357823507606e+01 -1.2100502373105996e+01 -1.2142696238631970e+01 -1.2184939739884385e+01 -1.2227233190982815e+01
|
||||
-1.2269576900438324e+01 -1.2311971171220080e+01 -1.2354416300827552e+01 -1.2396912581348374e+01 -1.2439460299532641e+01
|
||||
-1.2482059736851909e+01 -1.2524711169562636e+01 -1.2567414868772744e+01 -1.2610171100495961e+01 -1.2652980125719694e+01
|
||||
-1.2695842200459083e+01 -1.2738757575819193e+01 -1.2781726498053729e+01 -1.2824749208615117e+01 -1.2867825944219817e+01
|
||||
-1.2910956936899197e+01 -1.2954142414054047e+01 -1.2997382598508125e+01 -1.3040677708563408e+01 -1.3084027958052218e+01
|
||||
-1.3127433556386677e+01 -1.3170894708610035e+01 -1.3214411615448739e+01 -1.3257984473359954e+01 -1.3301613474583519e+01
|
||||
-1.3345298807190659e+01 -1.3389040655121903e+01 -1.3432839198243016e+01 -1.3476694612386723e+01 -1.3520607069407617e+01
|
||||
-1.3564576737214225e+01 -1.3608603779754390e+01 -1.3652688357330362e+01 -1.3696830626228689e+01 -1.3741030739041094e+01
|
||||
-1.3785288844633044e+01 -1.3829605088192579e+01 -1.3873979611263849e+01 -1.3918412551792358e+01 -1.3962904044165157e+01
|
||||
-1.4007454219246995e+01 -1.4052063204422609e+01 -1.4096731123636516e+01 -1.4141458097424390e+01 -1.4186244242962175e+01
|
||||
-1.4231089674089560e+01 -1.4275994501358696e+01 -1.4320958832063411e+01 -1.4365982770278379e+01 -1.4411066416893846e+01
|
||||
-1.4456209869649911e+01 -1.4501413223171539e+01 -1.4546676569005058e+01 -1.4591999995647598e+01 -1.4637383588581656e+01
|
||||
-1.4682827430315228e+01 -1.4728331600403862e+01 -1.4773896175488971e+01 -1.4819521229330235e+01 -1.4865206832833337e+01
|
||||
-1.4910953054084985e+01 -1.4956759958383259e+01 -1.5002627608264334e+01 -1.5048556063539081e+01 -1.5094545381317744e+01
|
||||
-1.5140595616041765e+01 -1.5186706819511983e+01 -1.5232879040916600e+01 -1.5279112326867676e+01 -1.5325406721414765e+01
|
||||
-1.5371762266086876e+01 -1.5418178999911675e+01 -1.5464656959446415e+01 -1.5511196178805903e+01 -1.5557796689685119e+01
|
||||
-1.5604458521389688e+01 -1.5651181700861002e+01 -1.5697966252703509e+01 -1.5744812199205967e+01 -1.5791719560374304e+01
|
||||
-1.5838688353945599e+01 -1.5885718595428898e+01 -1.5932810298111235e+01 -1.5979963473102316e+01 -1.6027178129340314e+01
|
||||
-1.6074454273625634e+01 -1.6121791910645470e+01 -1.6169191042992907e+01 -1.6216651671189425e+01 -1.6264173793714576e+01
|
||||
-1.6311757407021901e+01 -1.6359402505566209e+01 -1.6407109081822910e+01 -1.6454877126310635e+01 -1.6502706627614998e+01
|
||||
-1.6550597572407241e+01 -1.6598549945469813e+01 -1.6646563729715353e+01 -1.6694638906205682e+01 -1.6742775454176012e+01
|
||||
-1.6790973351056778e+01 -1.6839232572488413e+01 -1.6887553092348412e+01 -1.6935934882766333e+01 -1.6984377914146876e+01
|
||||
-1.7032882155186826e+01 -1.7081447572897673e+01 -1.7130074132623690e+01 -1.7178761798061373e+01 -1.7227510531275698e+01
|
||||
-1.7276320292724563e+01 -1.7325191041271864e+01 -1.7374122734215121e+01 -1.7423115327299456e+01 -1.7472168774711918e+01
|
||||
-1.7521283029136725e+01 -1.7570458041655343e+01 -1.7619693762170868e+01 -1.7668990138814479e+01 -1.7718347118374936e+01
|
||||
-1.7767764646209685e+01 -1.7817242666259403e+01 -1.7866781121071881e+01 -1.7916379951810882e+01 -1.7966039098283659e+01
|
||||
-1.8015758498943796e+01 -1.8065538090918608e+01 -1.8115377810021755e+01 -1.8165277590764617e+01 -1.8215237366381530e+01
|
||||
-1.8265257068836149e+01 -1.8315336628844307e+01 -1.8365475975885602e+01 -1.8415675038220570e+01 -1.8465933742903644e+01
|
||||
-1.8516252015799409e+01 -1.8566629781600568e+01 -1.8617066963838965e+01 -1.8667563484898778e+01 -1.8718119266039025e+01
|
||||
-1.8768734227397317e+01 -1.8819408288014415e+01 -1.8870141365839345e+01 -1.8920933377750998e+01 -1.8971784239569388e+01
|
||||
-1.9022693866067016e+01 -1.9073662170983084e+01 -1.9124689067045438e+01 -1.9175774465969539e+01 -1.9226918278483254e+01
|
||||
-1.9278120414338218e+01 -1.9329380782317116e+01 -1.9380699290257098e+01 -1.9432075845048644e+01 -1.9483510352663075e+01
|
||||
-1.9535002718153464e+01 -1.9586552845676124e+01 -1.9638160638497766e+01 -1.9689825999008235e+01 -1.9741548828738019e+01
|
||||
-1.9793329028359494e+01 -1.9845166497711489e+01 -1.9897061135804051e+01 -1.9949012840833348e+01 -2.0001021510188707e+01
|
||||
-2.0053087040468540e+01 -2.0105209327494322e+01 -2.0157388266314911e+01 -2.0209623751249865e+01 -2.0261915675825890e+01
|
||||
-2.0314263932714312e+01 -2.0366668414255741e+01 -2.0419129011700647e+01 -2.0471645615726288e+01 -2.0524218116314501e+01
|
||||
-2.0576846402769888e+01 -2.0629530363722893e+01 -2.0682269887147754e+01 -2.0735064860369221e+01 -2.0787915170073120e+01
|
||||
-2.0840820702317274e+01 -2.0893781342541502e+01 -2.0946796975575580e+01 -2.0999867485656864e+01 -2.1052992756428125e+01
|
||||
-2.1106172670961428e+01 -2.1159407111702421e+01 -2.1212695960751944e+01 -2.1266039099329419e+01 -2.1319436408360275e+01
|
||||
-2.1372887768154328e+01 -2.1426393058473991e+01 -2.1479952158748461e+01 -2.1533564947619766e+01 -2.1587231303431395e+01
|
||||
-2.1640951103995235e+01 -2.1694724226644553e+01 -2.1748550548245930e+01 -2.1802429945213817e+01 -2.1856362293508028e+01
|
||||
-2.1910347468648524e+01 -2.1964385345728829e+01 -2.2018475799410339e+01 -2.2072618703948137e+01 -2.2126813933181779e+01
|
||||
-2.2181061360561898e+01 -2.2235360859143157e+01 -2.2289712301596296e+01 -2.2344115560361388e+01 -2.2398570507087584e+01
|
||||
-2.2453077013515781e+01 -2.2507634950890292e+01 -2.2562244190064348e+01 -2.2616904601590250e+01 -2.2671616055687764e+01
|
||||
-2.2726378422261405e+01 -2.2781191570901910e+01 -2.2836055370890790e+01 -2.2890969691219198e+01 -2.2945934400583837e+01
|
||||
-2.3000949367399926e+01 -2.3056014459808921e+01 -2.3111129545678523e+01 -2.3166294492618363e+01 -2.3221509167983868e+01
|
||||
-2.3276773438880355e+01 -2.3332087172173260e+01 -2.3387450234495873e+01 -2.3442862492249787e+01 -2.3498323811618320e+01
|
||||
-2.3553834058571510e+01 -2.3609393098863848e+01 -2.3665000798062465e+01 -2.3720657021526677e+01 -2.3776361634436626e+01
|
||||
-2.3832114501780552e+01 -2.3887915488378439e+01 -2.3943764458878377e+01 -2.3999661277761106e+01 -2.4055605809352301e+01
|
||||
-2.4111597917826657e+01 -2.4167637467209488e+01 -2.4223724321393092e+01 -2.4279858344124932e+01 -2.4336039399030597e+01
|
||||
-2.4392267349614485e+01 -2.4448542059257761e+01 -2.4504863391234494e+01 -2.4561231208711206e+01 -2.4617645374753693e+01
|
||||
-2.4674105752332935e+01 -2.4730612204329191e+01 -2.4787164593538137e+01 -2.4843762782677913e+01 -2.4900406634392539e+01
|
||||
-2.4957096011252133e+01 -2.5013830775771112e+01 -2.5070610790396586e+01 -2.5127435917366029e+01 -2.5184306019355063e+01
|
||||
-2.5241220958503845e+01 -2.5298180597080318e+01 -2.5355184797285347e+01 -2.5412233421340488e+01 -2.5469326331427965e+01
|
||||
1.0000000000000000e+01 1.0801534951171448e+01 1.0617375158244670e+01 1.0436688151228793e+01 1.0259403283230313e+01
|
||||
1.0085451405601304e+01 9.9147648356938589e+00 9.7472773253084029e+00 9.5829240298195373e+00 9.4216414779654656e+00
|
||||
9.2633675422888473e+00 9.1080414102110012e+00 8.9556035557302494e+00 8.8059957117284853e+00 8.6591608428743143e+00
|
||||
8.5150431191084976e+00 8.3735878897014118e+00 8.2347416578681987e+00 8.0984520559319435e+00 7.9646678210201571e+00
|
||||
7.8333387712866624e+00 7.7044157826449009e+00 7.5778507660022569e+00 7.4535966449878401e+00 7.3316073341564731e+00
|
||||
7.2118377176659578e+00 7.0942436284134374e+00 6.9787818276207929e+00 6.8654099848621115e+00 6.7540866585212882e+00
|
||||
6.6447712766712357e+00 6.5374241183666584e+00 6.4320062953403578e+00 6.3284797340946000e+00 6.2268071583795574e+00
|
||||
6.1269520720505000e+00 6.0288787422946655e+00 5.9325521832211621e+00 5.8379381398054591e+00 5.7450030721804524e+00
|
||||
5.6537141402680220e+00 5.5640391887418730e+00 5.4759467323160322e+00 5.3894059413519244e+00 5.3043866277758980e+00
|
||||
5.2208592313018016e+00 5.1387948059520454e+00 5.0581650068698707e+00 4.9789420774166615e+00 4.9010988365496075e+00
|
||||
4.8246086664712777e+00 4.7494455005478358e+00 4.6755838114879396e+00 4.6029985997776066e+00 4.5316653823665547e+00
|
||||
4.4615601815980312e+00 4.3926595143797726e+00 4.3249403815888456e+00 4.2583802577058805e+00 4.1929570806747449e+00
|
||||
4.1286492419807814e+00 4.0654355769448500e+00 4.0032953552278059e+00 3.9422082715398403e+00 3.8821544365521561e+00
|
||||
3.8231143680053350e+00 3.7650689820101348e+00 3.7079995845373759e+00 3.6518878630917868e+00 3.5967158785670392e+00
|
||||
3.5424660572764992e+00 3.4891211831576925e+00 3.4366643901451397e+00 3.3850791547089756e+00 3.3343492885547761e+00
|
||||
3.2844589314827459e+00 3.2353925444006251e+00 3.1871349024889781e+00 3.1396710885139782e+00 3.0929864862859660e+00
|
||||
3.0470667742591075e+00 3.0018979192706325e+00 2.9574661704151453e+00 2.9137580530522627e+00 2.8707603629438552e+00
|
||||
2.8284601605189152e+00 2.7868447652620318e+00 2.7459017502243626e+00 2.7056189366531243e+00 2.6659843887374848e+00
|
||||
2.6269864084689516e+00 2.5886135306124487e+00 2.5508545177868598e+00 2.5136983556521244e+00 2.4771342482006986e+00
|
||||
2.4411516131510069e+00 2.4057400774406830e+00 2.3708894728175807e+00 2.3365898315265383e+00 2.3028313820887689e+00
|
||||
2.2696045451740474e+00 2.2368999295609058e+00 2.2047083281853901e+00 2.1730207142748128e+00 2.1418282375653348e+00
|
||||
2.1111222206016862e+00 2.0808941551166384e+00 2.0511356984892615e+00 2.0218386702793651e+00 1.9929950488372441e+00
|
||||
1.9645969679867363e+00 1.9366367137799969e+00 1.9091067213223525e+00 1.8819995716660998e+00 1.8553079887710169e+00
|
||||
1.8290248365311754e+00 1.8031431158652609e+00 1.7776559618705363e+00 1.7525566410377422e+00 1.7278385485262007e+00
|
||||
1.7034952054980579e+00 1.6795202565098251e+00 1.6559074669601728e+00 1.6326507205929630e+00 1.6097440170540054e+00
|
||||
1.5871814695006066e+00 1.5649573022624637e+00 1.5430658485530984e+00 1.5215015482308161e+00 1.5002589456071576e+00
|
||||
1.4793326873036463e+00 1.4587175201534635e+00 1.4384082891492156e+00 1.4183999354343300e+00 1.3986874943378140e+00
|
||||
1.3792660934511431e+00 1.3601309507466510e+00 1.3412773727360872e+00 1.3227007526689576e+00 1.3043965687692420e+00
|
||||
1.2863603825102174e+00 1.2685878369261090e+00 1.2510746549598935e+00 1.2338166378466084e+00 1.2168096635312082e+00
|
||||
1.2000496851203266e+00 1.1835327293670588e+00 1.1672548951882362e+00 1.1512123522134416e+00 1.1354013393647548e+00
|
||||
1.1198181634671940e+00 1.1044591978884952e+00 1.0893208812080033e+00 1.0743997159140335e+00 1.0596922671287743e+00
|
||||
1.0451951613605601e+00 1.0309050852825337e+00 1.0168187845373140e+00 1.0029330625671378e+00 9.8924477946872713e-01
|
||||
9.7575085087259694e-01 9.6244824684604424e-01 9.4933399081931213e-01 9.3640515853477169e-01 9.2365887701803118e-01
|
||||
9.1109232357100112e-01 8.9870272478628266e-01 8.8648735558209424e-01 8.7444353825798160e-01 8.6256864157006774e-01
|
||||
8.5086007982605949e-01 8.3931531199913678e-01 8.2793184086057892e-01 8.1670721213066955e-01 8.0563901364725510e-01
|
||||
7.9472487455206675e-01 7.8396246449372953e-01 7.7334949284779597e-01 7.6288370795296245e-01 7.5256289636327622e-01
|
||||
7.4238488211596021e-01 7.3234752601463171e-01 7.2244872492728618e-01 7.1268641109915265e-01 7.0305855147956464e-01
|
||||
6.9356314706317335e-01 6.8419823224459719e-01 6.7496187418651843e-01 6.6585217220099224e-01 6.5686725714346750e-01
|
||||
6.4800529081937697e-01 6.3926446540306614e-01 6.3064300286859520e-01 6.2213915443241774e-01 6.1375120000748140e-01
|
||||
6.0547744766850542e-01 5.9731623312840654e-01 5.8926591922531912e-01 5.8132489542033028e-01 5.7349157730523359e-01
|
||||
5.6576440612064971e-01 5.5814184828379609e-01 5.5062239492602316e-01 5.4320456143964790e-01 5.3588688703414888e-01
|
||||
5.2866793430138515e-01 5.2154628878946241e-01 5.1452055858552015e-01 5.0758937390678227e-01 5.0075138669987496e-01
|
||||
4.9400527024841523e-01 4.8734971878830358e-01 4.8078344713093557e-01 4.7430519029390972e-01 4.6791370313911962e-01
|
||||
4.6160776001828552e-01 4.5538615442535857e-01 4.4924769865602876e-01 4.4319122347399365e-01 4.3721557778390086e-01
|
||||
4.3131962831075654e-01 4.2550225928575891e-01 4.1976237213834899e-01 4.1409888519439697e-01 4.0851073338028954e-01
|
||||
4.0299686793291478e-01 3.9755625611540779e-01 3.9218788093843493e-01 3.8689074088692443e-01 3.8166384965228239e-01
|
||||
3.7650623586976018e-01 3.7141694286095728e-01 3.6639502838144544e-01 3.6143956437320846e-01 3.5654963672189943e-01
|
||||
3.5172434501901328e-01 3.4696280232829579e-01 3.4226413495707497e-01 3.3762748223177219e-01 3.3305199627774762e-01
|
||||
3.2853684180349596e-01 3.2408119588894380e-01 3.1968424777773841e-01 3.1534519867361155e-01 3.1106326154055530e-01
|
||||
3.0683766090688813e-01 3.0266763267296426e-01 2.9855242392259740e-01 2.9449129273803010e-01 2.9048350801842027e-01
|
||||
2.8652834930171167e-01 2.8262510658997009e-01 2.7877308017785829e-01 2.7497158048439907e-01 2.7121992788793392e-01
|
||||
2.6751745256412462e-01 2.6386349432690004e-01 2.6025740247248841e-01 2.5669853562631850e-01 2.5318626159266877e-01
|
||||
2.4971995720718354e-01 2.4629900819206618e-01 2.4292280901402563e-01 2.3959076274464408e-01 2.3630228092351846e-01
|
||||
2.3305678342376535e-01 2.2985369832002167e-01 2.2669246175884616e-01 2.2357251783148069e-01 2.2049331844890929e-01
|
||||
2.1745432321916880e-01 2.1445499932688783e-01 2.1149482141498144e-01 2.0857327146848004e-01 2.0568983870040114e-01
|
||||
2.0284401943976604e-01 2.0003531702142130e-01 1.9726324167804599e-01 1.9452731043391402e-01 1.9182704700056608e-01
|
||||
1.8916198167437770e-01 1.8653165123588344e-01 1.8393559885088084e-01 1.8137337397327791e-01 1.7884453224959973e-01
|
||||
1.7634863542523593e-01 1.7388525125224241e-01 1.7145395339876757e-01 1.6905432136008169e-01 1.6668594037109052e-01
|
||||
1.6434840132036665e-01 1.6204130066570688e-01 1.5976424035106618e-01 1.5751682772493769e-01 1.5529867546015819e-01
|
||||
1.5310940147503249e-01 1.5094862885580707e-01 1.4881598578045718e-01 1.4671110544379484e-01 1.4463362598375351e-01
|
||||
1.4258319040899092e-01 1.4055944652768915e-01 1.3856204687748974e-01 1.3659064865666881e-01 1.3464491365640630e-01
|
||||
1.3272450819420012e-01 1.3082910304837103e-01 1.2895837339364213e-01 1.2711199873781265e-01 1.2528966285941134e-01
|
||||
1.2349105374641756e-01 1.2171586353596986e-01 1.1996378845505173e-01 1.1823452876211782e-01 1.1652778868972380e-01
|
||||
1.1484327638801961e-01 1.1318070386919254e-01 1.1153978695277944e-01 1.0992024521187505e-01 1.0832180192018548e-01
|
||||
1.0674418399992769e-01 1.0518712197055757e-01 1.0365034989832456e-01 1.0213360534659532e-01 1.0063662932698936e-01
|
||||
9.9159166251264974e-02 9.7700963883974534e-02 9.6261773295835962e-02 9.4841348817873428e-02 9.3439447996227276e-02
|
||||
9.2055831547688260e-02 9.0690263315935660e-02 8.9342510228411331e-02 8.8012342253891429e-02 8.6699532360706044e-02
|
||||
8.5403856475584128e-02 8.4125093443141896e-02 8.2863024985984080e-02 8.1617435665412685e-02 8.0388112842733062e-02
|
||||
7.9174846641143493e-02 7.7977429908209661e-02 7.6795658178889781e-02 7.5629329639115728e-02 7.4478245089953710e-02
|
||||
7.3342207912248103e-02 7.2221024031827064e-02 7.1114501885225945e-02 7.0022452385910761e-02 6.8944688890991479e-02
|
||||
6.7881027168450458e-02 6.6831285364849169e-02 6.5795283973477225e-02 6.4772845803028556e-02 6.3763795946680801e-02
|
||||
6.2767961751651669e-02 6.1785172789201148e-02 6.0815260825057393e-02 5.9858059790287577e-02 5.8913405752569759e-02
|
||||
5.7981136887894191e-02 5.7061093452682510e-02 5.6153117756271964e-02 5.5257054133826422e-02 5.4372748919636837e-02
|
||||
5.3500050420772105e-02 5.2638808891131372e-02 5.1788876505864945e-02 5.0950107336147354e-02 5.0122357324306366e-02
|
||||
4.9305484259319243e-02 4.8499347752635869e-02 4.7703809214351578e-02 4.6918731829721727e-02 4.6143980535982010e-02
|
||||
4.5379421999521163e-02 4.4624924593352100e-02 4.3880358374905226e-02 4.3145595064128850e-02 4.2420508021892900e-02
|
||||
4.1704972228691739e-02 4.0998864263647405e-02 4.0302062283785300e-02 3.9614446003616965e-02 3.8935896674993531e-02
|
||||
3.8266297067221844e-02 3.7605531447481688e-02 3.6953485561492139e-02 3.6310046614435487e-02 3.5675103252157392e-02
|
||||
3.5048545542616605e-02 3.4430264957581835e-02 3.3820154354582632e-02 3.3218107959093635e-02 3.2624021346983278e-02
|
||||
3.2037791427166340e-02 3.1459316424514716e-02 3.0888495862994469e-02 3.0325230549015147e-02 2.9769422555015357e-02
|
||||
2.9220975203265720e-02 2.8679793049885216e-02 2.8145781869070463e-02 2.7618848637539717e-02 2.7098901519172047e-02
|
||||
2.6585849849867671e-02 2.6079604122596356e-02 2.5580075972643668e-02 2.5087178163056167e-02 2.4600824570288671e-02
|
||||
2.4120930170012267e-02 2.3647411023137499e-02 2.3180184262011627e-02 2.2719168076792418e-02 2.2264281702001121e-02
|
||||
2.1815445403263078e-02 2.1372580464206647e-02 2.0935609173537761e-02 2.0504454812290795e-02 2.0079041641240414e-02
|
||||
1.9659294888467183e-02 1.9245140737102040e-02 1.8836506313223755e-02 1.8433319673904158e-02 1.8035509795416238e-02
|
||||
1.7643006561603891e-02 1.7255740752380899e-02 1.6873644032391555e-02 1.6496648939823388e-02 1.6124688875347792e-02
|
||||
1.5757698091213634e-02 1.5395611680482646e-02 1.5038365566394485e-02 1.4685896491875350e-02 1.4338142009180710e-02
|
||||
1.3995040469664266e-02 1.3656531013687800e-02 1.3322553560652262e-02 1.2993048799157525e-02 1.2667958177290606e-02
|
||||
1.2347223893038994e-02 1.2030788884814458e-02 1.1718596822117511e-02 1.1410592096299910e-02 1.1106719811460941e-02
|
||||
1.0806925775450060e-02 1.0511156490982998e-02 1.0219359146882878e-02 9.9314816094114855e-03 9.6474724137328716e-03
|
||||
9.3672807554677773e-03 9.0908564823645177e-03 8.8181500860711193e-03 8.5491126940134832e-03 8.2836960613733579e-03
|
||||
8.0218525631707838e-03 7.7635351864465685e-03 7.5086975225370223e-03 7.2572937594544973e-03 7.0092786743605195e-03
|
||||
6.7646076261301813e-03 6.5232365480138998e-03 6.2851219403949887e-03 6.0502208636273869e-03 5.8184909309735300e-03
|
||||
5.5898903016277091e-03 5.3643776738254711e-03 5.1419122780385074e-03 4.9224538702609122e-03 4.7059627253757674e-03
|
||||
4.4923996305976099e-03 4.2817258790122659e-03 4.0739032631877392e-03 3.8688940688609841e-03 3.6666610687164924e-03
|
||||
3.4671675162341598e-03 3.2703771396105918e-03 3.0762541357672313e-03 2.8847631644254856e-03 2.6958693422570179e-03
|
||||
2.5095382371091990e-03 2.3257358623008373e-03 2.1444286709895732e-03 1.9655835506104946e-03 1.7891678173820869e-03
|
||||
1.6151492108847365e-03 1.4434958887007410e-03 1.2741764211267048e-03 1.1071597859496629e-03 9.4241536328815156e-04
|
||||
7.7991293049733956e-04 6.1962265713921827e-04 4.6151510001329887e-04 3.0556119825198014e-04 1.5173226847375876e-04
|
||||
0. 0. 0. 0. 0.
|
||||
0. 5.4383329664155645e-05 9.3944898415945083e-04 4.3251847212615047e-03 1.2334244035325348e-02
|
||||
2.7137722173468548e-02 5.0697119791449641e-02 8.4607638668976470e-02 1.3001641279549414e-01 1.8759487452762702e-01
|
||||
2.5754900895683441e-01 3.3965493779430744e-01 4.3331024634064264e-01 5.3759384878832961e-01 6.5132908316254046e-01
|
||||
7.7314622535699939e-01 9.0154178511424377e-01 1.0349328562818201e+00 1.1717054897399350e+00 1.3102565818166738e+00
|
||||
1.4490291582473986e+00 1.5865412121263560e+00 1.7214084470448441e+00 1.8523614026473965e+00 1.9782575145276269e+00
|
||||
2.0980886961566938e+00 2.2109850373516764e+00 2.3162151996095730e+00 2.4131840597491703e+00 2.5014281146549706e+00
|
||||
2.5806091153285706e+00 2.6505063508648590e+00 2.7110079545661563e+00 2.7621015568249447e+00 2.8038645637913220e+00
|
||||
2.8364542979766156e+00 2.8600981973448825e+00 2.8750842333755031e+00 2.8817516761559574e+00 2.8804823057701157e+00
|
||||
2.8716921439699092e+00 2.8558237581894161e+00 2.8333391711552594e+00 2.8047133934346959e+00 2.7704285829676252e+00
|
||||
2.7309688247181469e+00 2.6868155147671331e+00 2.6384433262347358e+00 2.5863167291097398e+00 2.5308870321738226e+00
|
||||
2.4725899125317596e+00 2.4118433966060167e+00 2.3490462556752334e+00 2.2845767789603002e+00 2.2187918877813502e+00
|
||||
2.1520265552815943e+00 2.0845934975626363e+00 2.0167831036919637e+00 1.9488635738636404e+00 1.8810812369508270e+00
|
||||
1.8136610207193371e+00 1.7468070500507196e+00 1.6807033505858371e+00 1.6155146372447149e+00 1.5513871690559142e+00
|
||||
1.4884496536383409e+00 1.4268141864958608e+00 1.3665772120042590e+00 1.3078204945836447e+00 1.2506120900523854e+00
|
||||
1.1950073085502879e+00 1.1410496616995687e+00 1.0887717878420631e+00 1.0381963502565981e+00 9.8933690422003551e-01
|
||||
9.4219872964247031e-01 8.9677962677415124e-01 8.5307067316958651e-01 8.1105694069385592e-01 7.7071817188505065e-01
|
||||
7.3202941544290212e-01 6.9496162100761794e-01 6.5948219372701189e-01 6.2555550939233484e-01 5.9314339115629977e-01
|
||||
5.6220554903693554e-01 5.3269998356387660e-01 5.0458335504023211e-01 4.7781131998032222e-01 4.5233883634534777e-01
|
||||
4.2812043923464138e-01 4.0511048870905242e-01 3.8326339142174781e-01 3.6253379771729577e-01 3.4287677583286325e-01
|
||||
3.2424796479760154e-01 3.0660370758054967e-01 2.8990116598452254e-01 2.7409841872609064e-01 2.5915454407883409e-01
|
||||
2.4502968839369110e-01 2.3168512174254197e-01 2.1908328186436687e-01 2.0718780752542632e-01 1.9596356233750800e-01
|
||||
1.8537665001230508e-01 1.7539442196444632e-01 1.6598547811304609e-01 1.5711966166996927e-01 1.4876804864444715e-01
|
||||
1.4090293273673637e-01 1.3349780623990259e-01 1.2652733751724909e-01 1.1996734557434463e-01 1.1379477219856060e-01
|
||||
1.0798765209582406e-01 1.0252508141368288e-01 9.7387185001678311e-02 9.2555082724584015e-02 8.8010855111109620e-02
|
||||
8.3737508589961873e-02 7.9718940536826377e-02 7.5939904329596963e-02 7.2385974585237101e-02 6.9043512729294765e-02
|
||||
6.5899633029043336e-02 6.2942169202580001e-02 6.0159641699440547e-02 5.7541225732930634e-02 5.5076720130546430e-02
|
||||
5.2756517056398833e-02 5.0571572648238083e-02 4.8513378601664936e-02 4.6573934725081756e-02 4.4745722480991068e-02
|
||||
4.3021679522073253e-02 4.1395175224364866e-02 3.9859987214311721e-02 3.8410278881708670e-02 3.7040577866510604e-02
|
||||
3.5745755503880039e-02 3.4521007208912380e-02 3.3361833779917971e-02 3.2264023597108116e-02 3.1223635691821294e-02
|
||||
3.0236983660070216e-02 2.9300620393215571e-02 2.8411323597772320e-02 2.7566082075896281e-02 2.6762082737777249e-02
|
||||
2.5996698317105604e-02 2.5267475760840985e-02 2.4572125264713973e-02 2.3908509926274246e-02 2.3274635987705516e-02
|
||||
2.2668643641204911e-02 2.2088798370316409e-02 2.1533482801290083e-02 2.1001189039288493e-02 2.0490511464994254e-02
|
||||
2.0000139967999431e-02 1.9528853594166895e-02 1.9075514584991349e-02 1.8639062787818239e-02 1.8218510416650235e-02
|
||||
1.7812937144080498e-02 1.7421485505751177e-02 1.7043356599549031e-02 1.6677806062561751e-02 1.6324140309613155e-02
|
||||
1.5981713017976018e-02 1.5649921843605585e-02 1.5328205354974755e-02 1.5016040171312250e-02 1.4712938292708366e-02
|
||||
1.4418444610242331e-02 1.4132134584901757e-02 1.3853612084676337e-02 1.3582507369821917e-02 1.3318475216818060e-02
|
||||
1.3061193172097418e-02 1.2810359927147186e-02 1.2565693807050415e-02 1.2326931365025051e-02 1.2093826075940506e-02
|
||||
1.1866147122233661e-02 1.1643678266026136e-02 1.1426216801644407e-02 1.1213572583084475e-02 1.1005567121320226e-02
|
||||
1.0802032746662471e-02 1.0602811831688208e-02 1.0407756070544782e-02 1.0216725810699157e-02 1.0029589433467268e-02
|
||||
9.8462227798860602e-03 9.6665086187306404e-03 9.4903361536790021e-03 9.3176005668363371e-03 9.1482025960089031e-03
|
||||
8.9820481433065535e-03 8.8190479128032462e-03 8.6591170751522117e-03 8.5021749571883021e-03 8.3481447546937537e-03
|
||||
8.1969532666261724e-03 8.0485306492223962e-03 7.9028101885199598e-03 7.7597280899136256e-03 7.6192232834934315e-03
|
||||
7.4812372439735375e-03 7.3457138241272979e-03 7.2125991007052359e-03 7.0818412319012813e-03 6.9533903254870300e-03
|
||||
6.8271983168139705e-03 6.7032188559211503e-03 6.5814072030662141e-03 6.4617201320263939e-03 6.3441158405819764e-03
|
||||
6.2285538676237207e-03 6.1149950163802147e-03 6.0034012832899109e-03 5.8937357920846312e-03 5.7859627326801166e-03
|
||||
5.6800473044990030e-03 5.5759556638887986e-03 5.4736548753111791e-03 5.3731128660109428e-03 5.2742983838981461e-03
|
||||
5.1771809583849582e-03 5.0817308639591330e-03 4.9879190862693046e-03 4.8957172905357560e-03 4.8050977921015592e-03
|
||||
4.7160335289582467e-03 4.6284980360953021e-03 4.5424654215287241e-03 4.4579103438822931e-03 4.3748079913988880e-03
|
||||
4.2931340622749670e-03 4.2128647462132407e-03 4.1339767071033873e-03 4.0564470667446839e-03 3.9802533895282599e-03
|
||||
3.9053736680121076e-03 3.8317863093158128e-03 3.7594701222811860e-03 3.6884043053326127e-03 3.6185684349951674e-03
|
||||
3.5499424550168301e-03 3.4825066660512660e-03 3.4162417158645347e-03 3.3511285900229004e-03 3.2871486030347646e-03
|
||||
3.2242833899080170e-03 3.1625148980992668e-03 3.1018253798278661e-03 3.0421973847258310e-03 2.9836137528083811e-03
|
||||
2.9260576077371064e-03 2.8695123503632708e-03 2.8139616525287708e-03 2.7593894511106498e-03 2.7057799422959966e-03
|
||||
2.6531175760685227e-03 2.6013870509009052e-03 2.5505733086344240e-03 2.5006615295404683e-03 2.4516371275501436e-03
|
||||
2.4034857456453340e-03 2.3561932514012535e-03 2.3097457326723414e-03 2.2641294934160616e-03 2.2193310496436136e-03
|
||||
2.1753371254977782e-03 2.1321346494441173e-03 2.0897107505768314e-03 2.0480527550303662e-03 2.0071481824917164e-03
|
||||
1.9669847428123305e-03 1.9275503327108034e-03 1.8888330325659355e-03 1.8508211032951805e-03 1.8135029833145980e-03
|
||||
1.7768672855772646e-03 1.7409027946878666e-03 1.7055984640891586e-03 1.6709434133182904e-03 1.6369269253308227e-03
|
||||
1.6035384438881917e-03 1.5707675710093030e-03 1.5386040644797400e-03 1.5070378354209296e-03 1.4760589459142243e-03
|
||||
1.4456576066784674e-03 1.4158241748004133e-03 1.3865491515145517e-03 1.3578231800324136e-03 1.3296370434173130e-03
|
||||
1.3019816625059188e-03 1.2748480938728074e-03 1.2482275278369870e-03 1.2221112865106742e-03 1.1964908218862064e-03
|
||||
1.1713577139624703e-03 1.1467036689077198e-03 1.1225205172586891e-03 1.0988002121543120e-03 1.0755348276031765e-03
|
||||
1.0527165567835728e-03 1.0303377103750150e-03 1.0083907149206553e-03 9.8686811121878604e-04 9.6576255274356815e-04
|
||||
9.4506680409354657e-04 9.2477373946662708e-04 9.0487634116191706e-04 8.8536769810608137e-04 8.6624100440530968e-04
|
||||
8.4748955791986991e-04 8.2910675886310736e-04 8.1108610842155551e-04 7.9342120739794852e-04 7.7610575487466887e-04
|
||||
7.5913354689786591e-04 7.4249847518158968e-04 7.2619452583109687e-04 7.1021577808524222e-04 6.9455640307671332e-04
|
||||
6.7921066261025093e-04 6.6417290795844214e-04 6.4943757867335500e-04 6.3499920141575628e-04 6.2085238879914031e-04
|
||||
6.0699183824991856e-04 5.9341233088238896e-04 5.8010873038847818e-04 5.6707598194186137e-04 5.5430911111587280e-04
|
||||
5.4180322281523891e-04 5.2955350022104025e-04 5.1755520374872563e-04 5.0580367001857793e-04 4.9429431083891986e-04
|
||||
4.8302261220136561e-04 4.7198413328763435e-04 4.6117450548847222e-04 4.5058943143359842e-04 4.4022468403297037e-04
|
||||
4.3007610552883886e-04 4.2013960655883260e-04 4.1041116522908330e-04 4.0088682619821882e-04 3.9156269977118005e-04
|
||||
3.8243496100300207e-04 3.7349984881274514e-04 3.6475366510662147e-04 3.5619277391102898e-04 3.4781360051482253e-04
|
||||
3.3961263062063513e-04 3.3158640950565685e-04 3.2373154119109092e-04 3.1604468762060252e-04 3.0852256784754707e-04
|
||||
3.0116195723081836e-04 2.9395968663908575e-04 2.8691264166377101e-04 2.8001776184017647e-04 2.7327203987681688e-04
|
||||
2.6667252089326854e-04 2.6021630166557681e-04 2.5390052988028163e-04 2.4772240339593181e-04 2.4167916951265550e-04
|
||||
2.3576812424967210e-04 2.2998661163024531e-04 2.2433202297460642e-04 2.1880179620031078e-04 2.1339341513026532e-04
|
||||
2.0810440880823181e-04 2.0293235082175821e-04 1.9787485863260665e-04 1.9292959291436311e-04 1.8809425689761319e-04
|
||||
1.8336659572205580e-04 1.7874439579616125e-04 1.7422548416372047e-04 1.6980772787763936e-04 1.6548903338088530e-04
|
||||
1.6126734589430591e-04 1.5714064881157744e-04 1.5310696310104604e-04 1.4916434671449329e-04 1.4531089400280153e-04
|
||||
1.4154473513841234e-04 1.3786403554466153e-04 1.3426699533172857e-04 1.3075184873951283e-04 1.2731686358694039e-04
|
||||
1.2396034072819674e-04 1.2068061351527565e-04 1.1747604726729168e-04 1.1434503874632306e-04 1.1128601563955686e-04
|
||||
1.0829743604811193e-04 1.0537778798212988e-04 1.0252558886227753e-04 9.9739385027582898e-05 9.7017751249615057e-05
|
||||
9.4359290252773662e-05 9.1762632240957511e-05 8.9226434430383569e-05 8.6749380588361721e-05 8.4330180578390864e-05
|
||||
8.1967569911181246e-05 7.9660309301724484e-05 7.7407184232279429e-05 7.5207004521348451e-05 7.3058603898526649e-05
|
||||
7.0960839585107720e-05 6.8912591880629977e-05 6.6912763755002085e-05 6.4960280446513426e-05 6.3054089065330086e-05
|
||||
6.1193158202771814e-05 5.9376477546041213e-05 5.7603057498502742e-05 5.5871928805544500e-05 5.4182142185708361e-05
|
||||
5.2532767967318744e-05 5.0922895730446966e-05 4.9351633954125953e-05 4.7818109668823321e-05 4.6321468114150300e-05
|
||||
4.4860872401664663e-05 4.3435503182825573e-05 4.2044558321957873e-05 4.0687252574273750e-05 3.9362817268785450e-05
|
||||
3.8070499996214428e-05 3.6809564301621984e-05 3.5579289382025496e-05 3.4378969788611451e-05 3.3207915133769052e-05
|
||||
3.2065449802711312e-05 3.0950912669766876e-05 2.9863656819185611e-05 2.8803049270468119e-05 2.7768470708167169e-05
|
||||
2.6759315216115260e-05 2.5774990015931323e-05 2.4814915209964844e-05 2.3878523528387922e-05 2.2965260080560611e-05
|
||||
2.2074582110528148e-05 2.1205958756658535e-05 2.0358870815317476e-05 1.9532810508535560e-05 1.8727281255713447e-05
|
||||
1.7941797449145505e-05 1.7175884233475961e-05 1.6429077288930018e-05 1.5700922618341645e-05 1.4990976337865471e-05
|
||||
1.4298804471386687e-05 1.3623982748522034e-05 1.2966096406226424e-05 1.2324739993882115e-05 1.1699517181902770e-05
|
||||
1.1090040573734860e-05 1.0495931521266495e-05 9.9168199435395021e-06 9.3523441487842465e-06 8.8021506596591475e-06
|
||||
8.2658940417265321e-06 7.7432367350197678e-06 7.2338488887770244e-06 6.7374081991923703e-06 6.2535997501888662e-06
|
||||
5.7821158571569505e-06 5.3226559136389283e-06 4.8749262408651290e-06 4.4386399401326240e-06 4.0135167480073166e-06
|
||||
3.5992828942305738e-06 3.1956709623667747e-06 2.8024197531120341e-06 2.4192741502208947e-06 2.0459849890155880e-06
|
||||
1.6823089274468580e-06 1.3280083196495871e-06 9.8285109196557868e-07 6.4661062138351467e-07 3.1906561636122974e-07
|
||||
0. 0. 0. 0. 0.
|
||||
|
||||
|
||||
1
bench/POTENTIALS/Cu_u3.eam
Symbolic link
@ -0,0 +1 @@
|
||||
../../potentials/Cu_u3.eam
|
||||
43007
bench/POTENTIALS/Ni.adp
1
bench/POTENTIALS/Ni.adp
Symbolic link
@ -0,0 +1 @@
|
||||
../../potentials/Ni.adp
|
||||
@ -52,10 +52,17 @@ check_for_autogen_files(${LAMMPS_SOURCE_DIR})
|
||||
include(CheckCCompilerFlag)
|
||||
include(CheckIncludeFileCXX)
|
||||
|
||||
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
|
||||
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict")
|
||||
endif()
|
||||
|
||||
option(DISABLE_CXX11_REQUIREMENT "Disable check that requires C++11 for compiling LAMMPS" OFF)
|
||||
if(DISABLE_CXX11_REQUIREMENT)
|
||||
add_definitions(-DLAMMPS_CXX98)
|
||||
else()
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
endif()
|
||||
|
||||
# GNU compiler features
|
||||
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
|
||||
option(ENABLE_COVERAGE "Enable code coverage" OFF)
|
||||
@ -133,6 +140,24 @@ foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
|
||||
option(PKG_${PKG} "Build ${PKG} Package" OFF)
|
||||
endforeach()
|
||||
|
||||
######################################################
|
||||
# download and unpack support binaries for compilation
|
||||
# of windows binaries.
|
||||
######################################################
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(LAMMPS_THIRDPARTY_URL "http://download.lammps.org/thirdparty")
|
||||
file(DOWNLOAD "${LAMMPS_THIRDPARTY_URL}/opencl-win-devel.tar.gz" "${CMAKE_CURRENT_BINARY_DIR}/opencl-win-devel.tar.gz"
|
||||
EXPECTED_MD5 2c00364888d5671195598b44c2e0d44d)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf opencl-win-devel.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86")
|
||||
set(OpenCL_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win32/libOpenCL.dll")
|
||||
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
|
||||
set(OpenCL_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win64/libOpenCL.dll")
|
||||
endif()
|
||||
set(OpenCL_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/include")
|
||||
endif()
|
||||
|
||||
######################################################
|
||||
######################################################
|
||||
# packages with special compiler needs or external libs
|
||||
######################################################
|
||||
@ -148,6 +173,7 @@ if(PKG_USER-ADIOS)
|
||||
endif()
|
||||
|
||||
# do MPI detection after language activation, if MPI for these language is required
|
||||
set(MPI_CXX_SKIP_MPICXX TRUE)
|
||||
find_package(MPI QUIET)
|
||||
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
|
||||
if(BUILD_MPI)
|
||||
@ -175,11 +201,13 @@ add_definitions(-DLAMMPS_${LAMMPS_SIZES})
|
||||
set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_${LAMMPS_SIZES}")
|
||||
|
||||
# posix_memalign is not available on Windows
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(LAMMPS_MEMALIGN "0" CACHE STRING "posix_memalign() is not available on Windows" FORCE)
|
||||
else()
|
||||
set(LAMMPS_MEMALIGN "64" CACHE STRING "enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS. Set to 0 to disable")
|
||||
if(NOT ${LAMMPS_MEMALIGN} STREQUAL "0")
|
||||
add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN})
|
||||
endif()
|
||||
endif()
|
||||
if(NOT ${LAMMPS_MEMALIGN} STREQUAL "0")
|
||||
add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN})
|
||||
endif()
|
||||
|
||||
option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" OFF)
|
||||
@ -229,6 +257,7 @@ if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
|
||||
enable_language(Fortran)
|
||||
file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/[^.]*.[fF])
|
||||
add_library(linalg STATIC ${LAPACK_SOURCES})
|
||||
set(BLAS_LIBRARIES linalg)
|
||||
set(LAPACK_LIBRARIES linalg)
|
||||
else()
|
||||
list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES})
|
||||
@ -567,6 +596,7 @@ if(BUILD_TOOLS)
|
||||
enable_language(Fortran)
|
||||
add_executable(chain.x ${LAMMPS_TOOLS_DIR}/chain.f)
|
||||
target_link_libraries(chain.x ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
|
||||
install(TARGETS chain.x DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
||||
enable_language(C)
|
||||
|
||||
@ -37,6 +37,26 @@
|
||||
# KIM-API-CMAKE_Fortran_COMPILER
|
||||
#
|
||||
|
||||
function(_KIMAPI_GET_VERSION _OUT_ver _version_hdr)
|
||||
if(NOT EXISTS ${_version_hdr})
|
||||
message(FATAL_ERROR "Header file ${_version_hdr} not found (check value of KIM-API_INCLUDE_DIR)")
|
||||
endif()
|
||||
foreach(_var KIM_VERSION_MAJOR KIM_VERSION_MINOR KIM_VERSION_PATCH)
|
||||
file(STRINGS ${_version_hdr} _contents REGEX "#define ${_var}[ \t]+")
|
||||
if(_contents)
|
||||
string(REGEX REPLACE ".*#define ${_var}[ \t]+([0-9]+).*" "\\1" _${_var} "${_contents}")
|
||||
if(${_${_var}} STREQUAL "")
|
||||
message(FATAL_ERROR "Version parsing failed for ${_var} in ${_version_hdr}, got empty return!")
|
||||
elseif(NOT ${_${_var}} MATCHES "^[0-9]+$")
|
||||
message(FATAL_ERROR "Version parsing failed for ${_var} in ${_version_hdr}, excepted a number but got ${_${_var}}!")
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "No ${_var} line found in include file ${_version_hdr}")
|
||||
endif()
|
||||
endforeach()
|
||||
set(${_OUT_ver} ${_KIM_VERSION_MAJOR}.${_KIM_VERSION_MINOR}.${_KIM_VERSION_PATCH} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
if(KIM-API_FIND_QUIETLY)
|
||||
set(REQ_OR_QUI "QUIET")
|
||||
else()
|
||||
@ -54,6 +74,12 @@ if(KIM-API_FOUND)
|
||||
pkg_get_variable(KIM-API_CMAKE_Fortran_COMPILER libkim-api CMAKE_Fortran_COMPILER)
|
||||
endif()
|
||||
|
||||
if(KIM-API_INCLUDEDIR)
|
||||
_KIMAPI_GET_VERSION(KIM-API_VERSION ${KIM-API_INCLUDEDIR}/KIM_Version.h)
|
||||
else()
|
||||
set(KIM-API_VERSION 0)
|
||||
endif()
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set KIM-API_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
find_package_handle_standard_args(KIM-API REQUIRED_VARS KIM-API_LIBRARIES)
|
||||
find_package_handle_standard_args(KIM-API REQUIRED_VARS KIM-API_LIBRARIES VERSION_VAR KIM-API_VERSION)
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
if(PKG_KIM)
|
||||
set(KIM-API_MIN_VERSION 2.1)
|
||||
find_package(CURL)
|
||||
if(CURL_FOUND)
|
||||
include_directories(${CURL_INCLUDE_DIRS})
|
||||
@ -7,10 +8,17 @@ if(PKG_KIM)
|
||||
endif()
|
||||
find_package(KIM-API QUIET)
|
||||
if(KIM-API_FOUND)
|
||||
set(DOWNLOAD_KIM_DEFAULT OFF)
|
||||
if (KIM-API_VERSION VERSION_LESS ${KIM-API_MIN_VERSION})
|
||||
if ("${DOWNLOAD_KIM}" STREQUAL "")
|
||||
message(WARNING "Unsuitable KIM-API version \"${KIM-API_VERSION}\" found, but required is at least \"${KIM-API_MIN_VERSION}\". Default behavior set to download and build our own.")
|
||||
endif()
|
||||
set(DOWNLOAD_KIM_DEFAULT ON)
|
||||
else()
|
||||
set(DOWNLOAD_KIM_DEFAULT OFF)
|
||||
endif()
|
||||
else()
|
||||
if (NOT DOWNLOAD_KIM)
|
||||
message(WARNING "KIM-API package not found. We will download and build our own")
|
||||
if ("${DOWNLOAD_KIM}" STREQUAL "")
|
||||
message(WARNING "KIM-API package not found. Default behavior set to download and build our own")
|
||||
endif()
|
||||
set(DOWNLOAD_KIM_DEFAULT ON)
|
||||
endif()
|
||||
@ -28,8 +36,8 @@ if(PKG_KIM)
|
||||
message(FATAL_ERROR "Compiling the KIM-API library requires a Fortran compiler")
|
||||
endif()
|
||||
ExternalProject_Add(kim_build
|
||||
URL https://s3.openkim.org/kim-api/kim-api-2.1.2.txz
|
||||
URL_MD5 6ac52e14ef52967fc7858220b208cba5
|
||||
URL https://s3.openkim.org/kim-api/kim-api-2.1.3.txz
|
||||
URL_MD5 6ee829a1bbba5f8b9874c88c4c4ebff8
|
||||
BINARY_DIR build
|
||||
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||
@ -42,7 +50,7 @@ if(PKG_KIM)
|
||||
set(KIM-API_LDFLAGS ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
list(APPEND LAMMPS_DEPS kim_build)
|
||||
else()
|
||||
find_package(KIM-API REQUIRED)
|
||||
find_package(KIM-API ${KIM-API_MIN_VERSION} REQUIRED)
|
||||
endif()
|
||||
list(APPEND LAMMPS_LINK_LIBS "${KIM-API_LDFLAGS}")
|
||||
include_directories(${KIM-API_INCLUDE_DIRS})
|
||||
|
||||
@ -17,12 +17,15 @@ if(PKG_KOKKOS)
|
||||
${KOKKOS_PKG_SOURCES_DIR}/atom_vec_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/comm_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/comm_tiled_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/min_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/min_linesearch_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/neighbor_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/neigh_list_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/neigh_bond_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/fix_nh_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/domain_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/modify_kokkos.cpp)
|
||||
|
||||
@ -38,6 +41,7 @@ if(PKG_KOKKOS)
|
||||
# register kokkos-only styles
|
||||
RegisterNBinStyle(${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.h)
|
||||
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.h)
|
||||
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.h)
|
||||
|
||||
if(PKG_USER-DPD)
|
||||
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
|
||||
|
||||
711
cmake/README.md
@ -33,12 +33,17 @@ tasks, act as a reference and provide examples of typical use cases.
|
||||
* [Package-Specific Configuration Options](#package-specific-configuration-options)
|
||||
* [KSPACE Package](#kspace-package)
|
||||
* [MKL](#mkl)
|
||||
* [FFTW2](#fftw2)
|
||||
* [FFTW3](#fftw3)
|
||||
* [BLAS](#blas)
|
||||
* [LAPACK](#lapack)
|
||||
* [PYTHON Package](#python-package)
|
||||
* [GPU Package](#gpu-package)
|
||||
* [MESSAGE Package](#message-package)
|
||||
* [MSCG Package](#mscg-package)
|
||||
* [VORONOI Package](#voronoi-package)
|
||||
* [USER-LATTE Package](#user-latte-package)
|
||||
* [USER-PLUMED Package](#user-plumed-package)
|
||||
* [USER-SCAFACOS Package](#user-scafacos-package)
|
||||
* [USER-SMD Package](#user-smd-package)
|
||||
* [Optional Features](#optional-features)
|
||||
* [zlib support](#zlib-support)
|
||||
@ -50,8 +55,6 @@ tasks, act as a reference and provide examples of typical use cases.
|
||||
* [Building with GNU Compilers](#building-with-gnu-compilers)
|
||||
* [Building with Intel Compilers](#building-with-intel-compilers)
|
||||
* [Building with LLVM/Clang Compilers](#building-with-llvmclang-compilers)
|
||||
* [Examples](#examples)
|
||||
|
||||
|
||||
## Quick Start for the Impatient
|
||||
If you want to skip ahead and just run the compilation using `cmake`, please
|
||||
@ -205,8 +208,10 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
|
||||
<td>Controls if debugging symbols are added to the generated binaries</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>Release</code> (default)</dt>
|
||||
<dt><code>RelWithDebInfo (default)</code></dt>
|
||||
<dt><code>Release</code></dt>
|
||||
<dt><code>Debug</code></dt>
|
||||
<dt><code>MinSizeRel</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
@ -249,6 +254,16 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_LONGLONG_TO_LONG</code></td>
|
||||
<td>Workaround if your system or MPI version does not recognize <code>long long</code> data types</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_MEMALIGN</code></td>
|
||||
<td>controls the alignment of blocks of memory allocated by LAMMPS</td>
|
||||
@ -271,7 +286,16 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_MACHINE</code></td>
|
||||
<td>allows appending a machine suffix to the generate LAMMPS binary</td>
|
||||
<td>allows appending a machine suffix to the generated LAMMPS binary</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt>*none* (default)</dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_LIB_SUFFIX</code></td>
|
||||
<td>allows appending a suffix to the generated LAMMPS library</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt>*none* (default)</dt>
|
||||
@ -319,8 +343,8 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_LONGLONG_TO_LONG</code></td>
|
||||
<td>Workaround if your system or MPI version does not recognize <code>long long</code> data types</td>
|
||||
<td><code>BUILD_TOOLS</code></td>
|
||||
<td>control whether to build LAMMPS tools</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
@ -561,23 +585,6 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_MEAM</code></td>
|
||||
<td>
|
||||
<p>A pair style for the modified embedded atom (MEAM) potential.</p>
|
||||
|
||||
<p><strong>Please note that the MEAM package has been superseded by the USER-MEAMC package,
|
||||
which is a direct translation of the MEAM package to C++. USER-MEAMC contains
|
||||
additional optimizations making it run faster than MEAM on most machines, while
|
||||
providing the identical features and USER interface.</strong></p>
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_MISC</code></td>
|
||||
<td>
|
||||
@ -634,21 +641,6 @@ providing the identical features and USER interface.</strong></p>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_REAX</code></td>
|
||||
<td>
|
||||
A pair style which wraps a Fortran library which implements the ReaxFF
|
||||
potential, which is a universal reactive force field. See the USER-REAXC
|
||||
package for an alternate implementation in C/C++. Also a fix reax/bonds
|
||||
command for monitoring molecules as bonds are created and destroyed.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_REPLICA</code></td>
|
||||
<td>
|
||||
@ -695,6 +687,16 @@ providing the identical features and USER interface.</strong></p>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_SPIN</code></td>
|
||||
<td>Model atomic magnetic spins classically, coupled to atoms moving in the usual manner via MD. Various pair, fix, and compute styles.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_SNAP</code></td>
|
||||
<td>
|
||||
@ -757,6 +759,16 @@ providing the identical features and USER interface.</strong></p>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_MESSAGE</code></td>
|
||||
<td>Commands to use LAMMPS as either a client or server and couple it to another application.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_MSCG</code></td>
|
||||
<td>
|
||||
@ -811,6 +823,18 @@ providing the identical features and USER interface.</strong></p>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_VORONOI</code></td>
|
||||
<td>
|
||||
A compute command which calculates the Voronoi tesselation of a collection of atoms by wrapping the Voro++ library. This can be used to calculate the local volume or each atoms or its near neighbors.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -825,6 +849,16 @@ providing the identical features and USER interface.</strong></p>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>PKG_USER-ADIOS</code></td>
|
||||
<td>ADIOS is a high-performance I/O library. This package implements the dump “atom/adios” and dump “custom/adios” commands to write data using the ADIOS library.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-ATC</code></td>
|
||||
<td>
|
||||
@ -853,6 +887,18 @@ providing the identical features and USER interface.</strong></p>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-BOCS</code></td>
|
||||
<td>
|
||||
This package provides fix bocs, a modified version of fix npt which includes the pressure correction to the barostat as outlined in: N. J. H. Dunn and W. G. Noid, “Bottom-up coarse-grained models that accurately describe the structure, pressure, and compressibility of molecular liquids,” J. Chem. Phys. 143, 243148 (2015).
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-CGDNA</code></td>
|
||||
<td>
|
||||
@ -1142,6 +1188,30 @@ providing the identical features and USER interface.</strong></p>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-PLUMED</code></td>
|
||||
<td>
|
||||
The fix plumed command allows you to use the PLUMED free energy plugin for molecular dynamics to analyze and bias your LAMMPS trajectory on the fly. The PLUMED library is called from within the LAMMPS input script by using the <code>fix plumed</code> command.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-PTM</code></td>
|
||||
<td>
|
||||
A <code>compute ptm/atom</code> command that calculates local structure characterization using the Polyhedral Template Matching methodology.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-QTB</code></td>
|
||||
<td>
|
||||
@ -1197,6 +1267,33 @@ providing the identical features and USER interface.</strong></p>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-SCAFACOS</code></td>
|
||||
<td>
|
||||
A KSpace style which wraps the ScaFaCoS Coulomb solver library to compute long-range Coulombic interactions.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-SDPD</code></td>
|
||||
<td>
|
||||
A pair style for smoothed dissipative particle dynamics (SDPD), which is an
|
||||
extension of smoothed particle hydrodynamics (SPH) to mesoscale where thermal
|
||||
fluctuations are important (see the USER-SPH package). Also two fixes for
|
||||
moving and rigid body integration of SPH/SDPD particles (particles of
|
||||
<code>atom_style meso</code>).</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-SMD</code></td>
|
||||
<td>
|
||||
@ -1280,6 +1377,23 @@ providing the identical features and USER interface.</strong></p>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-YAFF</code></td>
|
||||
<td>
|
||||
Some potentials that are also implemented in the Yet Another Force Field (YAFF) code.
|
||||
The expressions and their use are discussed in the following papers:
|
||||
<ul>
|
||||
<li><a href="http://dx.doi.org/10.1002/jcc.23877" target="_blank">Vanduyfhuys et al., J. Comput. Chem., 36 (13), 1015-1027 (2015)</a></li>
|
||||
<li><a href="http://dx.doi.org/10.1002/jcc.25173" target="_blank">Vanduyfhuys et al., J. Comput. Chem., 39 (16), 999-1011 (2018)</a></li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -1300,14 +1414,27 @@ providing the identical features and USER interface.</strong></p>
|
||||
<td><code>FFT</code></td>
|
||||
<td>
|
||||
<p>FFT library for KSPACE package</p>
|
||||
<p>If either MKL or FFTW is selected <code>cmake</code> will try to locate these libraries automatically. To control which one should be used please see the options below for each FFT library.</p>
|
||||
<p>If either MKL or FFTW is selected <code>cmake</code> will try to locate
|
||||
these libraries automatically. To control which one should be used please see
|
||||
the options below for each FFT library. Otherwise it will default to KISS
|
||||
FFT.</p>
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>KISS</code></dt>
|
||||
<dt><code>FFTW3</code></dt>
|
||||
<dt><code>FFTW2</code></dt>
|
||||
<dt><code>MKL</code></dt>
|
||||
<dt><code>KISS</code> (default)</dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FFT_SINGLE</code></td>
|
||||
<td>Use single-precision floating-point in FFT</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default = double precision)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
@ -1325,60 +1452,6 @@ providing the identical features and USER interface.</strong></p>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### MKL
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>MKL_INCLUDE_DIRS</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>MKL_LIBRARIES</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
TODO static vs dynamic linking
|
||||
|
||||
### FFTW2
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>FFTW2_INCLUDE_DIRS</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FFTW2_LIBRARIES</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### FFTW3
|
||||
|
||||
<table>
|
||||
@ -1392,24 +1465,57 @@ TODO static vs dynamic linking
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>FFTW3_INCLUDE_DIRS</code></td>
|
||||
<td></td>
|
||||
<td>path to FFTW3 include files</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FFTW3_LIBRARIES</code></td>
|
||||
<td></td>
|
||||
<td>list of paths to FFTW3 libraries</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### MKL
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>MKL_INCLUDE_DIRS</code></td>
|
||||
<td>path to MKL include files</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>MKL_LIBRARIES</code></td>
|
||||
<td>list of paths to MKL libraries</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### BLAS
|
||||
|
||||
See [FindBLAS documentation](https://cmake.org/cmake/help/latest/module/FindBLAS.html)
|
||||
|
||||
### LAPACK
|
||||
TODO
|
||||
|
||||
See [FindLAPACK documentation](https://cmake.org/cmake/help/latest/module/FindLAPACK.html)
|
||||
|
||||
### PYTHON Package
|
||||
|
||||
See [FindPYTHON documentation](https://cmake.org/cmake/help/latest/module/FindPython.html)
|
||||
|
||||
### USER-INTEL Package
|
||||
|
||||
<table>
|
||||
@ -1499,10 +1605,11 @@ target API.
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>sm_20</code> (Fermi)</dt>
|
||||
<dt><code>sm_30</code> (Kepler)</dt>
|
||||
<dt><code>sm_30</code> (Kepler) (default)</dt>
|
||||
<dt><code>sm_50</code> (Maxwell)</dt>
|
||||
<dt><code>sm_60</code> (Pascal)</dt>
|
||||
<dt><code>sm_70</code> (Volta)</dt>
|
||||
<dt><code>sm_75</code> (Turing)</dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
@ -1534,13 +1641,14 @@ target API.
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### VORONOI Package
|
||||
### KIM Package
|
||||
|
||||
TODO
|
||||
Requires installation of the KIM library with API v2
|
||||
|
||||
### USER-SMD Package
|
||||
|
||||
Requires a Eigen3 installation
|
||||
If `DOWNLOAD_KIM` is set, the KIM library will be downloaded and built inside
|
||||
the CMake build directory. If the KIM library is already on your system (in a
|
||||
location CMake cannot find it), set the `PKG_CONFIG_PATH` environment variable
|
||||
so that `libkim-api` can be found.
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
@ -1551,9 +1659,323 @@ Requires a Eigen3 installation
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_KIM</code></td>
|
||||
<td>Download KIM API v2 and compile it as part of the build.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### MESSAGE Package
|
||||
|
||||
This package can optionally include support for messaging via sockets, using the open-source [ZeroMQ library](http://zeromq.org/), which must be installed on your system.
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>MESSAGE_ZMQ</code></td>
|
||||
<td>Build with ZeroMQ support</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ZMQ_LIBRARY</code></td>
|
||||
<td>
|
||||
ZMQ library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ZMG_INCLUDE_DIR</code></td>
|
||||
<td>
|
||||
Provide include directory of existing ZMQ installation (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### MSCG Package
|
||||
|
||||
Requires installation of the MSCG library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_MSCG</code></td>
|
||||
<td>Download MSCG and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>MSCG_LIBRARY</code></td>
|
||||
<td>
|
||||
MSCG library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>MSCG_INCLUDE_DIR</code></td>
|
||||
<td>
|
||||
Provide include directory of existing MSCG installation (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### VORONOI Package
|
||||
|
||||
Requires installation of the Voro++ library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_VORO</code></td>
|
||||
<td>Download Voro++ and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>VORO_LIBRARY</code></td>
|
||||
<td>
|
||||
Voro++ library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>VORO_INCLUDE_DIR</code></td>
|
||||
<td>
|
||||
Provide include directory of existing Voro++ installation (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### USER-LATTE Package
|
||||
|
||||
Requires installation of the LATTE library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_LATTE</code></td>
|
||||
<td>Download LATTE and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LATTE_LIBRARY</code></td>
|
||||
<td>
|
||||
LATTE library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### USER-PLUMED Package
|
||||
|
||||
Requires installation of the PLUMED library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_PLUMED</code></td>
|
||||
<td>Download PLUMED and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PLUMED_MODE</code></td>
|
||||
<td>
|
||||
Determines the linkage mode for the PLUMED library.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>static</code> (default)</dt>
|
||||
<dt><code>shared</code></dt>
|
||||
<dt><code>runtime</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### USER-LATTE Package
|
||||
|
||||
Requires installation of the LATTE library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_LATTE</code></td>
|
||||
<td>Download LATTE and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LATTE_LIBRARY</code></td>
|
||||
<td>
|
||||
LATTE library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### USER-SMD Package
|
||||
|
||||
Requires installation of the Eigen3 library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_EIGEN3</code></td>
|
||||
<td>Download Eigen3 and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>EIGEN3_INCLUDE_DIR</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
Provide include directory of existing Eigen3 installation (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
### USER-SCAFACOS Package
|
||||
|
||||
To build with this package, you must download and build the [ScaFaCoS Coulomb solver library](http://www.scafacos.de/)
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_SCAFACOS</code></td>
|
||||
<td>Download SCAFACOS and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SCAFACOS_LIBRARY</code></td>
|
||||
<td>
|
||||
SCAFACOS library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SCAFACOS_INCLUDE_DIR</code></td>
|
||||
<td>
|
||||
SCAFACOS include directory (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
@ -1791,5 +2213,82 @@ cmake -D CMAKE_C_COMPILER=icc -D CMAKE_CXX_COMPILER=icpc -D CMAKE_Fortran_COMPIL
|
||||
cmake -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_Fortran_COMPILER=flang ../cmake
|
||||
```
|
||||
|
||||
## LAMMPS Developer Options
|
||||
|
||||
## Examples
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>ENABLE_TESTING</code></td>
|
||||
<td>Control wheather to add tests via CTest</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_TESTING_SOURCE_DIR</code></td>
|
||||
<td>Custom location of lammps-testing repository (optional). If not specified it will download it via Git</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_TESTING_GIT_TAG</code></td>
|
||||
<td>If lammps-testing repository is cloned, this is the tag/commit that will be checked out</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>master</code> (default)</dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ENABLE_COVERAGE</code></td>
|
||||
<td>Enables code coverage support via gcov and adds a gcovr build target to generate a coverage report.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ENABLE_SANITIZE_ADDRESS</code></td>
|
||||
<td>Enables Address Sanitizer support when compiling using GCC or Clang for detecting memory leaks in binaries while running them. See https://clang.llvm.org/docs/AddressSanitizer.html</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ENABLE_SANITIZE_UNDEFINED</code></td>
|
||||
<td>Enables Undefined Behavior Sanitizer support when compiling using GCC or Clang for detecting code that is running into undefined behavior of the language. See https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ENABLE_SANITIZE_THREAD</code></td>
|
||||
<td>Enables Thread Sanitizer support when compiling using GCC or Clang for detecting data races in binaries while running them. See https://clang.llvm.org/docs/ThreadSanitizer.html</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -3,9 +3,9 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||
REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI USER-ATC USER-AWPMD
|
||||
USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION
|
||||
USER-DPD USER-DRUDE USER-EFF USER-FEP USER-INTEL USER-MANIFOLD
|
||||
USER-MEAMC USER-MESO USER-MISC USER-MOFFF USER-MOLFILE USER-OMP
|
||||
USER-PHONON USER-PTM USER-QTB USER-REAXC USER-SDPD USER-SMD
|
||||
USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF)
|
||||
USER-MEAMC USER-MESO USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE
|
||||
USER-OMP USER-PHONON USER-PTM USER-QTB USER-REAXC USER-SDPD
|
||||
USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF)
|
||||
|
||||
foreach(PKG ${WIN_PACKAGES})
|
||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||
@ -14,4 +14,4 @@ endforeach()
|
||||
set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_EIGEN3 ON CACHE BOOL "" FORCE)
|
||||
set(LAMMPS_MEMALIGN "0" CACHE STRING "" FORCE)
|
||||
set(INTEL_LRT_MODE "none" CACHE STRING "" FORCE)
|
||||
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/lammps-installer")
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
.TH LAMMPS "2 August 2019" "2019-08-02"
|
||||
.TH LAMMPS "19 September 2019" "2019-09-19"
|
||||
.SH NAME
|
||||
.B LAMMPS
|
||||
\- Molecular Dynamics Simulator.
|
||||
|
||||
@ -29,6 +29,7 @@ as described on the "Install"_Install.html doc page.
|
||||
Build_package
|
||||
Build_extras
|
||||
Build_windows
|
||||
Build_development
|
||||
|
||||
END_RST -->
|
||||
|
||||
@ -41,7 +42,8 @@ END_RST -->
|
||||
"Optional build settings"_Build_settings.html
|
||||
"Include packages in build"_Build_package.html
|
||||
"Packages with extra build options"_Build_extras.html
|
||||
"Notes for building LAMMPS on Windows"_Build_windows.html :all(b)
|
||||
"Notes for building LAMMPS on Windows"_Build_windows.html
|
||||
"Development build options (CMake only)"_Build_development.html :all(b)
|
||||
|
||||
If you have problems building LAMMPS, it is often due to software
|
||||
issues on your local machine. If you can, find a local expert to
|
||||
|
||||
@ -51,7 +51,7 @@ Serial build (see src/MAKE/Makefile.serial):
|
||||
|
||||
MPI_INC = -I../STUBS
|
||||
MPI_PATH = -L../STUBS
|
||||
MPI_LIB = -lmpi_stubs :pre
|
||||
MPI_LIB = -lmpi_stubs :pre
|
||||
|
||||
For a parallel build, if MPI is installed on your system in the usual
|
||||
place (e.g. under /usr/local), you do not need to specify the 3
|
||||
@ -183,17 +183,17 @@ want.
|
||||
|
||||
Parallel build (see src/MAKE/Makefile.mpi):
|
||||
|
||||
CC = mpicxx
|
||||
CCFLAGS = -g -O3
|
||||
LINK = mpicxx
|
||||
LINKFLAGS = -g -O :pre
|
||||
CC = mpicxx
|
||||
CCFLAGS = -g -O3
|
||||
LINK = mpicxx
|
||||
LINKFLAGS = -g -O :pre
|
||||
|
||||
Serial build (see src/MAKE/Makefile.serial):
|
||||
|
||||
CC = g++
|
||||
CCFLAGS = -g -O3
|
||||
LINK = g++
|
||||
LINKFLAGS = -g -O :pre
|
||||
CC = g++
|
||||
CCFLAGS = -g -O3
|
||||
LINK = g++
|
||||
LINKFLAGS = -g -O :pre
|
||||
|
||||
The "compiler/linker settings" section of a Makefile.machine lists
|
||||
compiler and linker settings for your C++ compiler, including
|
||||
@ -235,12 +235,16 @@ running LAMMPS from Python via its library interface.
|
||||
|
||||
-D BUILD_EXE=value # yes (default) or no
|
||||
-D BUILD_LIB=value # yes or no (default)
|
||||
-D BUILD_SHARED_LIBS=value # yes or no (default) :pre
|
||||
-D BUILD_SHARED_LIBS=value # yes or no (default)
|
||||
-D LAMMPS_LIB_SUFFIX=name # name = mpi, serial, mybox, titan, laptop, etc
|
||||
# no default value :pre
|
||||
|
||||
|
||||
Setting BUILD_EXE=no will not produce an executable. Setting
|
||||
BUILD_LIB=yes will produce a static library named liblammps.a.
|
||||
Setting both BUILD_LIB=yes and BUILD_SHARED_LIBS=yes will produce a
|
||||
shared library named liblammps.so.
|
||||
shared library named liblammps.so. If LAMMPS_LIB_SUFFIX is set the generated
|
||||
libraries will be named liblammps_name.a or liblammps_name.so instead.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
@ -310,6 +314,30 @@ current LAMMPS version (HTML and PDF files), from the website
|
||||
|
||||
:line
|
||||
|
||||
Build LAMMPS tools :h4,link(tools)
|
||||
|
||||
Some tools described in "Auxiliary tools"_Tools.html can be built directly
|
||||
using CMake or Make.
|
||||
|
||||
[CMake variable]:
|
||||
|
||||
-D BUILD_TOOLS=value # yes or no (default) :pre
|
||||
|
||||
The generated binaries will also become part of the LAMMPS installation (see below)
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
cd lammps/tools
|
||||
make all # build all binaries of tools
|
||||
make binary2txt # build only binary2txt tool
|
||||
make chain # build only chain tool
|
||||
make micelle2d # build only micelle2d tool
|
||||
make thermo_extract # build only thermo_extract tool
|
||||
:pre
|
||||
|
||||
:line
|
||||
|
||||
|
||||
Install LAMMPS after a build :h4,link(install)
|
||||
|
||||
After building LAMMPS, you may wish to copy the LAMMPS executable of
|
||||
|
||||
@ -120,7 +120,7 @@ The argument can be preceeded or followed by various CMake
|
||||
command-line options. Several useful ones are:
|
||||
|
||||
-D CMAKE_INSTALL_PREFIX=path # where to install LAMMPS executable/lib if desired
|
||||
-D CMAKE_BUILD_TYPE=type # type = Release or Debug
|
||||
-D CMAKE_BUILD_TYPE=type # type = RelWithDebInfo (default), Release, MinSizeRel, or Debug
|
||||
-G output # style of output CMake generates
|
||||
-DVARIABLE=value # setting for a LAMMPS feature to enable
|
||||
-D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir
|
||||
|
||||
86
doc/src/Build_development.txt
Normal file
@ -0,0 +1,86 @@
|
||||
"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Commands_all.html)
|
||||
|
||||
:line
|
||||
|
||||
Development build options (CMake only) :h3
|
||||
|
||||
The CMake build of LAMMPS has a few extra options which are useful during
|
||||
development, testing or debugging.
|
||||
|
||||
:line
|
||||
|
||||
Verify compilation flags :h4,link(compilation)
|
||||
|
||||
Sometimes it is necessary to verify the complete sequence of compilation flags
|
||||
generated by the CMake build. To enable a more verbose output during
|
||||
compilation you can use the following option.
|
||||
|
||||
-D CMAKE_VERBOSE_MAKEFILE=value # value = no (default) or yes :pre
|
||||
|
||||
Another way of doing this without reconfiguration is calling make with variable VERBOSE set to 1:
|
||||
|
||||
make VERBOSE=1 :pre
|
||||
|
||||
:line
|
||||
|
||||
Address, Undefined Behavior, and Thread Sanitizer Support :h4,link(sanitizer)
|
||||
|
||||
Compilers such as GCC and Clang support generating binaries which use different
|
||||
sanitizers to detect problems in code during run-time. They can detect "memory leaks"_https://clang.llvm.org/docs/AddressSanitizer.html,
|
||||
code that runs into "undefined behavior"_https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html of the
|
||||
language and "data races"_https://clang.llvm.org/docs/ThreadSanitizer.html in threaded code.
|
||||
|
||||
The following settings allow you enable these features if your compiler supports
|
||||
it. Please note that they come with a performance hit. However, they are
|
||||
usually faster than using tools like Valgrind.
|
||||
|
||||
-D ENABLE_SANITIZE_ADDRESS=value # enable Address Sanitizer, value = no (default) or yes
|
||||
-D ENABLE_SANITIZE_UNDEFINED=value # enable Undefined Behaviour Sanitizer, value = no (default) or yes
|
||||
-D ENABLE_SANITIZE_THREAD=value # enable Thread Sanitizer, value = no (default) or yes
|
||||
:pre
|
||||
|
||||
:line
|
||||
|
||||
Code Coverage and Testing :h4,link(testing)
|
||||
|
||||
We do extensive regression testing of the LAMMPS code base on a continuous
|
||||
basis. Some of the logic to do this has been added to the CMake build so
|
||||
developers can run the tests directly on their workstation.
|
||||
|
||||
NOTE: this is incomplete and only represents a small subset of tests that we run
|
||||
|
||||
-D ENABLE_TESTING=value # enable simple run tests of LAMMPS, value = no (default) or yes
|
||||
-D LAMMPS_TESTING_SOURCE_DIR=path # path to lammps-testing repository (option if in custom location)
|
||||
-D LAMMPS_TESTING_GIT_TAG=value # version of lammps-testing repository that should be used, value = master (default) or custom git commit or tag
|
||||
:pre
|
||||
|
||||
If you enable testing in the CMake build it will create an additional target called "test". You can run them with:
|
||||
|
||||
make test
|
||||
:pre
|
||||
|
||||
The test cases used come from the lammps-testing repository. They are
|
||||
derivatives of the examples folder with some modifications to make the run
|
||||
faster.
|
||||
|
||||
You can also collect code coverage metrics while running the tests by enabling
|
||||
coverage support during building.
|
||||
|
||||
-D ENABLE_COVERAGE=value # enable coverage measurements, value = no (default) or yes :pre
|
||||
|
||||
This will also add the following targets to generate coverage reports after running the LAMMPS executable:
|
||||
|
||||
make test # run tests first!
|
||||
make gen_coverage_html # generate coverage report in HTML format
|
||||
make gen_coverage_xml # generate coverage report in XML format
|
||||
:pre
|
||||
|
||||
These reports require GCOVR to be installed. The easiest way to do this to install it via pip:
|
||||
|
||||
pip install git+https://github.com/gcovr/gcovr.git :pre
|
||||
:pre
|
||||
@ -88,7 +88,7 @@ which GPU hardware to build for.
|
||||
# generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA)
|
||||
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
|
||||
# value = sm_XX, see below
|
||||
# default is Cuda-compiler dependent, but typically sm_20
|
||||
# default is sm_30
|
||||
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
|
||||
# enables CUDA Performance Primitives Optimizations
|
||||
# value = yes (default) or no
|
||||
@ -302,7 +302,7 @@ files.
|
||||
|
||||
KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd)
|
||||
export OMPI_CXX = $(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper
|
||||
CC = mpicxx :pre
|
||||
CC = mpicxx :pre
|
||||
|
||||
:line
|
||||
|
||||
@ -354,6 +354,9 @@ be installed on your system.
|
||||
[CMake build]:
|
||||
|
||||
-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
|
||||
-D ZMQ_LIBRARY=path # ZMQ library file (only needed if a custom location)
|
||||
-D ZMQ_INCLUDE_DIR=path # ZMQ include directory (only needed if a custom location)
|
||||
:pre
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
@ -366,6 +369,7 @@ simply invoke the lib/message/Install.py script with the specified args:
|
||||
make lib-message # print help message
|
||||
make lib-message args="-m -z" # build with MPI and socket (ZMQ) support
|
||||
make lib-message args="-s" # build as serial lib with no ZMQ support
|
||||
:pre
|
||||
|
||||
The build should produce two files: lib/message/cslib/src/libmessage.a
|
||||
and lib/message/Makefile.lammps. The latter is copied from an
|
||||
@ -798,7 +802,7 @@ dir, using a command like these, which simply invoke the
|
||||
lib/h5md/Install.py script with the specified args:
|
||||
|
||||
make lib-h5md # print help message
|
||||
make lib-hm5d args="-m h5cc" # build with h5cc compiler :pre
|
||||
make lib-h5md args="-m h5cc" # build with h5cc compiler :pre
|
||||
|
||||
The build should produce two files: lib/h5md/libch5md.a and
|
||||
lib/h5md/Makefile.lammps. The latter is copied from an existing
|
||||
@ -845,15 +849,15 @@ additional information.
|
||||
For CPUs:
|
||||
|
||||
OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high
|
||||
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS)
|
||||
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
|
||||
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS)
|
||||
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
|
||||
LIB = -ltbbmalloc :pre
|
||||
|
||||
For KNLs:
|
||||
|
||||
OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits
|
||||
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS)
|
||||
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
|
||||
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS)
|
||||
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
|
||||
LIB = -ltbbmalloc :pre
|
||||
|
||||
:line
|
||||
|
||||
@ -12,6 +12,7 @@ Optional build settings :h3
|
||||
LAMMPS can be built with several optional settings. Each sub-section
|
||||
explain how to do this for building both with CMake and make.
|
||||
|
||||
"C++11 standard compliance test"_#cxx11 when building all of LAMMPS
|
||||
"FFT library"_#fft for use with the "kspace_style pppm"_kspace_style.html command
|
||||
"Size of LAMMPS data types"_#size
|
||||
"Read or write compressed files"_#gzip
|
||||
@ -23,6 +24,28 @@ explain how to do this for building both with CMake and make.
|
||||
|
||||
:line
|
||||
|
||||
C++11 standard compliance test :h4,link(cxx11)
|
||||
|
||||
The LAMMPS developers plan to transition to make the C++11 standard the
|
||||
minimum requirement for compiling LAMMPS. Currently this only applies to
|
||||
some packages like KOKKOS while the rest aims to be compatible with the C++98
|
||||
standard. Most currently used compilers are compatible with C++11; some need
|
||||
to set extra flags to switch. To determine the impact of requiring C++11,
|
||||
we have added a simple compliance test to the source code, that will cause
|
||||
the compilation to abort, if C++11 compliance is not available or enabled.
|
||||
To bypass this check, you need to change a setting in the makefile or
|
||||
when calling CMake.
|
||||
|
||||
[CMake variable]:
|
||||
|
||||
-D DISABLE_CXX11_REQUIREMENT=yes
|
||||
|
||||
[Makefile.machine setting]:
|
||||
|
||||
LMP_INC = -DLAMMPS_CXX98
|
||||
|
||||
:line
|
||||
|
||||
FFT library :h4,link(fft)
|
||||
|
||||
When the KSPACE package is included in a LAMMPS build, the
|
||||
|
||||
@ -108,7 +108,7 @@ OPT.
|
||||
"class2 (ko)"_dihedral_class2.html,
|
||||
"cosine/shift/exp (o)"_dihedral_cosine_shift_exp.html,
|
||||
"fourier (io)"_dihedral_fourier.html,
|
||||
"harmonic (io)"_dihedral_harmonic.html,
|
||||
"harmonic (iko)"_dihedral_harmonic.html,
|
||||
"helix (o)"_dihedral_helix.html,
|
||||
"multi/harmonic (o)"_dihedral_multi_harmonic.html,
|
||||
"nharmonic (o)"_dihedral_nharmonic.html,
|
||||
|
||||
@ -232,6 +232,7 @@ OPT.
|
||||
"wall/lj1043"_fix_wall.html,
|
||||
"wall/lj126"_fix_wall.html,
|
||||
"wall/lj93 (k)"_fix_wall.html,
|
||||
"wall/morse"_fix_wall.html,
|
||||
"wall/piston"_fix_wall_piston.html,
|
||||
"wall/reflect (k)"_fix_wall_reflect.html,
|
||||
"wall/region"_fix_wall_region.html,
|
||||
|
||||
@ -65,6 +65,7 @@ OPT.
|
||||
"colloid (go)"_pair_colloid.html,
|
||||
"comb (o)"_pair_comb.html,
|
||||
"comb3"_pair_comb.html,
|
||||
"cosine/squared"_pair_cosine_squared.html,
|
||||
"coul/cut (gko)"_pair_coul.html,
|
||||
"coul/cut/soft (o)"_pair_fep_soft.html,
|
||||
"coul/debye (gko)"_pair_coul.html,
|
||||
@ -165,6 +166,7 @@ OPT.
|
||||
"lj/smooth/linear (o)"_pair_lj_smooth_linear.html,
|
||||
"lj/switch3/coulgauss/long"_pair_lj_switch3_coulgauss.html,
|
||||
"lj96/cut (go)"_pair_lj96.html,
|
||||
"local/density"_pair_local_density.html,
|
||||
"lubricate (o)"_pair_lubricate.html,
|
||||
"lubricate/poly (o)"_pair_lubricate.html,
|
||||
"lubricateU"_pair_lubricateU.html,
|
||||
|
||||
BIN
doc/src/Eqs/pair_cosine_squared.jpg
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
16
doc/src/Eqs/pair_cosine_squared.tex
Normal file
@ -0,0 +1,16 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\usepackage{amsmath}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{align*}
|
||||
E =
|
||||
\begin{cases}
|
||||
-\epsilon& \quad r < \sigma \\
|
||||
-\epsilon\cos\left(\frac{\pi\left(r - \sigma\right)}{2\left(r_c - \sigma\right)}\right)&\quad \sigma \leq r < r_c \\
|
||||
0& \quad r \geq r_c
|
||||
\end{cases}
|
||||
\end{align*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_cosine_squared_wca.jpg
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
11
doc/src/Eqs/pair_cosine_squared_wca.tex
Normal file
@ -0,0 +1,11 @@
|
||||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
E = \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} -
|
||||
2\left(\frac{\sigma}{r}\right)^6 + 1\right]
|
||||
, \quad r < \sigma
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_local_density_energy.jpg
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
11
doc/src/Eqs/pair_local_density_energy.tex
Normal file
@ -0,0 +1,11 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
U_{LD} = \sum_i F(\rho_i)
|
||||
$$
|
||||
|
||||
|
||||
\end{document}
|
||||
~
|
||||
BIN
doc/src/Eqs/pair_local_density_energy_implement.jpg
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
9
doc/src/Eqs/pair_local_density_energy_implement.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
U_{LD} = \sum_k U_{LD}^{(k)} = \sum_i \left[ \sum_k a_\alpha^{(k)} F^{(k)} \left(\rho_i^{(k)}\right) \right]
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_local_density_energy_multi.jpg
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
9
doc/src/Eqs/pair_local_density_energy_multi.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
U_{LD} = \sum_i a_\alpha F(\rho_i)
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_local_density_indicator_func.jpg
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
16
doc/src/Eqs/pair_local_density_indicator_func.tex
Normal file
@ -0,0 +1,16 @@
|
||||
\documentclass[12pt]{article}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amsfonts}
|
||||
|
||||
\begin{document}
|
||||
\[
|
||||
\varphi(r) =
|
||||
\begin{cases}
|
||||
1 & r \le R_1 \\
|
||||
c_0 + c_2r^2 + c_4r^4 + c_6r^6 & r \in (R_1, R_2) \\
|
||||
0 & r \ge R_2
|
||||
\end{cases}
|
||||
\]
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_local_density_ld.jpg
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
10
doc/src/Eqs/pair_local_density_ld.tex
Normal file
@ -0,0 +1,10 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
|
||||
$$
|
||||
\rho_i = \sum_{j \neq i} \varphi(r_{ij})
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_local_density_ld_implement.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
10
doc/src/Eqs/pair_local_density_ld_implement.tex
Normal file
@ -0,0 +1,10 @@
|
||||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
|
||||
$$
|
||||
\rho_i^{(k)} = \sum_j b_\beta^{(k)} \varphi^{(k)} (r_{ij})
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_local_density_ld_multi.jpg
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
10
doc/src/Eqs/pair_local_density_ld_multi.tex
Normal file
@ -0,0 +1,10 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
|
||||
$$
|
||||
\rho_i = \sum_{j \neq i} b_\beta \varphi(r_{ij})
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
@ -136,7 +136,9 @@ The "compute chunk/spread/atom"_compute_chunk_spread_atom.html command
|
||||
spreads per-chunk values to each atom in the chunk, producing per-atom
|
||||
values as its output. This can be useful for outputting per-chunk
|
||||
values to a per-atom "dump file"_dump.html. Or for using an atom's
|
||||
associated chunk value in an "atom-style variable"_variable.html.
|
||||
associated chunk value in an "atom-style variable"_variable.html. Or
|
||||
as input to the "fix ave/chunk"_fix_ave_chunk.html command to
|
||||
spatially average per-chunk values calculated by a per-chunk compute.
|
||||
|
||||
The "compute reduce/chunk"_compute_reduce_chunk.html command reduces a
|
||||
peratom value across the atoms in each chunk to produce a value per
|
||||
@ -184,12 +186,20 @@ compute cc1 all chunk/atom c_cluster compress yes
|
||||
compute size all property/chunk cc1 count
|
||||
fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre
|
||||
|
||||
(6) An example of using a per-chunk value to apply per-atom forces to
|
||||
(6) An example for using a per-chunk value to apply per-atom forces to
|
||||
compress individual polymer chains (molecules) in a mixture, is
|
||||
explained on the "compute
|
||||
chunk/spread/atom"_compute_chunk_spread_atom.html command doc page.
|
||||
|
||||
(7) An example of using one set of per-chunk values for molecule
|
||||
(7) An example for using one set of per-chunk values for molecule
|
||||
chunks, to create a 2nd set of micelle-scale chunks (clustered
|
||||
molecules, due to hydrophobicity), is explained on the "compute
|
||||
chunk/reduce"_compute_reduce_chunk.html command doc page.
|
||||
|
||||
(8) An example for using one set of per-chunk values (dipole moment
|
||||
vectors) for molecule chunks, spreading the values to each atom in
|
||||
each chunk, then defining a second set of chunks as spatial bins, and
|
||||
using the "fix ave/chunk"_fix_ave_chunk.html command to calculate an
|
||||
average dipole moment vector for each bin. This example is explained
|
||||
on the "compute chunk/spread/atom"_compute_chunk_spread_atom.html
|
||||
command doc page.
|
||||
|
||||
@ -43,19 +43,19 @@ langevin/spin"_fix_langevin_spin.html. It allows to either dissipate
|
||||
the thermal energy of the Langevin thermostat, or to perform a
|
||||
relaxation of the magnetic configuration toward an equilibrium state.
|
||||
|
||||
The command "fix setforce/spin"_fix_setforce.html allows to set the
|
||||
components of the magnetic precession vectors (while erasing and
|
||||
replacing the previously computed magnetic precession vectors on
|
||||
the atom).
|
||||
This command can be used to freeze the magnetic moment of certain
|
||||
atoms in the simulation by zeroing their precession vector.
|
||||
The command "fix setforce/spin"_fix_setforce.html allows to set the
|
||||
components of the magnetic precession vectors (while erasing and
|
||||
replacing the previously computed magnetic precession vectors on
|
||||
the atom).
|
||||
This command can be used to freeze the magnetic moment of certain
|
||||
atoms in the simulation by zeroing their precession vector.
|
||||
|
||||
The command "fix nve/spin"_fix_nve_spin.html can be used to
|
||||
perform a symplectic integration of the combined dynamics of spins
|
||||
perform a symplectic integration of the combined dynamics of spins
|
||||
and atomic motions.
|
||||
|
||||
The minimization style "min/spin"_min_spin.html can be applied
|
||||
to the spins to perform a minimization of the spin configuration.
|
||||
to the spins to perform a minimization of the spin configuration.
|
||||
|
||||
|
||||
All the computed magnetic properties can be output by two main
|
||||
|
||||
@ -59,14 +59,15 @@ granular particles; all the other commands create smooth walls.
|
||||
"fix wall/lj126"_fix_wall.html - flat walls, with Lennard-Jones 12/6 potential
|
||||
"fix wall/colloid"_fix_wall.html - flat walls, with "pair_style colloid"_pair_colloid.html potential
|
||||
"fix wall/harmonic"_fix_wall.html - flat walls, with repulsive harmonic spring potential
|
||||
"fix wall/morse"_fix_wall.html - flat walls, with Morse potential
|
||||
"fix wall/region"_fix_wall_region.html - use region surface as wall
|
||||
"fix wall/gran"_fix_wall_gran.html - flat or curved walls with "pair_style granular"_pair_gran.html potential :ul
|
||||
|
||||
The {lj93}, {lj126}, {colloid}, and {harmonic} styles all allow the
|
||||
flat walls to move with a constant velocity, or oscillate in time.
|
||||
The "fix wall/region"_fix_wall_region.html command offers the most
|
||||
generality, since the region surface is treated as a wall, and the
|
||||
geometry of the region can be a simple primitive volume (e.g. a
|
||||
The {lj93}, {lj126}, {colloid}, {harmonic}, and {morse} styles all
|
||||
allow the flat walls to move with a constant velocity, or oscillate in
|
||||
time. The "fix wall/region"_fix_wall_region.html command offers the
|
||||
most generality, since the region surface is treated as a wall, and
|
||||
the geometry of the region can be a simple primitive volume (e.g. a
|
||||
sphere, or cube, or plane), or a complex volume made from the union
|
||||
and intersection of primitive volumes. "Regions"_region.html can also
|
||||
specify a volume "interior" or "exterior" to the specified primitive
|
||||
|
||||
BIN
doc/src/JPG/pair_cosine_squared_graphs.jpg
Normal file
|
After Width: | Height: | Size: 29 KiB |
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="2 Aug 2019 version">
|
||||
<META NAME="docnumber" CONTENT="19 Sep 2019 version">
|
||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
@ -21,7 +21,7 @@
|
||||
:line
|
||||
|
||||
LAMMPS Documentation :c,h1
|
||||
2 Aug 2019 version :c,h2
|
||||
19 Sep 2019 version :c,h2
|
||||
|
||||
"What is a LAMMPS version?"_Manual_version.html
|
||||
|
||||
|
||||
@ -1191,7 +1191,7 @@ USER-PLUMED package :link(PKG-USER-PLUMED),h4
|
||||
The fix plumed command allows you to use the PLUMED free energy plugin
|
||||
for molecular dynamics to analyze and bias your LAMMPS trajectory on
|
||||
the fly. The PLUMED library is called from within the LAMMPS input
|
||||
script by using the "fix plumed _fix_plumed.html command.
|
||||
script by using the "fix plumed"_fix_plumed.html command.
|
||||
|
||||
[Authors:] The "PLUMED library"_#PLUMED is written and maintained by
|
||||
Massimilliano Bonomi, Giovanni Bussi, Carlo Camiloni and Gareth
|
||||
|
||||
@ -126,9 +126,10 @@ are intended for computational work like running LAMMPS. By default
|
||||
Ng = 1 and Ns is not set.
|
||||
|
||||
Depending on which flavor of MPI you are running, LAMMPS will look for
|
||||
one of these 3 environment variables
|
||||
one of these 4 environment variables
|
||||
|
||||
SLURM_LOCALID (various MPI variants compiled with SLURM support)
|
||||
MPT_LRANK (HPE MPI)
|
||||
MV2_COMM_WORLD_LOCAL_RANK (Mvapich)
|
||||
OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI) :pre
|
||||
|
||||
|
||||
@ -46,14 +46,14 @@ software version 7.5 or later must be installed on your system. See
|
||||
the discussion for the "GPU package"_Speed_gpu.html for details of how
|
||||
to check and do this.
|
||||
|
||||
NOTE: Kokkos with CUDA currently implicitly assumes that the MPI library
|
||||
is CUDA-aware. This is not always the case, especially when using
|
||||
pre-compiled MPI libraries provided by a Linux distribution. This is not
|
||||
a problem when using only a single GPU with a single MPI rank. When
|
||||
running with multiple MPI ranks, you may see segmentation faults without
|
||||
CUDA-aware MPI support. These can be avoided by adding the flags "-pk
|
||||
kokkos cuda/aware off"_Run_options.html to the LAMMPS command line or by
|
||||
using the command "package kokkos cuda/aware off"_package.html in the
|
||||
NOTE: Kokkos with CUDA currently implicitly assumes that the MPI library
|
||||
is CUDA-aware. This is not always the case, especially when using
|
||||
pre-compiled MPI libraries provided by a Linux distribution. This is not
|
||||
a problem when using only a single GPU with a single MPI rank. When
|
||||
running with multiple MPI ranks, you may see segmentation faults without
|
||||
CUDA-aware MPI support. These can be avoided by adding the flags "-pk
|
||||
kokkos cuda/aware off"_Run_options.html to the LAMMPS command line or by
|
||||
using the command "package kokkos cuda/aware off"_package.html in the
|
||||
input file.
|
||||
|
||||
[Building LAMMPS with the KOKKOS package:]
|
||||
@ -110,10 +110,10 @@ Makefile.kokkos_mpi_only) will give better performance than the OpenMP
|
||||
back end (i.e. Makefile.kokkos_omp) because some of the overhead to make
|
||||
the code thread-safe is removed.
|
||||
|
||||
NOTE: Use the "-pk kokkos" "command-line switch"_Run_options.html to
|
||||
change the default "package kokkos"_package.html options. See its doc
|
||||
page for details and default settings. Experimenting with its options
|
||||
can provide a speed-up for specific calculations. For example:
|
||||
NOTE: Use the "-pk kokkos" "command-line switch"_Run_options.html to
|
||||
change the default "package kokkos"_package.html options. See its doc
|
||||
page for details and default settings. Experimenting with its options
|
||||
can provide a speed-up for specific calculations. For example:
|
||||
|
||||
mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm :pre
|
||||
|
||||
@ -183,15 +183,15 @@ tasks/node. The "-k on t Nt" command-line switch sets the number of
|
||||
threads/task as Nt. The product of these two values should be N, i.e.
|
||||
256 or 264.
|
||||
|
||||
NOTE: The default for the "package kokkos"_package.html command when
|
||||
running on KNL is to use "half" neighbor lists and set the Newton flag
|
||||
to "on" for both pairwise and bonded interactions. This will typically
|
||||
be best for many-body potentials. For simpler pair-wise potentials, it
|
||||
may be faster to use a "full" neighbor list with Newton flag to "off".
|
||||
Use the "-pk kokkos" "command-line switch"_Run_options.html to change
|
||||
the default "package kokkos"_package.html options. See its doc page for
|
||||
details and default settings. Experimenting with its options can provide
|
||||
a speed-up for specific calculations. For example:
|
||||
NOTE: The default for the "package kokkos"_package.html command when
|
||||
running on KNL is to use "half" neighbor lists and set the Newton flag
|
||||
to "on" for both pairwise and bonded interactions. This will typically
|
||||
be best for many-body potentials. For simpler pair-wise potentials, it
|
||||
may be faster to use a "full" neighbor list with Newton flag to "off".
|
||||
Use the "-pk kokkos" "command-line switch"_Run_options.html to change
|
||||
the default "package kokkos"_package.html options. See its doc page for
|
||||
details and default settings. Experimenting with its options can provide
|
||||
a speed-up for specific calculations. For example:
|
||||
|
||||
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm host -in in.reax # Newton on, half neighbor list, threaded comm
|
||||
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton off neigh full comm no -in in.lj # Newton off, full neighbor list, non-threaded comm :pre
|
||||
@ -206,19 +206,19 @@ supports.
|
||||
|
||||
[Running on GPUs:]
|
||||
|
||||
Use the "-k" "command-line switch"_Run_options.html to specify the
|
||||
number of GPUs per node. Typically the -np setting of the mpirun command
|
||||
should set the number of MPI tasks/node to be equal to the number of
|
||||
physical GPUs on the node. You can assign multiple MPI tasks to the same
|
||||
GPU with the KOKKOS package, but this is usually only faster if some
|
||||
portions of the input script have not been ported to use Kokkos. In this
|
||||
case, also packing/unpacking communication buffers on the host may give
|
||||
speedup (see the KOKKOS "package"_package.html command). Using CUDA MPS
|
||||
Use the "-k" "command-line switch"_Run_options.html to specify the
|
||||
number of GPUs per node. Typically the -np setting of the mpirun command
|
||||
should set the number of MPI tasks/node to be equal to the number of
|
||||
physical GPUs on the node. You can assign multiple MPI tasks to the same
|
||||
GPU with the KOKKOS package, but this is usually only faster if some
|
||||
portions of the input script have not been ported to use Kokkos. In this
|
||||
case, also packing/unpacking communication buffers on the host may give
|
||||
speedup (see the KOKKOS "package"_package.html command). Using CUDA MPS
|
||||
is recommended in this scenario.
|
||||
|
||||
Using a CUDA-aware MPI library is highly recommended. CUDA-aware MPI use can be
|
||||
avoided by using "-pk kokkos cuda/aware no"_package.html. As above for
|
||||
multi-core CPUs (and no GPU), if N is the number of physical cores/node,
|
||||
Using a CUDA-aware MPI library is highly recommended. CUDA-aware MPI use can be
|
||||
avoided by using "-pk kokkos cuda/aware no"_package.html. As above for
|
||||
multi-core CPUs (and no GPU), if N is the number of physical cores/node,
|
||||
then the number of MPI tasks/node should not exceed N.
|
||||
|
||||
-k on g Ng :pre
|
||||
@ -229,18 +229,18 @@ one or more nodes, each with two GPUs:
|
||||
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node
|
||||
mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) :pre
|
||||
|
||||
NOTE: The default for the "package kokkos"_package.html command when
|
||||
running on GPUs is to use "full" neighbor lists and set the Newton flag
|
||||
to "off" for both pairwise and bonded interactions, along with threaded
|
||||
communication. When running on Maxwell or Kepler GPUs, this will
|
||||
typically be best. For Pascal GPUs, using "half" neighbor lists and
|
||||
setting the Newton flag to "on" may be faster. For many pair styles,
|
||||
setting the neighbor binsize equal to twice the CPU default value will
|
||||
give speedup, which is the default when running on GPUs. Use the "-pk
|
||||
kokkos" "command-line switch"_Run_options.html to change the default
|
||||
"package kokkos"_package.html options. See its doc page for details and
|
||||
default settings. Experimenting with its options can provide a speed-up
|
||||
for specific calculations. For example:
|
||||
NOTE: The default for the "package kokkos"_package.html command when
|
||||
running on GPUs is to use "full" neighbor lists and set the Newton flag
|
||||
to "off" for both pairwise and bonded interactions, along with threaded
|
||||
communication. When running on Maxwell or Kepler GPUs, this will
|
||||
typically be best. For Pascal GPUs, using "half" neighbor lists and
|
||||
setting the Newton flag to "on" may be faster. For many pair styles,
|
||||
setting the neighbor binsize equal to twice the CPU default value will
|
||||
give speedup, which is the default when running on GPUs. Use the "-pk
|
||||
kokkos" "command-line switch"_Run_options.html to change the default
|
||||
"package kokkos"_package.html options. See its doc page for details and
|
||||
default settings. Experimenting with its options can provide a speed-up
|
||||
for specific calculations. For example:
|
||||
|
||||
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff :pre
|
||||
|
||||
|
||||
@ -76,9 +76,10 @@ Post-processing tools :h3
|
||||
"pymol_asphere"_#pymol,
|
||||
"python"_#pythontools,
|
||||
"reax"_#reax_tool,
|
||||
"replica"_#replica,
|
||||
"smd"_#smd,
|
||||
"spin"_#spin,
|
||||
"xmgrace"_#xmgrace :tb(c=6,ea=c,a=l)
|
||||
"xmgrace"_#xmgrace :tb(c=6,ea=c,a=l)
|
||||
|
||||
Miscellaneous tools :h3
|
||||
|
||||
@ -485,6 +486,21 @@ README for more info on Pizza.py and how to use these scripts.
|
||||
|
||||
:line
|
||||
|
||||
replica tool :h4,link(replica)
|
||||
|
||||
The tools/replica directory contains the reorder_remd_traj python script which
|
||||
can be used to reorder the replica trajectories (resulting from the use of the
|
||||
temper command) according to temperature. This will produce discontinuous
|
||||
trajectories with all frames at the same temperature in each trajectory.
|
||||
Additional options can be used to calculate the canonical configurational
|
||||
log-weight for each frame at each temperature using the pymbar package. See
|
||||
the README.md file for further details. Try out the peptide example provided.
|
||||
|
||||
This tool was written by (and is maintained by) Tanmoy Sanyal,
|
||||
while at the Shell lab at UC Santa Barbara. (tanmoy dot 7989 at gmail.com)
|
||||
|
||||
:line
|
||||
|
||||
reax tool :h4,link(reax_tool)
|
||||
|
||||
The reax sub-directory contains stand-alone codes that can
|
||||
@ -515,13 +531,13 @@ Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
|
||||
spin tool :h4,link(spin)
|
||||
|
||||
The spin sub-directory contains a C file interpolate.c which can
|
||||
be compiled and used to perform a cubic polynomial interpolation of
|
||||
be compiled and used to perform a cubic polynomial interpolation of
|
||||
the MEP following a GNEB calculation.
|
||||
|
||||
See the README file in tools/spin/interpolate_gneb for more details.
|
||||
|
||||
This tool was written by the SPIN package author, Julien
|
||||
Tranchida at Sandia National Labs (jtranch at sandia.gov, and by Aleksei
|
||||
Tranchida at Sandia National Labs (jtranch at sandia.gov, and by Aleksei
|
||||
Ivanov, at University of Iceland (ali5 at hi.is).
|
||||
|
||||
:line
|
||||
@ -549,3 +565,4 @@ simulation.
|
||||
See the README file for details.
|
||||
|
||||
These files were provided by Vikas Varshney (vv0210 at gmail.com)
|
||||
|
||||
|
||||
@ -40,11 +40,12 @@ coordinates and other properties are exchanged between neighboring
|
||||
processors and stored as properties of ghost atoms.
|
||||
|
||||
NOTE: These options apply to the currently defined comm style. When
|
||||
you specify a "comm_style"_comm_style.html command, all communication
|
||||
settings are restored to their default values, including those
|
||||
you specify a "comm_style"_comm_style.html or
|
||||
"read_restart"_read_restart.html command, all communication settings
|
||||
are restored to their default or stored values, including those
|
||||
previously reset by a comm_modify command. Thus if your input script
|
||||
specifies a comm_style command, you should use the comm_modify command
|
||||
after it.
|
||||
specifies a comm_style or read_restart command, you should use the
|
||||
comm_modify command after it.
|
||||
|
||||
The {mode} keyword determines whether a single or multiple cutoff
|
||||
distances are used to determine which atoms to communicate.
|
||||
|
||||
@ -217,6 +217,7 @@ compute"_Commands_compute.html doc page are followed by one or more of
|
||||
"heat/flux"_compute_heat_flux.html - heat flux through a group of atoms
|
||||
"heat/flux/tally"_compute_tally.html -
|
||||
"hexorder/atom"_compute_hexorder_atom.html - bond orientational order parameter q6
|
||||
"hma"_compute_hma.html - harmonically mapped averaging for atomic crystals
|
||||
"improper"_compute_improper.html - energy of each improper sub-style
|
||||
"improper/local"_compute_improper_local.html - angle of each improper
|
||||
"inertia/chunk"_compute_inertia_chunk.html - inertia tensor for each chunk
|
||||
@ -243,7 +244,7 @@ compute"_Commands_compute.html doc page are followed by one or more of
|
||||
"plasticity/atom"_compute_plasticity_atom.html - Peridynamic plasticity for each atom
|
||||
"pressure"_compute_pressure.html - total pressure and pressure tensor
|
||||
"pressure/cylinder"_compute_pressure_cylinder.html - pressure tensor in cylindrical coordinates
|
||||
"pressure/uef"_compute_pressure_uef.html - pressure tensor in the reference frame of an applied flow field
|
||||
"pressure/uef"_compute_pressure_uef.html - pressure tensor in the reference frame of an applied flow field
|
||||
"property/atom"_compute_property_atom.html - convert atom attributes to per-atom vectors/arrays
|
||||
"property/chunk"_compute_property_chunk.html - extract various per-chunk attributes
|
||||
"property/local"_compute_property_local.html - convert local attributes to localvectors/arrays
|
||||
@ -283,7 +284,7 @@ compute"_Commands_compute.html doc page are followed by one or more of
|
||||
"stress/mop"_compute_stress_mop.html - normal components of the local stress tensor using the method of planes
|
||||
"stress/mop/profile"_compute_stress_mop.html - profile of the normal components of the local stress tensor using the method of planes
|
||||
"stress/tally"_compute_tally.html -
|
||||
"tdpd/cc/atom"_compute_tdpd_cc_atom.html - per-atom chemical concentration of a specified species for each tDPD particle
|
||||
"tdpd/cc/atom"_compute_tdpd_cc_atom.html - per-atom chemical concentration of a specified species for each tDPD particle
|
||||
"temp"_compute_temp.html - temperature of group of atoms
|
||||
"temp/asphere"_compute_temp_asphere.html - temperature of aspherical particles
|
||||
"temp/body"_compute_temp_body.html - temperature of body particles
|
||||
|
||||
@ -15,10 +15,11 @@ compute ID group-ID bond/local value1 value2 ... keyword args ... :pre
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
bond/local = style name of this compute command :l
|
||||
one or more values may be appended :l
|
||||
value = {dist} or {engpot} or {force} or {engvib} or {engrot} or {engtrans} or {omega} or {velvib} or {v_name} :l
|
||||
value = {dist} or {engpot} or {force} or {fx} or {fy} or {fz} or {engvib} or {engrot} or {engtrans} or {omega} or {velvib} or {v_name} :l
|
||||
{dist} = bond distance
|
||||
{engpot} = bond potential energy
|
||||
{force} = bond force :pre
|
||||
{fx},{fy},{fz} = components of bond force
|
||||
{engvib} = bond kinetic energy of vibration
|
||||
{engrot} = bond kinetic energy of rotation
|
||||
{engtrans} = bond kinetic energy of translation
|
||||
@ -38,6 +39,7 @@ keyword = {set} :l
|
||||
|
||||
compute 1 all bond/local engpot
|
||||
compute 1 all bond/local dist engpot force :pre
|
||||
compute 1 all bond/local dist fx fy fz :pre
|
||||
compute 1 all angle/local dist v_distsq set dist d :pre
|
||||
|
||||
[Description:]
|
||||
@ -59,6 +61,9 @@ based on the current separation of the pair of atoms in the bond.
|
||||
The value {force} is the magnitude of the force acting between the
|
||||
pair of atoms in the bond.
|
||||
|
||||
The values {fx}, {fy}, and {fz} are the xyz components of
|
||||
{force} between the pair of atoms in the bond.
|
||||
|
||||
The remaining properties are all computed for motion of the two atoms
|
||||
relative to the center of mass (COM) velocity of the 2 atoms in the
|
||||
bond.
|
||||
|
||||
@ -30,11 +30,18 @@ compute 1 all chunk/spread/atom mychunk c_com[*] c_gyration :pre
|
||||
[Description:]
|
||||
|
||||
Define a calculation that "spreads" one or more per-chunk values to
|
||||
each atom in the chunk. This can be useful for creating a "dump
|
||||
file"_dump.html where each atom lists info about the chunk it is in,
|
||||
e.g. for post-processing purposes. It can also be used in "atom-style
|
||||
variables"_variable.html that need info about the chunk each atom is
|
||||
in. Examples are given below.
|
||||
each atom in the chunk. This can be useful in several scenarios:
|
||||
|
||||
For creating a "dump file"_dump.html where each atom lists info about
|
||||
the chunk it is in, e.g. for post-processing purposes. :ulb,l
|
||||
|
||||
To access chunk value in "atom-style variables"_variable.html that
|
||||
need info about the chunk each atom is in. :l
|
||||
|
||||
To use the "fix ave/chunk"_fix_ave_chunk.html command to spatially
|
||||
average per-chunk values calculated by a per-chunk compute. :l,ule
|
||||
|
||||
Examples are given below.
|
||||
|
||||
In LAMMPS, chunks are collections of atoms defined by a "compute
|
||||
chunk/atom"_compute_chunk_atom.html command, which assigns each atom
|
||||
@ -148,6 +155,28 @@ thermo_style custom step etotal press v_ave :pre
|
||||
|
||||
:line
|
||||
|
||||
Here is an example for using one set of chunks, defined for molecules,
|
||||
to compute the dipole moment vector for each chunk. E.g. for water
|
||||
molecules. Then spreading those values to each atom in each chunk.
|
||||
Then defining a second set of chunks based on spatial bins. And
|
||||
finally, using the "fix ave/chunk"_fix_ave_chunk.html command to
|
||||
calculate an average dipole moment vector per spatial bin.
|
||||
|
||||
compute cmol all chunk/atom molecule
|
||||
compute dipole all dipole/chunk cmol
|
||||
compute spread all chunk/spread/atom cmol c_dipole\[1\] c_dipole\[2\] c_dipole\[3\]
|
||||
compute cspatial all chunk/atom bin/1d z lower 0.1 units reduced
|
||||
fix ave all ave/chunk 100 10 1000 cspatial c_spread\[*\] :pre
|
||||
|
||||
Note that the "fix ave/chunk"_fix_ave_chunk.html command requires
|
||||
per-atom values as input. That is why the compute chunk/spread/atom
|
||||
command is used to assign per-chunk values to each atom in the chunk.
|
||||
If a molecule straddles bin boundaries, each of its atoms contributes
|
||||
in a weighted manner to the average dipole moment of the spatial bin
|
||||
it is in.
|
||||
|
||||
:line
|
||||
|
||||
[Output info:]
|
||||
|
||||
This compute calculates a per-atom vector or array, which can be
|
||||
|
||||
@ -47,7 +47,7 @@ neighboring atoms, unless selected by type, type range, or group option,
|
||||
are included in the coordination number tally.
|
||||
|
||||
The optional {group} keyword allows to specify from which group atoms
|
||||
contribute to the coordination number. Default setting is group 'all'.
|
||||
contribute to the coordination number. Default setting is group 'all'.
|
||||
|
||||
The {typeN} keywords allow specification of which atom types
|
||||
contribute to each coordination number. One coordination number is
|
||||
|
||||
184
doc/src/compute_hma.txt
Normal file
@ -0,0 +1,184 @@
|
||||
"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
|
||||
|
||||
compute hma command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID hma temp-ID keyword ... :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command :l
|
||||
hma = style name of this compute command :l
|
||||
temp-ID = ID of fix that specifies the set temperature during canonical simulation :l
|
||||
keyword = {anharmonic} {u} {p Pharm} {cv} :l
|
||||
{anharmonic} = compute will return anharmonic property values
|
||||
{u} = compute will return potential energy
|
||||
{p} = compute will return pressure. the following keyword must be the difference between the harmonic pressure and lattice pressure as described below
|
||||
{cv} = compute will return the heat capacity :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 2 all hma 1 u
|
||||
compute 2 all hma 1 anharmonic u p 0.9
|
||||
compute 2 all hma 1 u cv :pre
|
||||
|
||||
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates the properties of a solid (potential
|
||||
energy, pressure or heat capacity), using the harmonically-mapped averaging
|
||||
(HMA) method.
|
||||
This command yields much higher precision than the equivalent compute commands
|
||||
("compute pe"_compute_pe.html, "compute pressure"_compute_pressure.html, etc.)
|
||||
commands during a canonical simulation of an atomic crystal. Specifically,
|
||||
near melting HMA can yield averages of a given precision an order of magnitude
|
||||
faster than conventional methods, and this only improves as the temperatures is
|
||||
lowered. This is particularly important for evaluating the free energy by
|
||||
thermodynamic integration, where the low-temperature contributions are the
|
||||
greatest source of statistical uncertainty. Moreover, HMA has other
|
||||
advantages, including smaller potential-truncation effects, finite-size
|
||||
effects, smaller timestep inaccuracy, faster equilibration and shorter
|
||||
decorrelation time.
|
||||
|
||||
HMA should not be used if atoms are expected to diffuse. It is also
|
||||
restricted to simulations in the NVT ensemble. While this compute may be
|
||||
used with any potential in LAMMPS, it will provide inaccurate results
|
||||
for potentials that do not go to 0 at the truncation distance;
|
||||
"pair_lj_smooth_linear"_pair_lj_smooth_linear.html and Ewald summation should
|
||||
work fine, while "pair_lj"_pair_lj.html will perform poorly unless
|
||||
the potential is shifted (via "pair_modify"_pair_modify.html shift) or the cutoff is large. Furthermore, computation of the heat capacity with
|
||||
this compute is restricted to those that implement the single_hessian method
|
||||
in Pair. Implementing single_hessian in additional pair styles is simple.
|
||||
Please contact Andrew Schultz (ajs42 at buffalo.edu) and David Kofke (kofke at
|
||||
buffalo.edu) if your desired pair style does not have this method. This is
|
||||
the list of pair styles that currently implement pair_hessian:
|
||||
|
||||
"lj_smooth_linear"_pair_lj_smooth_linear.html :l
|
||||
:ule
|
||||
|
||||
In this method, the analytically known harmonic behavior of a crystal is removed from the traditional ensemble
|
||||
averages, which leads to an accurate and precise measurement of the anharmonic contributions without contamination
|
||||
by noise produced by the already-known harmonic behavior.
|
||||
A detailed description of this method can be found in ("Moustafa"_#hma-Moustafa). The potential energy is computed by the formula:
|
||||
|
||||
\begin\{equation\}
|
||||
\left< U\right>_\{HMA\} = \frac\{d\}\{2\} (N-1) k_B T + \left< U + \frac\{1\}\{2\} F\bullet\Delta r \right>
|
||||
\end\{equation\}
|
||||
|
||||
where \(N\) is the number of atoms in the system, \(k_B\) is Boltzmann's
|
||||
constant, \(T\) is the temperature, \(d\) is the
|
||||
dimensionality of the system (2 or 3 for 2d/3d), \(F\bullet\Delta r\) is the sum of dot products of the
|
||||
atomic force vectors and displacement (from lattice sites) vectors, and \(U\) is the sum of
|
||||
pair, bond, angle, dihedral, improper, kspace (long-range), and fix energies.
|
||||
|
||||
The pressure is computed by the formula:
|
||||
|
||||
\begin\{equation\}
|
||||
\left< P\right>_\{HMA\} = \Delta \hat P + \left< P_\{vir\} + \frac\{\beta \Delta \hat P - \rho\}\{d(N-1)\} F\bullet\Delta r \right>
|
||||
\end\{equation\}
|
||||
|
||||
where \(\rho\) is the number density of the system, \(\Delta \hat P\) is the
|
||||
difference between the harmonic and lattice pressure, \(P_\{vir\}\) is
|
||||
the virial pressure computed as the sum of pair, bond, angle, dihedral,
|
||||
improper, kspace (long-range), and fix contributions to the force on each
|
||||
atom, and \(k_B=1/k_B T\). Although the method will work for any value of \(\Delta \hat P\)
|
||||
specified (use pressure "units"_units.html), the precision of the resultant
|
||||
pressure is sensitive to \(\Delta \hat P\); the precision tends to be
|
||||
best when \(\Delta \hat P\) is the actual the difference between the lattice
|
||||
pressure and harmonic pressure.
|
||||
|
||||
\begin\{equation\}
|
||||
\left<C_V \right>_\{HMA\} = \frac\{d\}\{2\} (N-1) k_B + \frac\{1\}\{k_B T^2\} \left( \left<
|
||||
U_\{HMA\}^2 \right> - \left<U_\{HMA\}\right>^2 \right) + \frac\{1\}\{4 T\}
|
||||
\left< F\bullet\Delta r + \Delta r \bullet \Phi \bullet \Delta r \right>
|
||||
\end\{equation\}
|
||||
|
||||
where \(\Phi\) is the Hessian matrix. The compute hma command
|
||||
computes the full expression for \(C_V\) except for the
|
||||
\(\left<U_\{HMA\}^2\right>^2\) in the variance term, which can be obtained by
|
||||
passing the {u} keyword; you must add this extra contribution to the \(C_V\)
|
||||
value reported by this compute. The variance term can cause significant
|
||||
round-off error when computing \(C_V\). To address this, the {anharmonic}
|
||||
keyword can be passed and/or the output format can be specified with more
|
||||
digits.
|
||||
|
||||
thermo_modify format float '%22.15e' :pre
|
||||
|
||||
The {anharmonic} keyword will instruct the compute to return anharmonic
|
||||
properties rather than the full properties, which include lattice, harmonic
|
||||
and anharmonic contributions.
|
||||
When using this keyword, the compute must be first active (it must be included
|
||||
via a "thermo_style custom"_thermo_style.html command) while the atoms are
|
||||
still at their lattice sites (before equilibration).
|
||||
|
||||
The temp-ID specified with compute hma command should be same as the fix-ID of Nose-Hoover ("fix nvt"_fix_nh.html) or
|
||||
Berendsen ("fix temp/berendsen"_fix_temp_berendsen.html) thermostat used for the simulation. While using this command, Langevin thermostat
|
||||
("fix langevin"_fix_langevin.html)
|
||||
should be avoided as its extra forces interfere with the HMA implementation.
|
||||
|
||||
|
||||
|
||||
NOTE: Compute hma command should be used right after the energy minimization, when the atoms are at their lattice sites.
|
||||
The simulation should not be started before this command has been used in the input script.
|
||||
|
||||
|
||||
The following example illustrates the placement of this command in the input script:
|
||||
|
||||
|
||||
min_style cg
|
||||
minimize 1e-35 1e-15 50000 500000
|
||||
compute 1 all hma thermostatid u
|
||||
fix thermostatid all nvt temp 600.0 600.0 100.0 :pre
|
||||
|
||||
|
||||
|
||||
NOTE: Compute hma should be used when the atoms of the solid do not diffuse. Diffusion will reduce the precision in the potential energy computation.
|
||||
|
||||
|
||||
NOTE: The "fix_modify energy yes"_fix_modify.html command must also be specified if a fix is to contribute potential energy to this command.
|
||||
|
||||
An example input script that uses this compute is included in
|
||||
examples/USER/hma/ along with corresponding LAMMPS output showing that the HMA
|
||||
properties fluctuate less than the corresponding conventional properties.
|
||||
|
||||
[Output info:]
|
||||
|
||||
This compute calculates a global vector that includes the n properties
|
||||
requested as arguments to the command (the potential energy, pressure and/or heat
|
||||
capacity). The elements of the vector can be accessed by indices 1-n by any
|
||||
command that uses global vector values as input. See the "Howto
|
||||
output"_Howto_output.html doc page for an overview of LAMMPS output options.
|
||||
|
||||
The vector values calculated by this compute are "extensive". The
|
||||
scalar value will be in energy "units"_units.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This compute is part of the USER-MISC package. It is enabled only
|
||||
if LAMMPS was built with that package. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
|
||||
Usage restricted to canonical (NVT) ensemble simulation only.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"compute pe"_compute_pe.html, "compute pressure"_compute_pressure.html
|
||||
|
||||
"dynamical matrix"_dynamical_matrix.html provides a finite difference
|
||||
formulation of the hessian provided by Pair's single_hessian, which is used by
|
||||
this compute.
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(hma-Moustafa)
|
||||
[(Moustafa)] Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, {Very fast averaging of thermal properties of crystals by molecular simulation},
|
||||
"Phys. Rev. E \[92\], 043303 (2015)"_https://link.aps.org/doi/10.1103/PhysRevE.92.043303
|
||||
@ -19,6 +19,8 @@ keyword = {cutoff} or {nnn} or {degrees} or {components}
|
||||
{cutoff} value = distance cutoff
|
||||
{nnn} value = number of nearest neighbors
|
||||
{degrees} values = nlvalues, l1, l2,...
|
||||
{wl} value = yes or no
|
||||
{wl/hat} value = yes or no
|
||||
{components} value = ldegree :pre
|
||||
|
||||
:ule
|
||||
@ -27,7 +29,8 @@ keyword = {cutoff} or {nnn} or {degrees} or {components}
|
||||
|
||||
compute 1 all orientorder/atom
|
||||
compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5
|
||||
compute 1 all orientorder/atom degrees 4 6 components 6 nnn NULL cutoff 3.0 :pre
|
||||
compute 1 all orientorder/atom wl/hat yes
|
||||
compute 1 all orientorder/atom components 6 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -48,7 +51,7 @@ neighbors of the central atom.
|
||||
The angles theta and phi are the standard spherical polar angles
|
||||
defining the direction of the bond vector {rij}.
|
||||
The second equation defines {Ql}, which is a
|
||||
rotationally invariant scalar quantity obtained by summing
|
||||
rotationally invariant non-negative amplitude obtained by summing
|
||||
over all the components of degree {l}.
|
||||
|
||||
The optional keyword {cutoff} defines the distance cutoff
|
||||
@ -63,7 +66,7 @@ specified distance cutoff are used.
|
||||
|
||||
The optional keyword {degrees} defines the list of order parameters to
|
||||
be computed. The first argument {nlvalues} is the number of order
|
||||
parameters. This is followed by that number of integers giving the
|
||||
parameters. This is followed by that number of non-negative integers giving the
|
||||
degree of each order parameter. Because {Q}2 and all odd-degree order
|
||||
parameters are zero for atoms in cubic crystals (see
|
||||
"Steinhardt"_#Steinhardt), the default order parameters are {Q}4,
|
||||
@ -71,7 +74,20 @@ parameters are zero for atoms in cubic crystals (see
|
||||
= sqrt(7/3)/8 = 0.19094.... The numerical values of all order
|
||||
parameters up to {Q}12 for a range of commonly encountered
|
||||
high-symmetry structures are given in Table I of "Mickel et
|
||||
al."_#Mickel.
|
||||
al."_#Mickel, and these can be reproduced with this compute
|
||||
|
||||
The optional keyword {wl} will output the third-order invariants {Wl}
|
||||
(see Eq. 1.4 in "Steinhardt"_#Steinhardt) for the same degrees as
|
||||
for the {Ql} parameters. For the FCC crystal with {nnn} =12,
|
||||
{W}4 = -sqrt(14/143).(49/4096)/Pi^1.5 = -0.0006722136...
|
||||
|
||||
The optional keyword {wl/hat} will output the normalized third-order
|
||||
invariants {Wlhat} (see Eq. 2.2 in "Steinhardt"_#Steinhardt)
|
||||
for the same degrees as for the {Ql} parameters. For the FCC crystal
|
||||
with {nnn} =12, {W}4hat = -7/3*sqrt(2/429) = -0.159317...The numerical
|
||||
values of {Wlhat} for a range of commonly encountered high-symmetry
|
||||
structures are given in Table I of "Steinhardt"_#Steinhardt, and these
|
||||
can be reproduced with this keyword.
|
||||
|
||||
The optional keyword {components} will output the components of the
|
||||
normalized complex vector {Ybar_lm} of degree {ldegree}, which must be
|
||||
@ -82,7 +98,7 @@ particles, as discussed in "ten Wolde"_#tenWolde2.
|
||||
|
||||
The value of {Ql} is set to zero for atoms not in the
|
||||
specified compute group, as well as for atoms that have less than
|
||||
{nnn} neighbors within the distance cutoff.
|
||||
{nnn} neighbors within the distance cutoff, unless {nnn} is NULL.
|
||||
|
||||
The neighbor list needed to compute this quantity is constructed each
|
||||
time the calculation is performed (i.e. each time a snapshot of atoms
|
||||
@ -108,6 +124,12 @@ This compute calculates a per-atom array with {nlvalues} columns,
|
||||
giving the {Ql} values for each atom, which are real numbers on the
|
||||
range 0 <= {Ql} <= 1.
|
||||
|
||||
If the keyword {wl} is set to yes, then the {Wl} values for each
|
||||
atom will be added to the output array, which are real numbers.
|
||||
|
||||
If the keyword {wl/hat} is set to yes, then the {Wl_hat}
|
||||
values for each atom will be added to the output array, which are real numbers.
|
||||
|
||||
If the keyword {components} is set, then the real and imaginary parts
|
||||
of each component of (normalized) {Ybar_lm} will be added to the
|
||||
output array in the following order: Re({Ybar_-m}) Im({Ybar_-m})
|
||||
@ -130,7 +152,8 @@ hexorder/atom"_compute_hexorder_atom.html
|
||||
[Default:]
|
||||
|
||||
The option defaults are {cutoff} = pair style cutoff, {nnn} = 12,
|
||||
{degrees} = 5 4 6 8 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12.
|
||||
{degrees} = 5 4 6 8 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12,
|
||||
{wl} = no, {wl/hat} = no, and {components} off
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -64,6 +64,23 @@ which calculate the tangential force between two particles and return
|
||||
its components and magnitude acting on atom I for N = 1,2,3,4. See
|
||||
individual pair styles for details.
|
||||
|
||||
When using {pN} with pair style {hybrid}, the output will be the Nth
|
||||
quantity from the sub-style that computes the pairwise interaction
|
||||
(based on atom types). If that sub-style does not define a {pN},
|
||||
the output will be 0.0. The maximum allowed N is the maximum number
|
||||
of quantities provided by any sub-style.
|
||||
|
||||
When using {pN} with pair style {hybrid/overlay} the quantities
|
||||
from all sub-styles that provide them are concatenated together
|
||||
into one long list. For example, if there are 3 sub-styles and
|
||||
2 of them have additional output (with 3 and 4 quantities,
|
||||
respectively), then 7 values ({p1} up to {p7}) are defined.
|
||||
The values {p1} to {p3} refer to quantities defined by the first
|
||||
of the two sub-styles. Values {p4} to {p7} refer to quantities
|
||||
from the second of the two sub-styles. If the referenced {pN}
|
||||
is not computed for the specific pairwise interaction (based on
|
||||
atom types), then the output will be 0.0.
|
||||
|
||||
The value {dist} will be in distance "units"_units.html. The value
|
||||
{eng} will be in energy "units"_units.html. The values {force}, {fx},
|
||||
{fy}, and {fz} will be in force "units"_units.html. The values {pN}
|
||||
@ -126,7 +143,7 @@ options.
|
||||
The output for {dist} will be in distance "units"_units.html. The
|
||||
output for {eng} will be in energy "units"_units.html. The output for
|
||||
{force}, {fx}, {fy}, and {fz} will be in force "units"_units.html.
|
||||
The outpur for {pN} will be in whatever units the pair style defines.
|
||||
The output for {pN} will be in whatever units the pair style defines.
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
|
||||
@ -196,7 +196,7 @@ for j1 in range(0,twojmax+1):
|
||||
if (j>=j1): print j1/2.,j2/2.,j/2. :pre
|
||||
|
||||
NOTE: the {diagonal} keyword allowing other possible choices
|
||||
for the number of bispectrum components was removed in 2019,
|
||||
for the number of bispectrum components was removed in 2019,
|
||||
since all potentials use the value of 3, corresponding to the
|
||||
above set of bispectrum components.
|
||||
|
||||
|
||||
@ -40,14 +40,14 @@ The simplest way to output the results of the compute spin calculation
|
||||
is to define some of the quantities as variables, and to use the thermo and
|
||||
thermo_style commands, for example:
|
||||
|
||||
compute out_mag all spin :pre
|
||||
compute out_mag all spin :pre
|
||||
|
||||
variable mag_z equal c_out_mag\[3\]
|
||||
variable mag_norm equal c_out_mag\[4\]
|
||||
variable temp_mag equal c_out_mag\[6\] :pre
|
||||
variable mag_z equal c_out_mag\[3\]
|
||||
variable mag_norm equal c_out_mag\[4\]
|
||||
variable temp_mag equal c_out_mag\[6\] :pre
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step v_mag_z v_mag_norm v_temp_mag :pre
|
||||
thermo 10
|
||||
thermo_style custom step v_mag_z v_mag_norm v_temp_mag :pre
|
||||
|
||||
This series of commands evaluates the total magnetization along z, the norm of
|
||||
the total magnetization, and the magnetic temperature. Three variables are
|
||||
|
||||
@ -47,6 +47,7 @@ Computes :h1
|
||||
compute_gyration_shape
|
||||
compute_heat_flux
|
||||
compute_hexorder_atom
|
||||
compute_hma
|
||||
compute_improper
|
||||
compute_improper_local
|
||||
compute_inertia_chunk
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
dihedral_style harmonic command :h3
|
||||
dihedral_style harmonic/intel command :h3
|
||||
dihedral_style harmonic/kk command :h3
|
||||
dihedral_style harmonic/omp command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
@ -21,7 +21,8 @@ dump ID group-ID style N file args :pre
|
||||
|
||||
ID = user-assigned name for the dump :ulb,l
|
||||
group-ID = ID of the group of atoms to be dumped :l
|
||||
style = {atom} or {atom/gz} or {atom/mpiio} or {cfg} or {cfg/gz} or {cfg/mpiio} or {custom} or {custom/gz} or {custom/mpiio} or {dcd} or {h5md} or {image} or {local} or {molfile} or {movie} or {netcdf} or {netcdf/mpiio} or {vtk} or {xtc} or {xyz} or {xyz/gz} or {xyz/mpiio} :l
|
||||
style = {atom} or {atom/gz} or {atom/mpiio} or {cfg} or {cfg/gz} or
|
||||
{cfg/mpiio} or {custom} or {custom/gz} or {custom/mpiio} or {dcd} or {h5md} or {image} or {local} or {local/gz} or {molfile} or {movie} or {netcdf} or {netcdf/mpiio} or {vtk} or {xtc} or {xyz} or {xyz/gz} or {xyz/mpiio} :l
|
||||
N = dump every this many timesteps :l
|
||||
file = name of file to write dump info to :l
|
||||
args = list of arguments for a particular style :l
|
||||
|
||||
@ -50,6 +50,7 @@ keyword = {append} or {at} or {buffer} or {delay} or {element} or {every} or {fi
|
||||
{sfactor} arg = coordinate scaling factor (> 0.0)
|
||||
{thermo} arg = {yes} or {no}
|
||||
{tfactor} arg = time scaling factor (> 0.0)
|
||||
{units} arg = {yes} or {no}
|
||||
{sort} arg = {off} or {id} or N or -N
|
||||
off = no sorting of per-atom lines within a snapshot
|
||||
id = sort per-atom lines by atom ID
|
||||
@ -620,6 +621,21 @@ threshold criterion is met. Otherwise it is not met.
|
||||
|
||||
:line
|
||||
|
||||
The {units} keyword only applies to the dump {atom}, {custom}, and
|
||||
{local} styles (and their COMPRESS package versions {atom/gz},
|
||||
{custom/gz} and {local/gz}). If set to {yes}, each individual dump
|
||||
file will contain two extra lines at the very beginning with:
|
||||
|
||||
ITEM: UNITS
|
||||
\<units style\> :pre
|
||||
|
||||
This will output the current selected "units"_units.html style
|
||||
to the dump file and thus allows visualization and post-processing
|
||||
tools to determine the choice of units of the data in the dump file.
|
||||
The default setting is {no}.
|
||||
|
||||
:line
|
||||
|
||||
The {unwrap} keyword only applies to the dump {dcd} and {xtc} styles.
|
||||
If set to {yes}, coordinates will be written "unwrapped" by the image
|
||||
flags for each atom. Unwrapped means that if the atom has passed through
|
||||
@ -924,6 +940,7 @@ scale = yes
|
||||
sort = off for dump styles {atom}, {custom}, {cfg}, and {local}
|
||||
sort = id for dump styles {dcd}, {xtc}, and {xyz}
|
||||
thresh = none
|
||||
units = no
|
||||
unwrap = no :ul
|
||||
|
||||
acolor = * red/green/blue/yellow/aqua/cyan
|
||||
|
||||
@ -47,6 +47,9 @@ package"_Build_package.html doc page for more info.
|
||||
|
||||
"fix phonon"_fix_phonon.html
|
||||
|
||||
"compute hma"_compute_hma.html uses an analytic formulation of the hessian
|
||||
provided by Pair's single_hessian.
|
||||
|
||||
[Default:]
|
||||
|
||||
The default settings are file = "dynmat.dyn", binary = no
|
||||
The default settings are file = "dynmat.dyn", binary = no
|
||||
|
||||
@ -221,7 +221,7 @@ accelerated styles exist.
|
||||
"heat"_fix_heat.html - add/subtract momentum-conserving heat
|
||||
"hyper/global"_fix_hyper_global.html - global hyperdynamics
|
||||
"hyper/local"_fix_hyper_local.html - local hyperdynamics
|
||||
"imd"_fix_imd.html - implements the “Interactive MD” (IMD) protocol
|
||||
"imd"_fix_imd.html - implements the “Interactive MD” (IMD) protocol
|
||||
"indent"_fix_indent.html - impose force due to an indenter
|
||||
"ipi"_fix_ipi.html - enable LAMMPS to run as a client for i-PI path-integral simulations
|
||||
"langevin"_fix_langevin.html - Langevin temperature control
|
||||
@ -244,7 +244,7 @@ accelerated styles exist.
|
||||
"mscg"_fix_mscg.html - apply MSCG method for force-matching to generate coarse grain models
|
||||
"msst"_fix_msst.html - multi-scale shock technique (MSST) integration
|
||||
"mvv/dpd"_fix_mvv_dpd.html - DPD using the modified velocity-Verlet integration algorithm
|
||||
"mvv/edpd"_fix_mvv_dpd.html - constant energy DPD using the modified velocity-Verlet algrithm
|
||||
"mvv/edpd"_fix_mvv_dpd.html - constant energy DPD using the modified velocity-Verlet algorithm
|
||||
"mvv/tdpd"_fix_mvv_dpd.html - constant temperature DPD using the modified velocity-Verlet algorithm
|
||||
"neb"_fix_neb.html - nudged elastic band (NEB) spring forces
|
||||
"nph"_fix_nh.html - constant NPH time integration via Nose/Hoover
|
||||
@ -327,7 +327,7 @@ accelerated styles exist.
|
||||
"rigid/nvt/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVT integration
|
||||
"rigid/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVE integration
|
||||
"rx"_fix_rx.html -
|
||||
"saed/vtk"_fix_saed_vtk.html -
|
||||
"saed/vtk"_fix_saed_vtk.html -
|
||||
"setforce"_fix_setforce.html - set the force on each atom
|
||||
"shake"_fix_shake.html - SHAKE constraints on bonds and/or angles
|
||||
"shardlow"_fix_shardlow.html - integration of DPD equations of motion using the Shardlow splitting
|
||||
@ -371,6 +371,7 @@ accelerated styles exist.
|
||||
"wall/lj1043"_fix_wall.html - Lennard-Jones 10-4-3 wall
|
||||
"wall/lj126"_fix_wall.html - Lennard-Jones 12-6 wall
|
||||
"wall/lj93"_fix_wall.html - Lennard-Jones 9-3 wall
|
||||
"wall/morse"_fix_wall.html - Morse potential wall
|
||||
"wall/piston"_fix_wall_piston.html - moving reflective piston wall
|
||||
"wall/reflect"_fix_wall_reflect.html - reflecting wall(s)
|
||||
"wall/region"_fix_wall_region.html - use region surface as wall
|
||||
|
||||
@ -186,20 +186,25 @@ reacting atoms.
|
||||
|
||||
Some atoms in the pre-reacted template that are not reacting may have
|
||||
missing topology with respect to the simulation. For example, the
|
||||
pre-reacted template may contain an atom that would connect to the
|
||||
rest of a long polymer chain. These are referred to as edge atoms, and
|
||||
are also specified in the map file. When the pre-reaction template
|
||||
contains edge atoms, not all atoms, bonds, charges, etc. specified in
|
||||
the reaction templates will be updated. Specifically, topology that
|
||||
involves only atoms that are 'too near' to template edges will not be
|
||||
updated. The definition of 'too near the edge' depends on which
|
||||
interactions are defined in the simulation. If the simulation has
|
||||
defined dihedrals, atoms within two bonds of edge atoms are considered
|
||||
'too near the edge.' If the simulation defines angles, but not
|
||||
dihedrals, atoms within one bond of edge atoms are considered 'too
|
||||
near the edge.' If just bonds are defined, only edge atoms are
|
||||
pre-reacted template may contain an atom that, in the simulation, is
|
||||
currently connected to the rest of a long polymer chain. These are
|
||||
referred to as edge atoms, and are also specified in the map file. All
|
||||
pre-reaction template atoms should be linked to a bonding atom, via at
|
||||
least one path that does not involve edge atoms. When the pre-reaction
|
||||
template contains edge atoms, not all atoms, bonds, charges, etc.
|
||||
specified in the reaction templates will be updated. Specifically,
|
||||
topology that involves only atoms that are 'too near' to template
|
||||
edges will not be updated. The definition of 'too near the edge'
|
||||
depends on which interactions are defined in the simulation. If the
|
||||
simulation has defined dihedrals, atoms within two bonds of edge atoms
|
||||
are considered 'too near the edge.' If the simulation defines angles,
|
||||
but not dihedrals, atoms within one bond of edge atoms are considered
|
||||
'too near the edge.' If just bonds are defined, only edge atoms are
|
||||
considered 'too near the edge.'
|
||||
|
||||
NOTE: Small molecules, i.e. ones that have all their atoms contained
|
||||
within the reaction templates, never have edge atoms.
|
||||
|
||||
Note that some care must be taken when a building a molecule template
|
||||
for a given simulation. All atom types in the pre-reacted template
|
||||
must be the same as those of a potential reaction site in the
|
||||
@ -392,10 +397,11 @@ local command.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information about this fix is written to "binary restart
|
||||
files"_restart.html, aside from internally-created per-atom
|
||||
properties. None of the "fix_modify"_fix_modify.html options are
|
||||
relevant to this fix.
|
||||
Cumulative reaction counts for each reaction are written to "binary
|
||||
restart files"_restart.html. These values are associated with the
|
||||
reaction name (react-ID). Additionally, internally-created per-atom
|
||||
properties are stored to allow for smooth restarts. None of the
|
||||
"fix_modify"_fix_modify.html options are relevant to this fix.
|
||||
|
||||
This fix computes one statistic for each {react} argument that it
|
||||
stores in a global vector, of length 'number of react arguments', that
|
||||
@ -406,8 +412,8 @@ These is 1 quantity for each react argument:
|
||||
|
||||
(1) cumulative # of reactions occurred :ul
|
||||
|
||||
No parameter of this fix can be used with the {start/stop} keywords of
|
||||
the "run"_run.html command. This fix is not invoked during "energy
|
||||
No parameter of this fix can be used with the {start/stop} keywords
|
||||
of the "run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
|
||||
When fix bond/react is 'unfixed,' all internally-created groups are
|
||||
@ -417,18 +423,20 @@ all other fixes that use any group created by fix bond/react.
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
LAMMPS was built with that package. See the
|
||||
"Build package"_Build_package.html doc page for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix bond/create"_fix_bond_create.html, "fix
|
||||
bond/break"_fix_bond_break.html, "fix bond/swap"_fix_bond_swap.html,
|
||||
"fix bond/create"_fix_bond_create.html,
|
||||
"fix bond/break"_fix_bond_break.html,
|
||||
"fix bond/swap"_fix_bond_swap.html,
|
||||
"dump local"_dump.html, "special_bonds"_special_bonds.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60, update_edges = none
|
||||
The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60,
|
||||
update_edges = none
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -31,7 +31,6 @@ cvar = name of control variable :l
|
||||
|
||||
[Examples:]
|
||||
|
||||
|
||||
fix 1 all controller 100 1.0 0.5 0.0 0.0 c_thermo_temp 1.5 tcontrol
|
||||
fix 1 all controller 100 0.2 0.5 0 100.0 v_pxxwall 1.01325 xwall
|
||||
fix 1 all controller 10000 0.2 0.5 0 2000 v_avpe -3.785 tcontrol :pre
|
||||
|
||||
@ -24,18 +24,18 @@ fix 1 active neb/spin 1.0
|
||||
[Description:]
|
||||
|
||||
Add nudging forces to spins in the group for a multi-replica
|
||||
simulation run via the "neb/spin"_neb_spin.html command to perform a
|
||||
geodesic nudged elastic band (GNEB) calculation for finding the
|
||||
simulation run via the "neb/spin"_neb_spin.html command to perform a
|
||||
geodesic nudged elastic band (GNEB) calculation for finding the
|
||||
transition state.
|
||||
Hi-level explanations of GNEB are given with the
|
||||
"neb/spin"_neb_spin.html command and on the
|
||||
"Howto replica"_Howto_replica.html doc page.
|
||||
The fix neb/spin command must be used with the "neb/spin" command and
|
||||
defines how inter-replica nudging forces are computed. A GNEB
|
||||
calculation is divided in two stages. In the first stage n replicas
|
||||
are relaxed toward a MEP until convergence. In the second stage, the
|
||||
climbing image scheme is enabled, so that the replica having the highest
|
||||
energy relaxes toward the saddle point (i.e. the point of highest energy
|
||||
Hi-level explanations of GNEB are given with the
|
||||
"neb/spin"_neb_spin.html command and on the
|
||||
"Howto replica"_Howto_replica.html doc page.
|
||||
The fix neb/spin command must be used with the "neb/spin" command and
|
||||
defines how inter-replica nudging forces are computed. A GNEB
|
||||
calculation is divided in two stages. In the first stage n replicas
|
||||
are relaxed toward a MEP until convergence. In the second stage, the
|
||||
climbing image scheme is enabled, so that the replica having the highest
|
||||
energy relaxes toward the saddle point (i.e. the point of highest energy
|
||||
along the MEP), and a second relaxation is performed.
|
||||
|
||||
The nudging forces are calculated as explained in
|
||||
|
||||
@ -21,7 +21,7 @@ style = {zeeman} or {anisotropy} or {cubic} :l
|
||||
{anisotropy} args = K x y z
|
||||
K = intensity of the magnetic anisotropy (in eV)
|
||||
x y z = vector direction of the anisotropy :pre
|
||||
{cubic} args = K1 K2c n1x n1y n1x n2x n2y n2z n3x n3y n3z
|
||||
{cubic} args = K1 K2c n1x n1y n1x n2x n2y n2z n3x n3y n3z
|
||||
K1 and K2c = intensity of the magnetic anisotropy (in eV)
|
||||
n1x to n3z = three direction vectors of the cubic anisotropy :pre
|
||||
:ule
|
||||
@ -55,24 +55,24 @@ with n defining the direction of the anisotropy, and K (in eV) its intensity.
|
||||
If K>0, an easy axis is defined, and if K<0, an easy plane is defined.
|
||||
|
||||
Style {cubic} is used to simulate a cubic anisotropy, with three
|
||||
possible easy axis for the magnetic spins in the defined group:
|
||||
possible easy axis for the magnetic spins in the defined group:
|
||||
|
||||
:c,image(Eqs/fix_spin_cubic.jpg)
|
||||
|
||||
with K1 and K2c (in eV) the intensity coefficients and
|
||||
with K1 and K2c (in eV) the intensity coefficients and
|
||||
n1, n2 and n3 defining the three anisotropic directions
|
||||
defined by the command (from n1x to n3z).
|
||||
For n1 = (100), n2 = (010), and n3 = (001), K1 < 0 defines an
|
||||
defined by the command (from n1x to n3z).
|
||||
For n1 = (100), n2 = (010), and n3 = (001), K1 < 0 defines an
|
||||
iron type anisotropy (easy axis along the (001)-type cube
|
||||
edges), and K1 > 0 defines a nickel type anisotropy (easy axis
|
||||
along the (111)-type cube diagonals).
|
||||
along the (111)-type cube diagonals).
|
||||
K2^c > 0 also defines easy axis along the (111)-type cube
|
||||
diagonals.
|
||||
See chapter 2 of "(Skomski)"_#Skomski1 for more details on cubic
|
||||
anisotropies.
|
||||
|
||||
In all cases, the choice of (x y z) only imposes the vector
|
||||
directions for the forces. Only the direction of the vector is
|
||||
directions for the forces. Only the direction of the vector is
|
||||
important; it's length is ignored (the entered vectors are
|
||||
normalized).
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ fix 1 rods rigid/meso molecule
|
||||
fix 1 spheres rigid/meso single force 1 off off on
|
||||
fix 1 particles rigid/meso molecule force 1*5 off off off force 6*10 off off on
|
||||
fix 2 spheres rigid/meso group 3 sphere1 sphere2 sphere3 torque * off off off :pre
|
||||
|
||||
|
||||
[Description:]
|
||||
|
||||
Treat one or more sets of mesoscopic SPH/SDPD particles as independent
|
||||
|
||||
@ -67,15 +67,15 @@ to it.
|
||||
|
||||
:line
|
||||
|
||||
Style {spin} suffix sets the components of the magnetic precession
|
||||
vectors instead of the mechanical forces. This also erases all
|
||||
previously computed magnetic precession vectors on the atom, though
|
||||
Style {spin} suffix sets the components of the magnetic precession
|
||||
vectors instead of the mechanical forces. This also erases all
|
||||
previously computed magnetic precession vectors on the atom, though
|
||||
additional magnetic fixes could add new forces.
|
||||
|
||||
This command can be used to freeze the magnetic moment of certain
|
||||
atoms in the simulation by zeroing their precession vector.
|
||||
This command can be used to freeze the magnetic moment of certain
|
||||
atoms in the simulation by zeroing their precession vector.
|
||||
|
||||
All options defined above remain valid, they just apply to the magnetic
|
||||
All options defined above remain valid, they just apply to the magnetic
|
||||
precession vectors instead of the forces.
|
||||
|
||||
:line
|
||||
@ -132,7 +132,7 @@ forces to any value besides zero when performing a minimization. Use
|
||||
the "fix addforce"_fix_addforce.html command if you want to apply a
|
||||
non-zero force to atoms during a minimization.
|
||||
|
||||
[Restrictions:]
|
||||
[Restrictions:]
|
||||
|
||||
The fix {setforce/spin} only makes sense when LAMMPS was built with the
|
||||
SPIN package.
|
||||
|
||||
@ -12,16 +12,18 @@ fix wall/lj126 command :h3
|
||||
fix wall/lj1043 command :h3
|
||||
fix wall/colloid command :h3
|
||||
fix wall/harmonic command :h3
|
||||
fix wall/morse command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID style face args ... keyword value ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
style = {wall/lj93} or {wall/lj126} or {wall/lj1043} or {wall/colloid} or {wall/harmonic} :l
|
||||
style = {wall/lj93} or {wall/lj126} or {wall/lj1043} or {wall/colloid} or {wall/harmonic} or {wall/morse} :l
|
||||
one or more face/arg pairs may be appended :l
|
||||
face = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} :l
|
||||
args = coord epsilon sigma cutoff
|
||||
args for styles {lj93} or {lj126} or {lj1043} or {colloid} or {harmonic} :l
|
||||
args = coord epsilon sigma cutoff
|
||||
coord = position of wall = EDGE or constant or variable
|
||||
EDGE = current lo or hi edge of simulation box
|
||||
constant = number like 0.0 or -30.0 (distance units)
|
||||
@ -31,6 +33,19 @@ face = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} :l
|
||||
sigma = size factor for wall-particle interaction (distance units)
|
||||
sigma can be a variable (see below)
|
||||
cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :pre
|
||||
args for style {morse} :l
|
||||
args = coord D_0 alpha r_0 cutoff
|
||||
coord = position of wall = EDGE or constant or variable
|
||||
EDGE = current lo or hi edge of simulation box
|
||||
constant = number like 0.0 or -30.0 (distance units)
|
||||
variable = "equal-style variable"_variable.html like v_x or v_wiggle
|
||||
D_0 = depth of the potential (energy units)
|
||||
D_0 can be a variable (see below)
|
||||
alpha = width factor for wall-particle interaction (1/distance units)
|
||||
alpha can be a variable (see below)
|
||||
r_0 = distance of the potential minimum from the face of region (distance units)
|
||||
r_0 can be a variable (see below)
|
||||
cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :pre
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {units} or {fld} :l
|
||||
{units} value = {lattice} or {box}
|
||||
@ -48,6 +63,7 @@ keyword = {units} or {fld} :l
|
||||
|
||||
fix wallhi all wall/lj93 xlo -1.0 1.0 1.0 2.5 units box
|
||||
fix wallhi all wall/lj93 xhi EDGE 1.0 1.0 2.5
|
||||
fix wallhi all wall/morse xhi EDGE 1.0 1.0 1.0 2.5 units box
|
||||
fix wallhi all wall/lj126 v_wiggle 23.2 1.0 1.0 2.5
|
||||
fix zwalls all wall/colloid zlo 0.0 1.0 1.0 0.858 zhi 40.0 1.0 1.0 0.858 :pre
|
||||
|
||||
@ -80,6 +96,10 @@ potential:
|
||||
|
||||
:c,image(Eqs/fix_wall_harmonic.jpg)
|
||||
|
||||
For style {wall/morse}, the energy E is given by a Morse potential:
|
||||
|
||||
:c,image(Eqs/pair_morse.jpg)
|
||||
|
||||
In all cases, {r} is the distance from the particle to the wall at
|
||||
position {coord}, and Rc is the {cutoff} distance at which the
|
||||
particle and wall no longer interact. The energy of the wall
|
||||
@ -147,7 +167,13 @@ constant K, and has units (energy/distance^2). The input parameter
|
||||
spring is at the {cutoff}. This is a repulsive-only spring since the
|
||||
interaction is truncated at the {cutoff}
|
||||
|
||||
For any wall, the {epsilon} and/or {sigma} parameter can be specified
|
||||
For the {wall/morse} style, the three parameters are in this order:
|
||||
{D_0} the depth of the potential, {alpha} the width parameter, and
|
||||
{r_0} the location of the minimum. {D_0} has energy units, {alpha}
|
||||
inverse distance units, and {r_0} distance units.
|
||||
|
||||
For any wall, the {epsilon} and/or {sigma} and/or {alpha} parameter can
|
||||
be specified
|
||||
as an "equal-style variable"_variable.html, in which case it should be
|
||||
specified as v_name, where name is the variable name. As with a
|
||||
variable wall position, the variable is evaluated each timestep and
|
||||
|
||||
@ -10,19 +10,27 @@ fix wall/region command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID wall/region region-ID style epsilon sigma cutoff :pre
|
||||
fix ID group-ID wall/region region-ID style args ... cutoff :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command
|
||||
wall/region = style name of this fix command
|
||||
region-ID = region whose boundary will act as wall
|
||||
style = {lj93} or {lj126} or {lj1043} or {colloid} or {harmonic}
|
||||
epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
|
||||
sigma = size factor for wall-particle interaction (distance units)
|
||||
cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :ul
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
wall/region = style name of this fix command :l
|
||||
region-ID = region whose boundary will act as wall :l
|
||||
style = {lj93} or {lj126} or {lj1043} or {colloid} or {harmonic} or {morse} :l
|
||||
args for styles {lj93} or {lj126} or {lj1043} or {colloid} or {harmonic} = :l
|
||||
epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
|
||||
sigma = size factor for wall-particle interaction (distance units) :pre
|
||||
args for style {morse} = :l
|
||||
D_0 = depth of the potential (energy units)
|
||||
alpha = width parameter (1/distance units)
|
||||
r_0 = distance of the potential minimum from wall position (distance units) :pre
|
||||
cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :l
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix wall all wall/region mySphere lj93 1.0 1.0 2.5 :pre
|
||||
fix wall all wall/region mySphere lj93 1.0 1.0 2.5
|
||||
fix wall all wall/region mySphere harmonic 1.0 0.0 2.5
|
||||
fix wall all wall/region box_top morse 1.0 1.0 1.5 3.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -122,15 +130,22 @@ the "pair_style colloid"_pair_colloid.html potential:
|
||||
:c,image(Eqs/fix_wall_colloid.jpg)
|
||||
|
||||
For style {wall/harmonic}, the energy E is given by a harmonic spring
|
||||
potential:
|
||||
potential (the distance parameter is ignored):
|
||||
|
||||
:c,image(Eqs/fix_wall_harmonic.jpg)
|
||||
|
||||
For style {wall/morse}, the energy E is given by the Morse potential:
|
||||
|
||||
:c,image(Eqs/pair_morse.jpg)
|
||||
|
||||
Unlike other styles, this requires three parameters ({D_0}, {alpha}, {r_0}
|
||||
in this order) instead of two like for the other wall styles.
|
||||
|
||||
In all cases, {r} is the distance from the particle to the region
|
||||
surface, and Rc is the {cutoff} distance at which the particle and
|
||||
surface no longer interact. The energy of the wall potential is
|
||||
shifted so that the wall-particle interaction energy is 0.0 at the
|
||||
cutoff distance.
|
||||
surface no longer interact. The cutoff is always the last argument.
|
||||
The energy of the wall potential is shifted so that the wall-particle
|
||||
interaction energy is 0.0 at the cutoff distance.
|
||||
|
||||
For a full description of these wall styles, see fix_style
|
||||
"wall"_fix_wall.html
|
||||
@ -179,7 +194,9 @@ option for this fix.
|
||||
|
||||
"fix wall/lj93"_fix_wall.html,
|
||||
"fix wall/lj126"_fix_wall.html,
|
||||
"fix wall/lj1043"_fix_wall.html,
|
||||
"fix wall/colloid"_fix_wall.html,
|
||||
"fix wall/harmonic"_fix_wall.html,
|
||||
"fix wall/gran"_fix_wall_gran.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
@ -16,7 +16,7 @@ improper_style fourier :pre
|
||||
[Examples:]
|
||||
|
||||
improper_style fourier
|
||||
improper_coeff 1 100.0 180.0 :pre
|
||||
improper_coeff 1 100.0 0.0 1.0 0.5 1 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -24,12 +24,12 @@ The {fourier} improper style uses the following potential:
|
||||
|
||||
:c,image(Eqs/improper_fourier.jpg)
|
||||
|
||||
where K is the force constant and omega is the angle between the IL
|
||||
axis and the IJK plane:
|
||||
where K is the force constant, C0, C1, C2 are dimensionless coefficients,
|
||||
and omega is the angle between the IL axis and the IJK plane:
|
||||
|
||||
:c,image(JPG/umbrella.jpg)
|
||||
|
||||
If all parameter (see bellow) is not zero, the all the three possible angles will taken in account.
|
||||
If all parameter (see below) is not zero, the all the three possible angles will taken in account.
|
||||
|
||||
The following coefficients must be defined for each improper type via
|
||||
the "improper_coeff"_improper_coeff.html command as in the example
|
||||
@ -38,10 +38,10 @@ above, or in the data file or restart files read by the
|
||||
commands:
|
||||
|
||||
K (energy)
|
||||
C0 (real)
|
||||
C1 (real)
|
||||
C2 (real)
|
||||
all (integer >= 0) :ul
|
||||
C0 (unitless)
|
||||
C1 (unitless)
|
||||
C2 (unitless)
|
||||
all (0 or 1, optional) :ul
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -365,7 +365,7 @@ an array of one or more comma-separated items in brackets.
|
||||
The list of supported keywords and the type and format of their values
|
||||
depend on the query function used. The current list of query functions
|
||||
is available on the OpenKIM webpage at
|
||||
"https://openkim.org/doc/repository/kim-query"_https://openkim.org/doc/repository/kim-query.
|
||||
"https://openkim.org/doc/usage/kim-query"_https://openkim.org/doc/usage/kim-query.
|
||||
|
||||
NOTE: All query functions require the {model} keyword, which identifies
|
||||
the IM whose predictions are being queried. This keyword is automatically
|
||||
|
||||
@ -116,10 +116,10 @@ used without a cutoff, i.e. they become full long-range potentials.
|
||||
The {ewald/disp} style can also be used with point-dipoles, see
|
||||
"(Toukmaji)"_#Toukmaji.
|
||||
|
||||
The {ewald/dipole} style adds long-range standard Ewald summations
|
||||
The {ewald/dipole} style adds long-range standard Ewald summations
|
||||
for dipole-dipole interactions, see "(Toukmaji)"_#Toukmaji.
|
||||
|
||||
The {ewald/dipole/spin} style adds long-range standard Ewald
|
||||
The {ewald/dipole/spin} style adds long-range standard Ewald
|
||||
summations for magnetic dipole-dipole interactions between
|
||||
magnetic spins.
|
||||
|
||||
@ -142,11 +142,11 @@ The optional {smallq} argument defines the cutoff for the absolute
|
||||
charge value which determines whether a particle is considered charged
|
||||
or not. Its default value is 1.0e-5.
|
||||
|
||||
The {pppm/dipole} style invokes a particle-particle particle-mesh solver
|
||||
The {pppm/dipole} style invokes a particle-particle particle-mesh solver
|
||||
for dipole-dipole interactions, following the method of "(Cerda)"_#Cerda2008.
|
||||
|
||||
The {pppm/dipole/spin} style invokes a particle-particle particle-mesh solver
|
||||
for magnetic dipole-dipole interactions between magnetic spins.
|
||||
The {pppm/dipole/spin} style invokes a particle-particle particle-mesh solver
|
||||
for magnetic dipole-dipole interactions between magnetic spins.
|
||||
|
||||
The {pppm/tip4p} style is identical to the {pppm} style except that it
|
||||
adds a charge at the massless 4th site in each TIP4P water molecule.
|
||||
|
||||
@ -569,6 +569,7 @@ pair_charmm.html
|
||||
pair_class2.html
|
||||
pair_colloid.html
|
||||
pair_comb.html
|
||||
pair_cosine_squared.html
|
||||
pair_coul.html
|
||||
pair_coul_diel.html
|
||||
pair_coul_shield.html
|
||||
@ -610,6 +611,7 @@ pair_lj_smooth.html
|
||||
pair_lj_smooth_linear.html
|
||||
pair_fep_soft.html
|
||||
pair_lj_switch3_coulgauss.html
|
||||
pair_local_density.html
|
||||
pair_lubricate.html
|
||||
pair_lubricateU.html
|
||||
pair_mdf.html
|
||||
|
||||
@ -17,7 +17,7 @@ keyword = {dmax} or {line} or {alpha_damp} or {discrete_factor}
|
||||
{dmax} value = max
|
||||
max = maximum distance for line search to move (distance units)
|
||||
{line} value = {backtrack} or {quadratic} or {forcezero}
|
||||
backtrack,quadratic,forcezero = style of linesearch to use
|
||||
backtrack,quadratic,forcezero = style of linesearch to use
|
||||
{alpha_damp} value = damping
|
||||
damping = fictitious Gilbert damping for spin minimization (adim)
|
||||
{discrete_factor} value = factor
|
||||
@ -70,14 +70,14 @@ that difference may be smaller than machine epsilon even if atoms
|
||||
could move in the gradient direction to reduce forces further.
|
||||
|
||||
Keywords {alpha_damp} and {discrete_factor} only make sense when
|
||||
a "min_spin"_min_spin.html command is declared.
|
||||
a "min_spin"_min_spin.html command is declared.
|
||||
Keyword {alpha_damp} defines an analog of a magnetic Gilbert
|
||||
damping. It defines a relaxation rate toward an equilibrium for
|
||||
a given magnetic system.
|
||||
a given magnetic system.
|
||||
Keyword {discrete_factor} defines a discretization factor for the
|
||||
adaptive timestep used in the {spin} minimization.
|
||||
adaptive timestep used in the {spin} minimization.
|
||||
See "min_spin"_min_spin.html for more information about those
|
||||
quantities.
|
||||
quantities.
|
||||
Default values are {alpha_damp} = 1.0 and {discrete_factor} = 10.0.
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
@ -13,7 +13,7 @@ min_style spin :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
min_style spin :pre
|
||||
min_style spin :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -27,36 +27,36 @@ timestep, according to:
|
||||
|
||||
with lambda a damping coefficient (similar to a Gilbert
|
||||
damping).
|
||||
Lambda can be defined by setting the {alpha_damp} keyword with the
|
||||
"min_modify"_min_modify.html command.
|
||||
Lambda can be defined by setting the {alpha_damp} keyword with the
|
||||
"min_modify"_min_modify.html command.
|
||||
|
||||
The minimization procedure solves this equation using an
|
||||
adaptive timestep. The value of this timestep is defined
|
||||
by the largest precession frequency that has to be solved in the
|
||||
adaptive timestep. The value of this timestep is defined
|
||||
by the largest precession frequency that has to be solved in the
|
||||
system:
|
||||
|
||||
:c,image(Eqs/min_spin_timestep.jpg)
|
||||
|
||||
with {|omega|_{max}} the norm of the largest precession frequency
|
||||
in the system (across all processes, and across all replicas if a
|
||||
spin/neb calculation is performed).
|
||||
spin/neb calculation is performed).
|
||||
|
||||
Kappa defines a discretization factor {discrete_factor} for the
|
||||
definition of this timestep.
|
||||
Kappa defines a discretization factor {discrete_factor} for the
|
||||
definition of this timestep.
|
||||
{discrete_factor} can be defined with the "min_modify"_min_modify.html
|
||||
command.
|
||||
|
||||
NOTE: The {spin} style replaces the force tolerance by a torque
|
||||
tolerance. See "minimize"_minimize.html for more explanation.
|
||||
tolerance. See "minimize"_minimize.html for more explanation.
|
||||
|
||||
[Restrictions:]
|
||||
[Restrictions:]
|
||||
|
||||
This minimization procedure is only applied to spin degrees of
|
||||
freedom for a frozen lattice configuration.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"min_style"_min_style.html, "minimize"_minimize.html,
|
||||
"min_style"_min_style.html, "minimize"_minimize.html,
|
||||
"min_modify"_min_modify.html
|
||||
|
||||
[Default:]
|
||||
|
||||
@ -11,7 +11,7 @@ min_style command :h3
|
||||
|
||||
min_style style :pre
|
||||
|
||||
style = {cg} or {hftn} or {sd} or {quickmin} or {fire} or {spin} :ul
|
||||
style = {cg} or {cg/kk} or {hftn} or {sd} or {quickmin} or {fire} or {spin} :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
@ -62,7 +62,7 @@ the velocity non-parallel to the current force vector. The velocity
|
||||
of each atom is initialized to 0.0 by this style, at the beginning of
|
||||
a minimization.
|
||||
|
||||
Style {spin} is a damped spin dynamics with an adaptive
|
||||
Style {spin} is a damped spin dynamics with an adaptive
|
||||
timestep.
|
||||
See the "min/spin"_min_spin.html doc page for more information.
|
||||
|
||||
@ -74,9 +74,34 @@ defined via the "timestep"_timestep.html command. Often they will
|
||||
converge more quickly if you use a timestep about 10x larger than you
|
||||
would normally use for dynamics simulations.
|
||||
|
||||
NOTE: The {quickmin}, {fire}, and {hftn} styles do not yet support the
|
||||
use of the "fix box/relax"_fix_box_relax.html command or minimizations
|
||||
involving the electron radius in "eFF"_pair_eff.html models.
|
||||
NOTE: The {quickmin}, {fire}, {hftn}, and {cg/kk} styles do not yet
|
||||
support the use of the "fix box/relax"_fix_box_relax.html command or
|
||||
minimizations involving the electron radius in "eFF"_pair_eff.html
|
||||
models.
|
||||
|
||||
:line
|
||||
|
||||
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
hardware, as discussed on the "Speed packages"_Speed_packages.html doc
|
||||
page. The accelerated styles take the same arguments and should
|
||||
produce the same results, except for round-off and precision issues.
|
||||
|
||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
by including their suffix, or you can use the "-suffix command-line
|
||||
switch"_Run_options.html when you invoke LAMMPS, or you can use the
|
||||
"suffix"_suffix.html command in your input script.
|
||||
|
||||
See the "Speed packages"_Speed_packages.html doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
:line
|
||||
|
||||
minimize command :h3
|
||||
minimize/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
@ -105,9 +106,9 @@ the number of total force evaluations exceeds {maxeval} :ul
|
||||
|
||||
NOTE: the "minimization style"_min_style.html {spin} replaces
|
||||
the force tolerance {ftol} by a torque tolerance.
|
||||
The minimization procedure stops if the 2-norm (length) of the
|
||||
global torque vector (defined as the cross product between the
|
||||
spins and their precession vectors omega) is less than {ftol},
|
||||
The minimization procedure stops if the 2-norm (length) of the
|
||||
global torque vector (defined as the cross product between the
|
||||
spins and their precession vectors omega) is less than {ftol},
|
||||
or if any of the other criteria are met.
|
||||
|
||||
NOTE: You can also use the "fix halt"_fix_halt.html command to specify
|
||||
@ -256,6 +257,28 @@ info in the Restrictions section below.
|
||||
|
||||
:line
|
||||
|
||||
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
hardware, as discussed on the "Speed packages"_Speed_packages.html doc
|
||||
page. The accelerated styles take the same arguments and should
|
||||
produce the same results, except for round-off and precision issues.
|
||||
|
||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
by including their suffix, or you can use the "-suffix command-line
|
||||
switch"_Run_options.html when you invoke LAMMPS, or you can use the
|
||||
"suffix"_suffix.html command in your input script.
|
||||
|
||||
See the "Speed packages"_Speed_packages.html doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Features that are not yet implemented are listed here, in case someone
|
||||
|
||||
@ -45,7 +45,7 @@ and last are the end points of the transition path.
|
||||
GNEB is a method for finding both the spin configurations and height
|
||||
of the energy barrier associated with a transition state, e.g.
|
||||
spins to perform a collective rotation from one energy basin to
|
||||
another.
|
||||
another.
|
||||
The implementation in LAMMPS follows the discussion in the
|
||||
following paper: "(BessarabA)"_#BessarabA.
|
||||
|
||||
@ -61,33 +61,33 @@ doc page for further discussion.
|
||||
|
||||
NOTE: As explained below, a GNEB calculation performs a damped dynamics
|
||||
minimization across all the replicas. The "spin"_min_spin.html
|
||||
style minimizer has to be defined in your input script.
|
||||
style minimizer has to be defined in your input script.
|
||||
|
||||
When a GNEB calculation is performed, it is assumed that each replica
|
||||
is running the same system, though LAMMPS does not check for this.
|
||||
I.e. the simulation domain, the number of magnetic atoms, the
|
||||
interaction potentials, and the starting configuration when the neb
|
||||
I.e. the simulation domain, the number of magnetic atoms, the
|
||||
interaction potentials, and the starting configuration when the neb
|
||||
command is issued should be the same for every replica.
|
||||
|
||||
In a GNEB calculation each replica is connected to other replicas by
|
||||
inter-replica nudging forces. These forces are imposed by the "fix
|
||||
neb/spin"_fix_neb_spin.html command, which must be used in conjunction
|
||||
with the neb command.
|
||||
neb/spin"_fix_neb_spin.html command, which must be used in conjunction
|
||||
with the neb command.
|
||||
The group used to define the fix neb/spin command defines the
|
||||
GNEB magnetic atoms which are the only ones that inter-replica springs
|
||||
are applied to.
|
||||
GNEB magnetic atoms which are the only ones that inter-replica springs
|
||||
are applied to.
|
||||
If the group does not include all magnetic atoms, then non-GNEB
|
||||
magnetic atoms have no inter-replica springs and the torques they feel
|
||||
and their precession motion is computed in the usual way due only
|
||||
to other magnetic atoms within their replica.
|
||||
Conceptually, the non-GNEB atoms provide a background force field for
|
||||
the GNEB atoms.
|
||||
Their magnetic spins can be allowed to evolve during the GNEB
|
||||
magnetic atoms have no inter-replica springs and the torques they feel
|
||||
and their precession motion is computed in the usual way due only
|
||||
to other magnetic atoms within their replica.
|
||||
Conceptually, the non-GNEB atoms provide a background force field for
|
||||
the GNEB atoms.
|
||||
Their magnetic spins can be allowed to evolve during the GNEB
|
||||
minimization procedure.
|
||||
|
||||
The initial spin configuration for each of the replicas can be
|
||||
specified in different manners via the {file-style} setting, as
|
||||
discussed below. Only atomic spins whose initial coordinates should
|
||||
discussed below. Only atomic spins whose initial coordinates should
|
||||
differ from the current configuration need to be specified.
|
||||
|
||||
Conceptually, the initial and final configurations for the first
|
||||
@ -106,21 +106,21 @@ closer to the MEP and read them in.
|
||||
:line
|
||||
|
||||
For a {file-style} setting of {final}, a filename is specified which
|
||||
contains atomic and spin coordinates for zero or more atoms, in the
|
||||
format described below.
|
||||
For each atom that appears in the file, the new coordinates are
|
||||
assigned to that atom in the final replica. Each intermediate replica
|
||||
also assigns a new spin to that atom in an interpolated manner.
|
||||
This is done by using the current direction of the spin at the starting
|
||||
point and the read-in direction as the final point.
|
||||
The "angular distance" between them is calculated, and the new direction
|
||||
contains atomic and spin coordinates for zero or more atoms, in the
|
||||
format described below.
|
||||
For each atom that appears in the file, the new coordinates are
|
||||
assigned to that atom in the final replica. Each intermediate replica
|
||||
also assigns a new spin to that atom in an interpolated manner.
|
||||
This is done by using the current direction of the spin at the starting
|
||||
point and the read-in direction as the final point.
|
||||
The "angular distance" between them is calculated, and the new direction
|
||||
is assigned to be a fraction of the angular distance.
|
||||
|
||||
NOTE: The "angular distance" between the starting and final point is
|
||||
evaluated in the geodesic sense, as described in
|
||||
"(BessarabA)"_#BessarabA.
|
||||
NOTE: The "angular distance" between the starting and final point is
|
||||
evaluated in the geodesic sense, as described in
|
||||
"(BessarabA)"_#BessarabA.
|
||||
|
||||
NOTE: The angular interpolation between the starting and final point
|
||||
NOTE: The angular interpolation between the starting and final point
|
||||
is achieved using Rodrigues formula:
|
||||
|
||||
:c,image(Eqs/neb_spin_rodrigues_formula.jpg)
|
||||
@ -130,7 +130,7 @@ omega_i^nu is a rotation angle defined as:
|
||||
|
||||
:c,image(Eqs/neb_spin_angle.jpg)
|
||||
|
||||
with nu the image number, Q the total number of images, and
|
||||
with nu the image number, Q the total number of images, and
|
||||
omega_i the total rotation between the initial and final spins.
|
||||
k_i defines a rotation axis such as:
|
||||
|
||||
@ -139,16 +139,16 @@ k_i defines a rotation axis such as:
|
||||
if the initial and final spins are not aligned.
|
||||
If the initial and final spins are aligned, then their cross
|
||||
product is null, and the expression above does not apply.
|
||||
If they point toward the same direction, the intermediate images
|
||||
If they point toward the same direction, the intermediate images
|
||||
conserve the same orientation.
|
||||
If the initial and final spins are aligned, but point toward
|
||||
opposite directions, an arbitrary rotation vector belonging to
|
||||
the plane perpendicular to initial and final spins is chosen.
|
||||
the plane perpendicular to initial and final spins is chosen.
|
||||
In this case, a warning message is displayed.
|
||||
|
||||
For a {file-style} setting of {each}, a filename is specified which is
|
||||
assumed to be unique to each replica.
|
||||
See the "neb"_neb.html documentation page for more information about this
|
||||
assumed to be unique to each replica.
|
||||
See the "neb"_neb.html documentation page for more information about this
|
||||
option.
|
||||
|
||||
For a {file-style} setting of {none}, no filename is specified. Each
|
||||
@ -173,7 +173,7 @@ A NEB calculation proceeds in two stages, each of which is a
|
||||
minimization procedure, performed via damped dynamics. To enable
|
||||
this, you must first define a damped spin dynamics
|
||||
"min_style"_min_style.html, using the {spin} style (see
|
||||
"min_spin"_min_spin.html for more information).
|
||||
"min_spin"_min_spin.html for more information).
|
||||
The other styles cannot be used, since they relax the lattice
|
||||
degrees of freedom instead of the spins.
|
||||
|
||||
@ -195,9 +195,9 @@ damped dynamics is like a single timestep in a dynamics
|
||||
replica and its normalized distance along the reaction path (reaction
|
||||
coordinate RD) will be printed to the screen and log file every
|
||||
{Nevery} timesteps. The RD is 0 and 1 for the first and last replica.
|
||||
For intermediate replicas, it is the cumulative angular distance
|
||||
(normalized by the total cumulative angular distance) between adjacent
|
||||
replicas, where "distance" is defined as the length of the 3N-vector of
|
||||
For intermediate replicas, it is the cumulative angular distance
|
||||
(normalized by the total cumulative angular distance) between adjacent
|
||||
replicas, where "distance" is defined as the length of the 3N-vector of
|
||||
the geodesic distances in spin coordinates, with N the number of
|
||||
GNEB spins involved (see equation (13) in "(BessarabA)"_#BessarabA).
|
||||
These outputs allow you to monitor NEB's progress in
|
||||
@ -207,11 +207,11 @@ of {Nevery}.
|
||||
In the first stage of GNEB, the set of replicas should converge toward
|
||||
a minimum energy path (MEP) of conformational states that transition
|
||||
over a barrier. The MEP for a transition is defined as a sequence of
|
||||
3N-dimensional spin states, each of which has a potential energy
|
||||
gradient parallel to the MEP itself.
|
||||
The configuration of highest energy along a MEP corresponds to a saddle
|
||||
point. The replica states will also be roughly equally spaced along
|
||||
the MEP due to the inter-replica nudging force added by the
|
||||
3N-dimensional spin states, each of which has a potential energy
|
||||
gradient parallel to the MEP itself.
|
||||
The configuration of highest energy along a MEP corresponds to a saddle
|
||||
point. The replica states will also be roughly equally spaced along
|
||||
the MEP due to the inter-replica nudging force added by the
|
||||
"fix neb"_fix_neb.html command.
|
||||
|
||||
In the second stage of GNEB, the replica with the highest energy is
|
||||
@ -234,12 +234,12 @@ An atom map must be defined which it is not by default for "atom_style
|
||||
atomic"_atom_style.html problems. The "atom_modify
|
||||
map"_atom_modify.html command can be used to do this.
|
||||
|
||||
An initial value can be defined for the timestep. Although, the {spin}
|
||||
minimization algorithm is an adaptive timestep methodology, so that
|
||||
this timestep is likely to evolve during the calculation.
|
||||
An initial value can be defined for the timestep. Although, the {spin}
|
||||
minimization algorithm is an adaptive timestep methodology, so that
|
||||
this timestep is likely to evolve during the calculation.
|
||||
|
||||
The minimizers in LAMMPS operate on all spins in your system, even
|
||||
non-GNEB atoms, as defined above.
|
||||
non-GNEB atoms, as defined above.
|
||||
|
||||
:line
|
||||
|
||||
@ -257,7 +257,7 @@ ID2 g2 x2 y2 z2 sx2 sy2 sz2
|
||||
...
|
||||
IDN gN yN zN sxN syN szN :pre
|
||||
|
||||
The fields are the atom ID, the norm of the associated magnetic spin,
|
||||
The fields are the atom ID, the norm of the associated magnetic spin,
|
||||
followed by the {x,y,z} coordinates and the {sx,sy,sz} spin coordinates.
|
||||
The lines can be listed in any order. Additional trailing information on
|
||||
the line is OK, such as a comment.
|
||||
@ -290,22 +290,22 @@ reaction coordinate and potential energy of each replica.
|
||||
|
||||
The "maximum torque per replica" is the two-norm of the
|
||||
3N-length vector given by the cross product of a spin by its
|
||||
precession vector omega, in each replica, maximized across replicas,
|
||||
precession vector omega, in each replica, maximized across replicas,
|
||||
which is what the {ttol} setting is checking against. In this case, N is
|
||||
all the atoms in each replica. The "maximum torque per atom" is the
|
||||
maximum torque component of any atom in any replica. The potential
|
||||
gradients are the two-norm of the 3N-length magnetic precession vector
|
||||
solely due to the interaction potential i.e. without adding in
|
||||
inter-replica forces, and projected along the path tangent (as detailed
|
||||
gradients are the two-norm of the 3N-length magnetic precession vector
|
||||
solely due to the interaction potential i.e. without adding in
|
||||
inter-replica forces, and projected along the path tangent (as detailed
|
||||
in Appendix D of "(BessarabA)"_#BessarabA).
|
||||
|
||||
The "reaction coordinate" (RD) for each replica is the two-norm of the
|
||||
3N-length vector of geodesic distances between its spins and the preceding
|
||||
replica's spins (see equation (13) of "(BessarabA)"_#BessarabA), added to
|
||||
the RD of the preceding replica. The RD of the first replica RD1 = 0.0;
|
||||
the RD of the final replica RDN = RDT, the total reaction coordinate.
|
||||
The normalized RDs are divided by RDT, so that they form a monotonically
|
||||
increasing sequence from zero to one. When computing RD, N only includes
|
||||
replica's spins (see equation (13) of "(BessarabA)"_#BessarabA), added to
|
||||
the RD of the preceding replica. The RD of the first replica RD1 = 0.0;
|
||||
the RD of the final replica RDN = RDT, the total reaction coordinate.
|
||||
The normalized RDs are divided by RDT, so that they form a monotonically
|
||||
increasing sequence from zero to one. When computing RD, N only includes
|
||||
the spins being operated on by the fix neb/spin command.
|
||||
|
||||
The forward (reverse) energy barrier is the potential energy of the
|
||||
@ -313,17 +313,17 @@ highest replica minus the energy of the first (last) replica.
|
||||
|
||||
Supplementary information for all replicas can be printed out to the
|
||||
screen and master log.lammps file by adding the verbose keyword. This
|
||||
information include the following.
|
||||
The "GradVidottan" are the projections of the potential gradient for
|
||||
the replica i on its tangent vector (as detailed in Appendix D of
|
||||
information include the following.
|
||||
The "GradVidottan" are the projections of the potential gradient for
|
||||
the replica i on its tangent vector (as detailed in Appendix D of
|
||||
"(BessarabA)"_#BessarabA).
|
||||
The "DNi" are the non normalized geodesic distances (see equation (13)
|
||||
of "(BessarabA)"_#BessarabA), between a replica i and the next replica
|
||||
The "DNi" are the non normalized geodesic distances (see equation (13)
|
||||
of "(BessarabA)"_#BessarabA), between a replica i and the next replica
|
||||
i+1. For the last replica, this distance is not defined and a "NAN"
|
||||
value is the corresponding output.
|
||||
value is the corresponding output.
|
||||
|
||||
When a NEB calculation does not converge properly, the supplementary
|
||||
information can help understanding what is going wrong.
|
||||
information can help understanding what is going wrong.
|
||||
|
||||
When running on multiple partitions, LAMMPS produces additional log
|
||||
files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For a
|
||||
@ -346,9 +346,9 @@ restart the calculation from an intermediate point with altered
|
||||
parameters.
|
||||
|
||||
A c file script in provided in the tool/spin/interpolate_gneb
|
||||
directory, that interpolates the MEP given the information provided
|
||||
directory, that interpolates the MEP given the information provided
|
||||
by the verbose output option (as detailed in Appendix D of
|
||||
"(BessarabA)"_#BessarabA).
|
||||
"(BessarabA)"_#BessarabA).
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -423,115 +423,115 @@ processes/threads used for LAMMPS.
|
||||
|
||||
:line
|
||||
|
||||
The {kokkos} style invokes settings associated with the use of the
|
||||
KOKKOS package.
|
||||
The {kokkos} style invokes settings associated with the use of the
|
||||
KOKKOS package.
|
||||
|
||||
All of the settings are optional keyword/value pairs. Each has a default
|
||||
value as listed below.
|
||||
All of the settings are optional keyword/value pairs. Each has a default
|
||||
value as listed below.
|
||||
|
||||
The {neigh} keyword determines how neighbor lists are built. A value of
|
||||
{half} uses a thread-safe variant of half-neighbor lists, the same as
|
||||
used by most pair styles in LAMMPS, which is the default when running on
|
||||
CPUs (i.e. the Kokkos CUDA back end is not enabled).
|
||||
The {neigh} keyword determines how neighbor lists are built. A value of
|
||||
{half} uses a thread-safe variant of half-neighbor lists, the same as
|
||||
used by most pair styles in LAMMPS, which is the default when running on
|
||||
CPUs (i.e. the Kokkos CUDA back end is not enabled).
|
||||
|
||||
A value of {full} uses a full neighbor lists and is the default when
|
||||
running on GPUs. This performs twice as much computation as the {half}
|
||||
option, however that is often a win because it is thread-safe and
|
||||
doesn't require atomic operations in the calculation of pair forces. For
|
||||
that reason, {full} is the default setting for GPUs. However, when
|
||||
running on CPUs, a {half} neighbor list is the default because it are
|
||||
often faster, just as it is for non-accelerated pair styles. Similarly,
|
||||
the {neigh/qeq} keyword determines how neighbor lists are built for "fix
|
||||
qeq/reax/kk"_fix_qeq_reax.html. If not explicitly set, the value of
|
||||
A value of {full} uses a full neighbor lists and is the default when
|
||||
running on GPUs. This performs twice as much computation as the {half}
|
||||
option, however that is often a win because it is thread-safe and
|
||||
doesn't require atomic operations in the calculation of pair forces. For
|
||||
that reason, {full} is the default setting for GPUs. However, when
|
||||
running on CPUs, a {half} neighbor list is the default because it are
|
||||
often faster, just as it is for non-accelerated pair styles. Similarly,
|
||||
the {neigh/qeq} keyword determines how neighbor lists are built for "fix
|
||||
qeq/reax/kk"_fix_qeq_reax.html. If not explicitly set, the value of
|
||||
{neigh/qeq} will match {neigh}.
|
||||
|
||||
If the {neigh/thread} keyword is set to {off}, then the KOKKOS package
|
||||
threads only over atoms. However, for small systems, this may not expose
|
||||
enough parallelism to keep a GPU busy. When this keyword is set to {on},
|
||||
the KOKKOS package threads over both atoms and neighbors of atoms. When
|
||||
using {neigh/thread} {on}, a full neighbor list must also be used. Using
|
||||
{neigh/thread} {on} may be slower for large systems, so this this option
|
||||
is turned on by default only when there are 16K atoms or less owned by
|
||||
an MPI rank and when using a full neighbor list. Not all KOKKOS-enabled
|
||||
potentials support this keyword yet, and only thread over atoms. Many
|
||||
simple pair-wise potentials such as Lennard-Jones do support threading
|
||||
If the {neigh/thread} keyword is set to {off}, then the KOKKOS package
|
||||
threads only over atoms. However, for small systems, this may not expose
|
||||
enough parallelism to keep a GPU busy. When this keyword is set to {on},
|
||||
the KOKKOS package threads over both atoms and neighbors of atoms. When
|
||||
using {neigh/thread} {on}, a full neighbor list must also be used. Using
|
||||
{neigh/thread} {on} may be slower for large systems, so this this option
|
||||
is turned on by default only when there are 16K atoms or less owned by
|
||||
an MPI rank and when using a full neighbor list. Not all KOKKOS-enabled
|
||||
potentials support this keyword yet, and only thread over atoms. Many
|
||||
simple pair-wise potentials such as Lennard-Jones do support threading
|
||||
over both atoms and neighbors.
|
||||
|
||||
The {newton} keyword sets the Newton flags for pairwise and bonded
|
||||
interactions to {off} or {on}, the same as the "newton"_newton.html
|
||||
command allows. The default for GPUs is {off} because this will almost
|
||||
always give better performance for the KOKKOS package. This means more
|
||||
computation is done, but less communication. However, when running on
|
||||
CPUs a value of {on} is the default since it can often be faster, just
|
||||
as it is for non-accelerated pair styles
|
||||
The {newton} keyword sets the Newton flags for pairwise and bonded
|
||||
interactions to {off} or {on}, the same as the "newton"_newton.html
|
||||
command allows. The default for GPUs is {off} because this will almost
|
||||
always give better performance for the KOKKOS package. This means more
|
||||
computation is done, but less communication. However, when running on
|
||||
CPUs a value of {on} is the default since it can often be faster, just
|
||||
as it is for non-accelerated pair styles
|
||||
|
||||
The {binsize} keyword sets the size of bins used to bin atoms in
|
||||
neighbor list builds. The same value can be set by the "neigh_modify
|
||||
binsize"_neigh_modify.html command. Making it an option in the package
|
||||
kokkos command allows it to be set from the command line. The default
|
||||
value for CPUs is 0.0, which means the LAMMPS default will be used,
|
||||
which is bins = 1/2 the size of the pairwise cutoff + neighbor skin
|
||||
distance. This is fine when neighbor lists are built on the CPU. For GPU
|
||||
builds, a 2x larger binsize equal to the pairwise cutoff + neighbor skin
|
||||
is often faster, which is the default. Note that if you use a
|
||||
longer-than-usual pairwise cutoff, e.g. to allow for a smaller fraction
|
||||
of KSpace work with a "long-range Coulombic solver"_kspace_style.html
|
||||
because the GPU is faster at performing pairwise interactions, then this
|
||||
rule of thumb may give too large a binsize and the default should be
|
||||
overridden with a smaller value.
|
||||
The {binsize} keyword sets the size of bins used to bin atoms in
|
||||
neighbor list builds. The same value can be set by the "neigh_modify
|
||||
binsize"_neigh_modify.html command. Making it an option in the package
|
||||
kokkos command allows it to be set from the command line. The default
|
||||
value for CPUs is 0.0, which means the LAMMPS default will be used,
|
||||
which is bins = 1/2 the size of the pairwise cutoff + neighbor skin
|
||||
distance. This is fine when neighbor lists are built on the CPU. For GPU
|
||||
builds, a 2x larger binsize equal to the pairwise cutoff + neighbor skin
|
||||
is often faster, which is the default. Note that if you use a
|
||||
longer-than-usual pairwise cutoff, e.g. to allow for a smaller fraction
|
||||
of KSpace work with a "long-range Coulombic solver"_kspace_style.html
|
||||
because the GPU is faster at performing pairwise interactions, then this
|
||||
rule of thumb may give too large a binsize and the default should be
|
||||
overridden with a smaller value.
|
||||
|
||||
The {comm} and {comm/exchange} and {comm/forward} and {comm/reverse}
|
||||
keywords determine whether the host or device performs the packing and
|
||||
unpacking of data when communicating per-atom data between processors.
|
||||
"Exchange" communication happens only on timesteps that neighbor lists
|
||||
are rebuilt. The data is only for atoms that migrate to new processors.
|
||||
"Forward" communication happens every timestep. "Reverse" communication
|
||||
happens every timestep if the {newton} option is on. The data is for
|
||||
atom coordinates and any other atom properties that needs to be updated
|
||||
The {comm} and {comm/exchange} and {comm/forward} and {comm/reverse}
|
||||
keywords determine whether the host or device performs the packing and
|
||||
unpacking of data when communicating per-atom data between processors.
|
||||
"Exchange" communication happens only on timesteps that neighbor lists
|
||||
are rebuilt. The data is only for atoms that migrate to new processors.
|
||||
"Forward" communication happens every timestep. "Reverse" communication
|
||||
happens every timestep if the {newton} option is on. The data is for
|
||||
atom coordinates and any other atom properties that needs to be updated
|
||||
for ghost atoms owned by each processor.
|
||||
|
||||
The {comm} keyword is simply a short-cut to set the same value for both
|
||||
The {comm} keyword is simply a short-cut to set the same value for both
|
||||
the {comm/exchange} and {comm/forward} and {comm/reverse} keywords.
|
||||
|
||||
The value options for all 3 keywords are {no} or {host} or {device}. A
|
||||
value of {no} means to use the standard non-KOKKOS method of
|
||||
packing/unpacking data for the communication. A value of {host} means to
|
||||
use the host, typically a multi-core CPU, and perform the
|
||||
packing/unpacking in parallel with threads. A value of {device} means to
|
||||
use the device, typically a GPU, to perform the packing/unpacking
|
||||
The value options for all 3 keywords are {no} or {host} or {device}. A
|
||||
value of {no} means to use the standard non-KOKKOS method of
|
||||
packing/unpacking data for the communication. A value of {host} means to
|
||||
use the host, typically a multi-core CPU, and perform the
|
||||
packing/unpacking in parallel with threads. A value of {device} means to
|
||||
use the device, typically a GPU, to perform the packing/unpacking
|
||||
operation.
|
||||
|
||||
The optimal choice for these keywords depends on the input script and
|
||||
the hardware used. The {no} value is useful for verifying that the
|
||||
Kokkos-based {host} and {device} values are working correctly. It is the
|
||||
The optimal choice for these keywords depends on the input script and
|
||||
the hardware used. The {no} value is useful for verifying that the
|
||||
Kokkos-based {host} and {device} values are working correctly. It is the
|
||||
default when running on CPUs since it is usually the fastest.
|
||||
|
||||
When running on CPUs or Xeon Phi, the {host} and {device} values work
|
||||
identically. When using GPUs, the {device} value is the default since it
|
||||
will typically be optimal if all of your styles used in your input
|
||||
script are supported by the KOKKOS package. In this case data can stay
|
||||
on the GPU for many timesteps without being moved between the host and
|
||||
GPU, if you use the {device} value. If your script uses styles (e.g.
|
||||
fixes) which are not yet supported by the KOKKOS package, then data has
|
||||
to be move between the host and device anyway, so it is typically faster
|
||||
to let the host handle communication, by using the {host} value. Using
|
||||
{host} instead of {no} will enable use of multiple threads to
|
||||
pack/unpack communicated data. When running small systems on a GPU,
|
||||
performing the exchange pack/unpack on the host CPU can give speedup
|
||||
When running on CPUs or Xeon Phi, the {host} and {device} values work
|
||||
identically. When using GPUs, the {device} value is the default since it
|
||||
will typically be optimal if all of your styles used in your input
|
||||
script are supported by the KOKKOS package. In this case data can stay
|
||||
on the GPU for many timesteps without being moved between the host and
|
||||
GPU, if you use the {device} value. If your script uses styles (e.g.
|
||||
fixes) which are not yet supported by the KOKKOS package, then data has
|
||||
to be move between the host and device anyway, so it is typically faster
|
||||
to let the host handle communication, by using the {host} value. Using
|
||||
{host} instead of {no} will enable use of multiple threads to
|
||||
pack/unpack communicated data. When running small systems on a GPU,
|
||||
performing the exchange pack/unpack on the host CPU can give speedup
|
||||
since it reduces the number of CUDA kernel launches.
|
||||
|
||||
The {cuda/aware} keyword chooses whether CUDA-aware MPI will be used. When
|
||||
this keyword is set to {on}, buffers in GPU memory are passed directly
|
||||
through MPI send/receive calls. This reduces overhead of first copying
|
||||
the data to the host CPU. However CUDA-aware MPI is not supported on all
|
||||
systems, which can lead to segmentation faults and would require using a
|
||||
value of {off}. If LAMMPS can safely detect that CUDA-aware MPI is not
|
||||
available (currently only possible with OpenMPI v2.0.0 or later), then
|
||||
the {cuda/aware} keyword is automatically set to {off} by default. When
|
||||
the {cuda/aware} keyword is set to {off} while any of the {comm}
|
||||
keywords are set to {device}, the value for these {comm} keywords will
|
||||
be automatically changed to {host}. This setting has no effect if not
|
||||
running on GPUs. CUDA-aware MPI is available for OpenMPI 1.8 (or later
|
||||
The {cuda/aware} keyword chooses whether CUDA-aware MPI will be used. When
|
||||
this keyword is set to {on}, buffers in GPU memory are passed directly
|
||||
through MPI send/receive calls. This reduces overhead of first copying
|
||||
the data to the host CPU. However CUDA-aware MPI is not supported on all
|
||||
systems, which can lead to segmentation faults and would require using a
|
||||
value of {off}. If LAMMPS can safely detect that CUDA-aware MPI is not
|
||||
available (currently only possible with OpenMPI v2.0.0 or later), then
|
||||
the {cuda/aware} keyword is automatically set to {off} by default. When
|
||||
the {cuda/aware} keyword is set to {off} while any of the {comm}
|
||||
keywords are set to {device}, the value for these {comm} keywords will
|
||||
be automatically changed to {host}. This setting has no effect if not
|
||||
running on GPUs. CUDA-aware MPI is available for OpenMPI 1.8 (or later
|
||||
versions), Mvapich2 1.9 (or later) when the "MV2_USE_CUDA" environment
|
||||
variable is set to "1", CrayMPI, and IBM Spectrum MPI when the "-gpu"
|
||||
flag is used.
|
||||
@ -641,16 +641,16 @@ not used, you must invoke the package intel command in your input
|
||||
script or via the "-pk intel" "command-line
|
||||
switch"_Run_options.html.
|
||||
|
||||
For the KOKKOS package, the option defaults for GPUs are neigh = full,
|
||||
neigh/qeq = full, newton = off, binsize for GPUs = 2x LAMMPS default
|
||||
value, comm = device, cuda/aware = on. When LAMMPS can safely detect
|
||||
that CUDA-aware MPI is not available, the default value of cuda/aware
|
||||
becomes "off". For CPUs or Xeon Phis, the option defaults are neigh =
|
||||
half, neigh/qeq = half, newton = on, binsize = 0.0, and comm = no. The
|
||||
option neigh/thread = on when there are 16K atoms or less on an MPI
|
||||
rank, otherwise it is "off". These settings are made automatically by
|
||||
the required "-k on" "command-line switch"_Run_options.html. You can
|
||||
change them by using the package kokkos command in your input script or
|
||||
For the KOKKOS package, the option defaults for GPUs are neigh = full,
|
||||
neigh/qeq = full, newton = off, binsize for GPUs = 2x LAMMPS default
|
||||
value, comm = device, cuda/aware = on. When LAMMPS can safely detect
|
||||
that CUDA-aware MPI is not available, the default value of cuda/aware
|
||||
becomes "off". For CPUs or Xeon Phis, the option defaults are neigh =
|
||||
half, neigh/qeq = half, newton = on, binsize = 0.0, and comm = no. The
|
||||
option neigh/thread = on when there are 16K atoms or less on an MPI
|
||||
rank, otherwise it is "off". These settings are made automatically by
|
||||
the required "-k on" "command-line switch"_Run_options.html. You can
|
||||
change them by using the package kokkos command in your input script or
|
||||
via the "-pk kokkos command-line switch"_Run_options.html.
|
||||
|
||||
For the OMP package, the default is Nthreads = 0 and the option
|
||||
|
||||
108
doc/src/pair_cosine_squared.txt
Normal file
@ -0,0 +1,108 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Commands_all.html)
|
||||
|
||||
:line
|
||||
|
||||
pair_style cosine/squared command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style cosine/squared cutoff :pre
|
||||
|
||||
cutoff = global cutoff for cosine-squared interactions (distance units) :ul
|
||||
|
||||
pair_coeff i j eps sigma
|
||||
pair_coeff i j eps sigma cutoff
|
||||
pair_coeff i j eps sigma wca
|
||||
pair_coeff i j eps sigma cutoff wca :pre
|
||||
|
||||
i,j = a particle type
|
||||
eps = interaction strength, i.e. the depth of the potential minimum (energy units)
|
||||
sigma = distance of the potential minimum from 0
|
||||
cutoff = the cutoff distance for this pair type, if different from global (distance units)
|
||||
wca = if specified a Weeks-Chandler-Andersen potential (with eps strength and minimum at sigma) is added, otherwise not :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style cosine/squared 3.0
|
||||
pair_coeff * * 1.0 1.3
|
||||
pair_coeff 1 3 1.0 1.3 2.0
|
||||
pair_coeff 1 3 1.0 1.3 wca
|
||||
pair_coeff 1 3 1.0 1.3 2.0 wca :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {cosine/squared} computes a potential of the form
|
||||
|
||||
:c,image(Eqs/pair_cosine_squared.jpg)
|
||||
|
||||
between two point particles, where (sigma, -epsilon) is the location of
|
||||
the (rightmost) minimum of the potential, as explained in the syntax
|
||||
section above.
|
||||
|
||||
This potential was first used in (Cooke)_#CKD for a coarse-grained lipid
|
||||
membrane model. It is generally very useful as a non-specific
|
||||
interaction potential because it is fully adjustable in depth and width
|
||||
while joining the minimum at (sigma, -epsilon) and zero at (cutoff, 0)
|
||||
smoothly, requiring no shifting and causing no related artifacts, tail
|
||||
energy calculations etc. This evidently requires {cutoff} to be larger
|
||||
than {sigma}.
|
||||
|
||||
If the {wca} option is used then a Weeks-Chandler-Andersen potential
|
||||
(Weeks)_#WCA is added to the above specified cosine-squared potential,
|
||||
specifically the following:
|
||||
|
||||
:c,image(Eqs/pair_cosine_squared_wca.jpg)
|
||||
|
||||
In this case, and this case only, the {sigma} parameter can be equal to
|
||||
{cutoff} (sigma = cutoff) which will result in ONLY the WCA potential
|
||||
being used (and print a warning), so the minimum will be attained at
|
||||
(sigma, 0). This is a convenience feature that enables a purely
|
||||
repulsive potential to be used without a need to define an additional
|
||||
pair style and use the hybrid styles.
|
||||
|
||||
The energy and force of this pair style for parameters epsilon = 1.0,
|
||||
sigma = 1.0, cutoff = 2.5, with and without the WCA potential, are shown
|
||||
in the graphs below:
|
||||
|
||||
:c,image(JPG/pair_cosine_squared_graphs.jpg)
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
Mixing is not supported for this style.
|
||||
|
||||
The {shift}, {table} and {tail} options are not relevant for this style.
|
||||
|
||||
This pair style writes its information to "binary restart
|
||||
files"_restart.html, so pair_style and pair_coeff commands do not need
|
||||
to be specified in an input script that reads a restart file.
|
||||
|
||||
These pair styles can only be used via the {pair} keyword of the
|
||||
"run_style respa"_run_style.html command. They do not support the
|
||||
{inner}, {middle}, {outer} keywords.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The {cosine/squared} style is part of the "USER-MISC" package. It is only
|
||||
enabled if LAMMPS is build with that package. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html,
|
||||
"pair_style lj/cut"_pair_lj.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:link(CKD)
|
||||
[(Cooke)] "Cooke, Kremer and Deserno, Phys. Rev. E, 72, 011506 (2005)"
|
||||
|
||||
:link(WCA)
|
||||
[(Weeks)] "Weeks, Chandler and Andersen, J. Chem. Phys., 54, 5237 (1971)"
|
||||
@ -20,8 +20,8 @@ If the {preset} keyword is given, no others are needed.
|
||||
Otherwise, all are mandatory except for {neigh}.
|
||||
The {neigh} keyword is always optional. :l
|
||||
{preset} arg = {2011} or {2015} = which set of predefined parameters to use
|
||||
2011 = use the potential parameters from "(Tainter 2011)"_#Tainter2011
|
||||
2015 = use the potential parameters from "(Tainter 2015)"_#Tainter2015
|
||||
2011 = use the potential parameters from "(Tainter 2011)"_#Tainter2011
|
||||
2015 = use the potential parameters from "(Tainter 2015)"_#Tainter2015
|
||||
{Ea} arg = three-body energy for type A hydrogen bonding interactions (energy units)
|
||||
{Eb} arg = three-body energy for type B hydrogen bonding interactions (energy units)
|
||||
{Ec} arg = three-body energy for type C hydrogen bonding interactions (energy units)
|
||||
|
||||
@ -790,4 +790,4 @@ alternative contact force models during inelastic collisions. Powder
|
||||
Technology, 233, 30-46.
|
||||
|
||||
:link(WaltonPC)
|
||||
[(Otis R. Walton)] Walton, O.R., Personal Communication
|
||||
[(Otis R. Walton)] Walton, O.R., Personal Communication
|
||||
|
||||
@ -43,8 +43,8 @@ when the tapper function is turned off. The formula of taper function
|
||||
can be found in pair style "ilp/graphene/hbn"_pair_ilp_graphene_hbn.html.
|
||||
|
||||
NOTE: This potential (ILP) is intended for interlayer interactions between two
|
||||
different layers of graphene. To perform a realistic simulation, this potential
|
||||
must be used in combination with intralayer potential, such as
|
||||
different layers of graphene. To perform a realistic simulation, this potential
|
||||
must be used in combination with intralayer potential, such as
|
||||
"AIREBO"_pair_airebo.html or "Tersoff"_pair_tersoff.html potential.
|
||||
To keep the intralayer properties unaffected, the interlayer interaction
|
||||
within the same layers should be avoided. Hence, each atom has to have a layer
|
||||
|
||||
207
doc/src/pair_local_density.txt
Normal file
@ -0,0 +1,207 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Commands_all.html)
|
||||
|
||||
:line
|
||||
|
||||
pair_style local/density command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style style arg :pre
|
||||
|
||||
style = {local/density}
|
||||
arg = name of file containing tabulated values of local density and the potential :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style local/density benzene_water.localdensity.table :pre
|
||||
|
||||
pair_style hybrid/overlay table spline 500 local/density
|
||||
pair_coeff * * local/density benzene_water.localdensity.table :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The local density (LD) potential is a mean-field manybody potential, and, in some
|
||||
sense,a generalization of embedded atom models (EAM). The name "local density
|
||||
potential" arises from the fact that it assigns an energy to an atom depending
|
||||
on the number of neighboring atoms of given type around it within a predefined
|
||||
spherical volume (i.e., within a cutoff). The bottom-up coarse-graining (CG)
|
||||
literature suggests that such potentials can be widely useful in capturing
|
||||
effective multibody forces in a computationally efficient manner so as to
|
||||
improve the quality of CG models of implicit solvation"(Sanyal1)"_#Sanyal1 and
|
||||
phase-segregation in liquid mixtures"(Sanyal2)"_#Sanyal2, and provide guidelines
|
||||
to determine the extent of manybody correlations present in a CG
|
||||
model."(Rosenberger)"_#Rosenberger The LD potential in LAMMPS is primarily
|
||||
intended to be used as a corrective potential over traditional pair potentials
|
||||
in bottom-up CG models, i.e., as a hybrid pair style with
|
||||
other explicit pair interaction terms (e.g., table spline, Lennard Jones, etc.).
|
||||
Because the LD potential is not a pair potential per se, it is implemented
|
||||
simply as a single auxiliary file with all specifications that will be read
|
||||
upon initialization.
|
||||
|
||||
NOTE: Thus when used as the only interaction in the system, there is no
|
||||
corresponding pair_coeff command and when used with other pair styles using the
|
||||
hybrid/overlay option, the corresponding pair_coeff command must be supplied
|
||||
* * as placeholders for the atom types.
|
||||
|
||||
:line
|
||||
|
||||
[System with a single CG atom type:]
|
||||
|
||||
A system of a single atom type (e.g., LJ argon) with a single local density (LD)
|
||||
potential would have an energy given by:
|
||||
|
||||
:c,image(Eqs/pair_local_density_energy.jpg)
|
||||
|
||||
where rho_i is the LD at atom i and F(rho) is similar in spirit to the
|
||||
embedding function used in EAM potentials. The LD at atom i is given by the sum
|
||||
|
||||
:c,image(Eqs/pair_local_density_ld.jpg)
|
||||
|
||||
where phi is an indicator function that is one at r=0 and zero beyond a cutoff
|
||||
distance R2. The choice of the functional form of phi is somewhat arbitrary,
|
||||
but the following piecewise cubic function has proven sufficiently general:
|
||||
"(Sanyal1)"_#Sanyal1, "(Sanyal2)"_#Sanyal2 "(Rosenberger)"_#Rosenberger
|
||||
|
||||
:c,image(Eqs/pair_local_density_indicator_func.jpg)
|
||||
|
||||
The constants {c} are chosen so that the indicator function smoothly
|
||||
interpolates between 1 and 0 between the distances R1 and R2, which are
|
||||
called the inner and outer cutoffs, respectively. Thus phi satisfies
|
||||
phi(R1) = 1, phi(R2) = dphi/dr @ (r=R1) = dphi/dr @ (r=R2) = 0. The embedding
|
||||
function F(rho) may or may not have a closed-form expression. To maintain
|
||||
generality, it is practically represented with a spline-interpolated table
|
||||
over a predetermined range of rho. Outside of that range it simply adopts zero
|
||||
values at the endpoints.
|
||||
|
||||
It can be shown that the total force between two atoms due to the LD potential
|
||||
takes the form of a pair force, which motivates its designation as a LAMMPS
|
||||
pair style. Please see "(Sanyal1)"_#Sanyal1 for details of the derivation.
|
||||
|
||||
:line
|
||||
|
||||
[Systems with arbitrary numbers of atom types:]
|
||||
|
||||
The potential is easily generalized to systems involving multiple atom types:
|
||||
|
||||
:c,image(Eqs/pair_local_density_energy_multi.jpg)
|
||||
|
||||
with the LD expressed as
|
||||
|
||||
:c,image(Eqs/pair_local_density_ld_multi.jpg)
|
||||
|
||||
where alpha gives the type of atom i, beta the type of atom j, and the
|
||||
coefficients a and b filter for atom types as specified by the user. a is
|
||||
called the central atom filter as it determines to which atoms the
|
||||
potential applies; a_alpha = 1 if the LD potential applies to atom type alpha
|
||||
else zero. On the other hand, b is called the neighbor atom filter because it
|
||||
specifies which atom types to use in the calculation of the LD; b_beta = 1 if
|
||||
atom type beta contributes to the LD and zero otherwise.
|
||||
|
||||
NOTE: Note that the potentials need not be symmetric with respect to atom types,
|
||||
which is the reason for two distinct sets of coefficients a and b. An atom type
|
||||
may contribute to the LD but not the potential, or to the potential but not the
|
||||
LD. Such decisions are made by the user and should (ideally) be motivated on
|
||||
physical grounds for the problem at hand.
|
||||
|
||||
:line
|
||||
|
||||
[General form for implementation in LAMMPS:]
|
||||
|
||||
Of course, a system with many atom types may have many different possible LD
|
||||
potentials, each with their own atom type filters, cutoffs, and embedding
|
||||
functions. The most general form of this potential as implemented in the
|
||||
pair_style local/density is:
|
||||
|
||||
:c,image(Eqs/pair_local_density_energy_implement.jpg)
|
||||
|
||||
where, k is an index that spans the (arbitrary) number of applied LD potentials
|
||||
N_LD. Each LD is calculated as before with:
|
||||
|
||||
:c,image(Eqs/pair_local_density_ld_implement.jpg)
|
||||
|
||||
The superscript on the indicator function phi simply indicates that it is
|
||||
associated with specific values of the cutoff distances R1(k) and R2(k). In
|
||||
summary, there may be N_LD distinct LD potentials. With each potential type (k),
|
||||
one must specify:
|
||||
|
||||
the inner and outer cutoffs as R1 and R2
|
||||
the central type filter a(k), where k = 1,2,...N_LD
|
||||
the neighbor type filter b(k), where k = 1,2,...N_LD
|
||||
the LD potential function F(k)(rho), typically as a table that is later spline-interpolated :ul
|
||||
|
||||
:line
|
||||
|
||||
[Tabulated input file format:]
|
||||
|
||||
Line 1: comment or blank (ignored)
|
||||
Line 2: comment or blank (ignored)
|
||||
Line 3: N_LD N_rho (# of LD potentials and # of tabulated values, single space separated)
|
||||
Line 4: blank (ignored)
|
||||
Line 5: R1(k) R2(k) (lower and upper cutoffs, single space separated)
|
||||
Line 6: central-types (central atom types, single space separated)
|
||||
Line 7: neighbor-types (neighbor atom types single space separated)
|
||||
Line 8: rho_min rho_max drho (min, max and diff. in tabulated rho values, single space separated)
|
||||
Line 9: F(k)(rho_min + 0.drho)
|
||||
Line 10: F(k)(rho_min + 1.drho)
|
||||
Line 11: F(k)(rho_min + 2.drho)
|
||||
...
|
||||
Line 9+N_rho: F(k)(rho_min + N_rho . drho)
|
||||
Line 10+N_rho: blank (ignored) :pre
|
||||
|
||||
Block 2 :pre
|
||||
|
||||
Block 3 :pre
|
||||
|
||||
Block N_LD :pre
|
||||
|
||||
Lines 5 to 9+N_rho constitute the first block. Thus the input file is separated
|
||||
(by blank lines) into N_LD blocks each representing a separate LD potential and
|
||||
each specifying its own upper and lower cutoffs, central and neighbor atoms,
|
||||
and potential. In general, blank lines anywhere are ignored.
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, info]:
|
||||
This pair style does not support automatic mixing. For atom type pairs alpha,
|
||||
beta and alpha != beta, even if LD potentials of type (alpha, alpha) and
|
||||
(beta, beta) are provided, you will need to explicitly provide LD potential
|
||||
types (alpha, beta) and (beta, alpha) if need be (Here, the notation (alpha,
|
||||
beta) means that alpha is the central atom to which the LD potential is applied
|
||||
and beta is the neighbor atom which contributes to the LD potential on alpha).
|
||||
|
||||
This pair style does not support the "pair_modify"_pair_modify.html
|
||||
shift, table, and tail options.
|
||||
|
||||
The local/density pair style does not write its information to "binary restart
|
||||
files"_restart.html, since it is stored in tabulated potential files.
|
||||
Thus, you need to re-specify the pair_style and pair_coeff commands in
|
||||
an input script that reads a restart file.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The local/density pair style is a part of the USER-MISC package. It is only
|
||||
enabled if LAMMPS was built with that package. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
|
||||
:link(Sanyal1)
|
||||
[(Sanyal1)] Sanyal and Shell, Journal of Chemical Physics, 2016, 145 (3), 034109.
|
||||
:link(Sanyal2)
|
||||
[(Sanyal2)] Sanyal and Shell, Journal of Physical Chemistry B, 122 (21), 5678-5693.
|
||||
|
||||
:link(Rosenberger)
|
||||
[(Rosenberger)] Rosenberger, Sanyal, Shell and van der Vegt, Journal of Chemical Physics, 2019, 151 (4), 044111.
|
||||
@ -68,7 +68,7 @@ gamma (distance) :ul
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
Mixing rules are fixed for this style as defined above.
|
||||
Mixing rules are fixed for this style as defined above.
|
||||
|
||||
Shifting the potential energy is not necessary because the switching
|
||||
function ensures that the potential is zero at the cut-off.
|
||||
|
||||
@ -27,8 +27,8 @@ args = list of arguments for these particular styles :ul
|
||||
{oxdna2/stk} args = seq T xi kappa 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
|
||||
seq = seqav (for average sequence stacking strength) or seqdep (for sequence-dependent stacking strength)
|
||||
T = temperature (oxDNA units, 0.1 = 300 K)
|
||||
xi = temperature-independent coefficient in stacking strength
|
||||
kappa = coefficient of linear temperature dependence in stacking strength
|
||||
xi = temperature-independent coefficient in stacking strength
|
||||
kappa = coefficient of linear temperature dependence in stacking strength
|
||||
{oxdna2/hbond} args = seq eps 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
|
||||
seq = seqav (for average sequence base-pairing strength) or seqdep (for sequence-dependent base-pairing strength)
|
||||
eps = 1.0678 (between base pairs A-T and C-G) or 0 (all other pairs)
|
||||
|
||||
@ -50,7 +50,7 @@ the SNAP potential files themselves.
|
||||
Only a single pair_coeff command is used with the {snap} style which
|
||||
specifies a SNAP coefficient file followed by a SNAP parameter file
|
||||
and then N additional arguments specifying the mapping of SNAP
|
||||
elements to LAMMPS atom types, where N is the number of
|
||||
elements to LAMMPS atom types, where N is the number of
|
||||
LAMMPS atom types:
|
||||
|
||||
SNAP coefficient file
|
||||
@ -79,7 +79,7 @@ The name of the SNAP coefficient file usually ends in the
|
||||
".snapcoeff" extension. It may contain coefficients
|
||||
for many SNAP elements. The only requirement is that it
|
||||
contain at least those element names appearing in the
|
||||
LAMMPS mapping list.
|
||||
LAMMPS mapping list.
|
||||
The name of the SNAP parameter file usually ends in the ".snapparam"
|
||||
extension. It contains a small number
|
||||
of parameters that define the overall form of the SNAP potential.
|
||||
|
||||
@ -11,7 +11,7 @@ pair_style spin/dipole/long command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style spin/dipole/cut cutoff
|
||||
pair_style spin/dipole/cut cutoff
|
||||
pair_style spin/dipole/long cutoff :pre
|
||||
|
||||
cutoff = global cutoff for magnetic dipole energy and forces
|
||||
@ -21,7 +21,7 @@ cutoff = global cutoff for magnetic dipole energy and forces
|
||||
[Examples:]
|
||||
|
||||
pair_style spin/dipole/cut 10.0
|
||||
pair_coeff * * 10.0
|
||||
pair_coeff * * 10.0
|
||||
pair_coeff 2 3 8.0 :pre
|
||||
|
||||
pair_style spin/dipole/long 9.0
|
||||
@ -32,24 +32,24 @@ pair_coeff 2 3 1.0 1.0 2.5 4.0 :pre
|
||||
[Description:]
|
||||
|
||||
Style {spin/dipole/cut} computes a short-range dipole-dipole
|
||||
interaction between pairs of magnetic particles that each
|
||||
have a magnetic spin.
|
||||
interaction between pairs of magnetic particles that each
|
||||
have a magnetic spin.
|
||||
The magnetic dipole-dipole interactions are computed by the
|
||||
following formulas for the magnetic energy, magnetic precession
|
||||
following formulas for the magnetic energy, magnetic precession
|
||||
vector omega and mechanical force between particles I and J.
|
||||
|
||||
:c,image(Eqs/pair_spin_dipole.jpg)
|
||||
|
||||
where si and sj are the spin on two magnetic particles,
|
||||
r is their separation distance, and the vector e = (Ri - Rj)/|Ri - Rj|
|
||||
is the direction vector between the two particles.
|
||||
where si and sj are the spin on two magnetic particles,
|
||||
r is their separation distance, and the vector e = (Ri - Rj)/|Ri - Rj|
|
||||
is the direction vector between the two particles.
|
||||
|
||||
Style {spin/dipole/long} computes long-range magnetic dipole-dipole
|
||||
interaction.
|
||||
A "kspace_style"_kspace_style.html must be defined to
|
||||
use this pair style. Currently, "kspace_style
|
||||
use this pair style. Currently, "kspace_style
|
||||
ewald/dipole/spin"_kspace_style.html and "kspace_style
|
||||
pppm/dipole/spin"_kspace_style.html support long-range magnetic
|
||||
pppm/dipole/spin"_kspace_style.html support long-range magnetic
|
||||
dipole-dipole interactions.
|
||||
|
||||
:line
|
||||
@ -68,8 +68,8 @@ to be specified in an input script that reads a restart file.
|
||||
[Restrictions:]
|
||||
|
||||
The {spin/dipole/cut} and {spin/dipole/long} styles are part of
|
||||
the SPIN package. They are only enabled if LAMMPS was built with that
|
||||
package. See the "Build package"_Build_package.html doc page for more
|
||||
the SPIN package. They are only enabled if LAMMPS was built with that
|
||||
package. See the "Build package"_Build_package.html doc page for more
|
||||
info.
|
||||
|
||||
Using dipole/spin pair styles with {electron} "units"_units.html is not
|
||||
|
||||
@ -15,11 +15,11 @@ pair_style spin/dmi cutoff :pre
|
||||
cutoff = global cutoff pair (distance in metal units) :ulb,l
|
||||
|
||||
:ule
|
||||
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style spin/dmi 4.0
|
||||
pair_coeff * * dmi 2.6 0.001 1.0 0.0 0.0
|
||||
pair_coeff * * dmi 2.6 0.001 1.0 0.0 0.0
|
||||
pair_coeff 1 2 dmi 4.0 0.00109 0.0 0.0 1.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -15,7 +15,7 @@ pair_style spin/neel cutoff :pre
|
||||
cutoff = global cutoff pair (distance in metal units) :ulb,l
|
||||
|
||||
:ule
|
||||
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style spin/neel 4.0
|
||||
|
||||
@ -129,6 +129,7 @@ accelerated styles exist.
|
||||
"colloid"_pair_colloid.html - integrated colloidal potential
|
||||
"comb"_pair_comb.html - charge-optimized many-body (COMB) potential
|
||||
"comb3"_pair_comb.html - charge-optimized many-body (COMB3) potential
|
||||
"cosine/squared"_pair_cosine_squared.html - Cooke-Kremer-Deserno membrane model potential
|
||||
"coul/cut"_pair_coul.html - cutoff Coulombic potential
|
||||
"coul/cut/soft"_pair_fep_soft.html - Coulombic potential with a soft core
|
||||
"coul/debye"_pair_coul.html - cutoff Coulombic potential with Debye screening
|
||||
@ -227,6 +228,7 @@ accelerated styles exist.
|
||||
"lj/smooth/linear"_pair_lj_smooth_linear.html - linear smoothed LJ potential
|
||||
"lj/switch3/coulgauss"_pair_lj_switch3_coulgauss - smoothed LJ vdW potential with Gaussian electrostatics
|
||||
"lj96/cut"_pair_lj96.html - Lennard-Jones 9/6 potential
|
||||
"local/density"_pair_local_density.html - generalized basic local density potential
|
||||
"lubricate"_pair_lubricate.html - hydrodynamic lubrication forces
|
||||
"lubricate/poly"_pair_lubricate.html - hydrodynamic lubrication forces with polydispersity
|
||||
"lubricateU"_pair_lubricateU.html - hydrodynamic lubrication forces for Fast Lubrication Dynamics
|
||||
|
||||
@ -24,6 +24,7 @@ Pair Styles :h1
|
||||
pair_class2
|
||||
pair_colloid
|
||||
pair_comb
|
||||
pair_cosine_squared
|
||||
pair_coul
|
||||
pair_coul_diel
|
||||
pair_coul_shield
|
||||
@ -65,6 +66,7 @@ Pair Styles :h1
|
||||
pair_lj_smooth
|
||||
pair_lj_smooth_linear
|
||||
pair_lj_switch3_coulgauss
|
||||
pair_local_density
|
||||
pair_lubricate
|
||||
pair_lubricateU
|
||||
pair_mdf
|
||||
|
||||
@ -14,7 +14,8 @@ replicate nx ny nz {keyword} :pre
|
||||
|
||||
nx,ny,nz = replication factors in each dimension :ulb
|
||||
optional {keyword} = {bbox} :l
|
||||
{bbox} = only check atoms in replicas that overlap with a processor's sub-domain :ule
|
||||
{bbox} = only check atoms in replicas that overlap with a processor's sub-domain :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
@ -45,11 +46,13 @@ file that crosses a periodic boundary should be between two atoms with
|
||||
image flags that differ by 1. This will allow the bond to be
|
||||
unwrapped appropriately.
|
||||
|
||||
The optional keyword {bbox} uses a bounding box to only check atoms
|
||||
in replicas that overlap with a processor's sub-domain when assigning
|
||||
atoms to processors, and thus can result in substantial speedups for
|
||||
calculations using a large number of processors. It does require
|
||||
temporarily using more memory.
|
||||
The optional keyword {bbox} uses a bounding box to only check atoms in
|
||||
replicas that overlap with a processor's sub-domain when assigning
|
||||
atoms to processors. It typically results in a substantial speedup
|
||||
when using the replicate command on a large number of processors. It
|
||||
does require temporary use of more memory, specifically that each
|
||||
processor can store all atoms in the entire system before it is
|
||||
replicated.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
||||
@ -110,7 +110,13 @@ the information from the log.lammps file. E.g. you could produce one
|
||||
dump file with snapshots at 300K (from all replicas), another with
|
||||
snapshots at 310K, etc. Note that these new dump files will not
|
||||
contain "continuous trajectories" for individual atoms, because two
|
||||
successive snapshots (in time) may be from different replicas.
|
||||
successive snapshots (in time) may be from different replicas. The
|
||||
reorder_remd_traj python script can do the reordering for you
|
||||
(and additionally also calculated configurational log-weights of
|
||||
trajectory snapshots in the canonical ensemble). The script can be found
|
||||
in the tools/replica directory while instructions on how to use it is
|
||||
available in doc/Tools (in brief) and as a README file in tools/replica
|
||||
(in detail).
|
||||
|
||||
The last argument {index} in the temper command is optional and is
|
||||
used when restarting a tempering run from a set of restart files (one
|
||||
|
||||